На Горох
Информатика, 8 класс

§ 13. Кодирование рисунков: другие методы

"Информатика", Поляков К.Ю., Еремин Е.А.

Объяснение темы В оглавлении: § 13. Кодирование рисунков: другие методы

Кратко о теме

Рисунок в компьютере можно хранить не только как набор цветных пикселей. Векторное кодирование описывает его геометрическими объектами, а фрактальное — правилами, по которым изображение можно построить. Поэтому схемы и логотипы часто удобно задавать примитивами, а повторяющиеся структуры — правилами. Выбор способа зависит от того, как устроено изображение: его деталей, цветов и контуров. Понимание этих методов помогает выбирать подходящий формат и объясняет, почему одни картинки сохраняют чёткость при увеличении, а другие нет.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Векторное кодирование — представление рисунка как набора геометрических объектов. Вместо цвета каждого пикселя сохраняются описания объектов и их свойства. Такой способ нужен, когда изображение можно собрать из отдельных фигур и контуров: например, при создании схемы или логотипа.

Графический примитив — простейший объект рисунка, например отрезок, окружность или прямоугольник. Чтобы построить примитив, задают его тип и параметры: координаты, размеры, а иногда цвет и толщину линии. Примитивы нужны как строительные элементы, из которых составляют более сложное изображение.

Фрактал — объект, части которого в некоторой степени повторяют форму целого. Это сходство может сохраняться на разных масштабах, хотя части не всегда совершенно одинаковы. Понятие помогает описывать рисунки, где похожие структуры повторяются снова и снова.

Фрактальное кодирование — представление изображения с помощью правил и параметров, описывающих его структуру. Вместо перечисления каждого элемента задают способ построения рисунка. При восстановлении компьютер применяет это описание и получает изображение.

Как это устроено

Растровое кодирование сохраняет значения пикселей: положение каждого элемента сетки и его цвет. Другие методы могут хранить не отдельные точки, а описание объектов или правила построения изображения. Это различие важно, потому что способ хранения определяет, какие сведения нужно записать: для растра — цвета пикселей, для вектора — типы фигур и параметры, для фрактального подхода — правила и структуру повторений.

При векторном кодировании рисунок собирают из примитивов. Для отрезка записывают координаты двух концов, а для окружности — координаты центра и радиус; прямоугольнику нужны координаты и размеры. Программа получает тип объекта и его параметры, поэтому может построить каждую фигуру в нужном месте. Сочетая много таких описаний, получают целый рисунок, а его свойства можно задавать для отдельных объектов.

Векторное изображение можно увеличивать без заметных квадратных пикселей, потому что в нём хранятся параметры объектов, а не только готовая пиксельная сетка. При смене масштаба программа заново вычисляет положение и размер фигур и строит их контуры. Поэтому линии остаются чёткими. Однако увеличение меняет размер изображения, а не добавляет ему новые детали, которых не было в описании.

Фрактальный подход полезен, когда в рисунке есть повторяющиеся структуры. Если похожие элементы встречаются на разных масштабах, их можно описать небольшим набором правил вместо отдельного перечисления каждого элемента. Программа применяет правила при построении рисунка, поэтому сложное изображение иногда задаётся кратким описанием. Это не означает, что любой повторяющийся узор автоматически является фракталом: значение имеет описание структуры правилом.

Выбор способа зависит от того, какие особенности нужно сохранить. В схемах и чертежах важны линии и геометрические формы, поэтому их удобно составлять из примитивов. Фотография, напротив, содержит множество деталей, оттенков и плавных переходов; описать всё это небольшим числом геометрических фигур обычно нельзя. Для фотографии практичнее хранить цвета большого количества пикселей.

Сравнение способов кодирования рисунков

ХарактеристикаРастровый методВекторный методФрактальный метод
Что хранитсяЗначения цветов пикселейОписания примитивов и их параметрыПравила и параметры структуры изображения
Как задаётся изображениеСеткой пикселейНабором геометрических объектовПравилом построения, в том числе повторяющихся частей
Как влияет увеличение масштабаПиксели могут стать заметнымиОбъекты строятся заново, контуры обычно остаются чёткимиИзображение строится по заданным правилам
Для каких изображений подходитФотографии и изображения с множеством оттенковСхемы, чертежи, логотипыИзображения с повторяющимися структурами
От чего зависит объём данныхОт числа пикселей и сведений об их цветеОт числа объектов и сложности их параметровОт количества и сложности правил и параметров

Сначала определите, какие сведения нужны для изображения: цвета точек, параметры фигур или правила структуры. Затем сопоставьте их с подходящим столбцом таблицы. Это поможет выбрать метод, но не означает, что один способ всегда лучше остальных.

Разбор задач

Задача 1. Нужно закодировать рисунок из трёх отрезков. Какие данные следует сохранить при векторном описании? Сначала выясним, какие сведения позволяют программе построить каждый отрезок. Поскольку отрезки могут иметь разное положение, нельзя ограничиться только их количеством.

  1. Определяем, что рисунок состоит из трёх примитивов одного типа — отрезков.
  2. Для каждого отрезка записываем координаты его первого и второго конца. Именно они задают положение и длину отрезка.
  3. Если у линий различаются цвет или толщина, добавляем эти свойства для соответствующих объектов. Если они одинаковые, можно указать общие значения.

Ответ: нужно сохранить описание трёх отрезков и координаты концов каждого; при необходимости также записать их цвет и толщину.

Задача 2. Логотип состоит из окружности, прямоугольника и нескольких линий. Почему его удобно хранить в векторном виде? Проверим, из каких частей он составлен и что произойдёт при изменении размера. Логотип построен из геометрических фигур, для которых можно указать точные параметры.

  1. Представляем окружность, прямоугольник и линии отдельными примитивами.
  2. Для окружности задаём центр и радиус, для прямоугольника — положение и размеры, для линий — координаты концов.
  3. При увеличении программа строит объекты заново по параметрам, поэтому контуры сохраняют чёткость. Такой способ удобен и для изменения отдельных фигур логотипа.

Ответ: логотип удобно хранить векторно, потому что он состоит из геометрических примитивов, которые можно описать параметрами и чётко построить при другом масштабе.

Задача 3. Для фотографии и чертежа требуется выбрать способ кодирования. Обоснуем выбор, сравнив, какие детали важны в каждом изображении. Один и тот же способ не обязан одинаково хорошо подходить обоим объектам.

  1. В фотографии много мелких деталей, цветов и плавных переходов между оттенками. Поэтому для неё обычно выбирают растровый метод, который сохраняет цвета пикселей.
  2. В чертеже важны линии, размеры и геометрические формы. Его удобно описывать векторно — набором примитивов и их параметров.
  3. Проверяем, соответствует ли выбор устройству каждого изображения: фотография передаёт цветовые подробности, а чертёж состоит преимущественно из контуров и фигур.

Ответ: фотографию обычно кодируют растровым способом, а чертёж — векторным, поскольку в нём преобладают геометрические объекты.

Типичные ошибки

Ошибка — считать, что векторное изображение хранит цвет каждого пикселя. Так думают, потому что на экране любое изображение в итоге отображается из пикселей. Проверьте себя: если в описании перечислены объекты и их параметры, это векторный способ; если записаны цвета точек сетки — растровый.

Нельзя считать, что любое изображение удастся без потерь описать небольшим набором примитивов. Геометрические фигуры хорошо подходят для простых контуров, но в реалистичном изображении слишком много мелких деталей и оттенков. Перед выбором метода спросите себя, можно ли действительно собрать картинку из небольшого числа объектов.

Увеличение векторного рисунка не добавляет новых деталей. Чёткость сохраняется потому, что программа заново строит объекты по заданным параметрам, а не потому, что изображение стало подробнее. Чтобы проверить себя, различайте качество контуров и количество сведений об изображённом объекте.

Повторяющийся узор сам по себе ещё не означает фрактальное кодирование. Ошибка возникает, когда сходство элементов принимают за способ их хранения. Проверьте, задан ли узор правилом построения структуры или в описании просто перечислены похожие объекты: именно правило отличает фрактальный подход.

Связь с другими темами

Для понимания растрового способа нужны знания о пикселях, их координатах и кодировании цвета. Описание примитивов связано с геометрическими построениями и координатами: без них нельзя задать положение и размер фигур. Эти способы пригодятся при изучении графических редакторов, форматов файлов и обработки изображений. Понимание принципов кодирования помогает объяснить, почему разные картинки сохраняют и масштабируют по-разному.

Что запомнить

  • Растровый метод хранит сведения о пикселях изображения.
  • Векторный метод задаёт рисунок набором геометрических примитивов.
  • Параметры примитива определяют его положение, размер и другие свойства.
  • Векторные рисунки обычно хорошо масштабируются без потери чёткости контуров.
  • Фрактальное описание использует правила построения и повторяющиеся структуры.
  • Способ кодирования выбирают с учётом характера изображения.

Частые вопросы по теме

Чем векторное кодирование отличается от растрового?

Растровое кодирование хранит цвет каждого пикселя. Векторное хранит описания геометрических объектов и их параметры. Поэтому при векторном изображении программа строит рисунок из объектов, а не считывает готовую сетку пикселей.

Какие данные нужны, чтобы задать графический примитив?

Нужно указать тип объекта и параметры, необходимые для его построения. Например, отрезок задают координатами двух концов, а окружность — координатами центра и радиусом. Для рисунка также могут задаваться цвет и другие свойства объекта.

Почему векторный рисунок не становится размытым при увеличении?

В векторном файле записаны параметры объектов, а не неизменная сетка пикселей. При увеличении программа заново строит объекты в новом масштабе. Контуры остаются чёткими, хотя само изображение не получает дополнительных деталей.

Почему фотографию обычно неудобно описывать набором геометрических фигур?

Фотография содержит множество мелких деталей, оттенков и плавных переходов. Для точного описания пришлось бы перечислить очень много объектов и их свойств. Растровый способ обычно удобнее, потому что непосредственно сохраняет цвет пикселей.

Что означает фрактальное описание изображения?

Это описание рисунка правилами и параметрами, по которым его можно построить. Такой подход может использовать повторяющиеся структуры: части рисунка похожи на целое или друг на друга. При восстановлении программа строит изображение по заданному описанию.

Спросить по теме параграфа

§ 13. Кодирование рисунков: другие методы

Учебник

Оглавление →
Предмет
Информатика
Класс
8 класс
Учебник
"Информатика", Поляков К.Ю., Еремин Е.А.