Векторные и растровые шрифты




Очевидно, чтобы иметь возможность вывода текста, система программирования должна поддерживать работу не менее чем с одним шрифтом. Шрифт представляет собой набор символов, используемых для отображения текстовой информации. С точки зрения «потребителя», шрифты различаются начертанием символов. Программисту важен еще и способ хранения информации о форме символов. При работе с графикой используются два вида шрифтов, различающихся своим внутренним форматом - растровые и векторные.

Растровый (матричный) символ задается с помощью матрицы элементов изображения этого символа. Матрица имеет размер 8х8 пикселей. Одним из недостатков растрового метода представления изображений является трудность пропорционального изменения размеров изображения. В сущности, единственный способ увеличить изображение, это увеличить сами пиксели:

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

Векторный шрифт задается набором векторов, которые указывают графической системе, как рисовать символ. Общеизвестны технологии True Type (Microsoft, Apple Computer) и PostScript (Adobe System). Разница между растровыми и векторными шрифтами становится очевидной при отображении символов увеличенного размера:

Vector Font

Vector Font

Фрактальная графика

Фрактальная графика, как и векторная - вычисляемая, но отличается от нее тем, что никакие объекты в памяти компьютера не хранятся. Изображение строится по уравнению (или по системе уравнений), поэтому ничего, кроме формулы, хранить не нужно. На практике фрактальные изображения строятся рекурсивно.

Одним из примеров фрактального объекта является треугольник Серпинского. Он представляет собой прямоугольный равнобедренный треугольник. Каждая из его сторон разделена на два равных отрезка. Средние точки соединены отрезками прямых. Рассмотрим три «угловых» треугольника, подобных данному. С этими треугольниками повторяются те же операции. Очевидно, что треугольники последующих поколений наследуют свойства своих родительских структур. Так рождается фрактальная фигура.

Треугольник Серпинского     Структура ветки самоподобна:      

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

Усложняясь, фрактальная форма может потерять свою изначальную геометричность, стать аморфной, «природной»:

     

На сегодняшний день фрактальные объекты очень популярны среди разработчиков графического ПО и игр. Если с играми все ясно (большая реалистичность природных «творений», вроде деревьев, гор, ландшафта, текстур и т.д.), то про графические пакеты стоит рассказать поподробнее.

Вообще, понятие фрактальной графики вошло в обиход достаточно недавно (в середине 80-х годов). Одним из наиболее перспективных направлений в этой области являются алгоритмы фрактального сжатия. Как уже говорилось, очень сложная (на вид) фигура задается сравнительно небольшим набором коэффициентов. Фактически, фрактальное сжатие ‑ это поиск самоподобных областей в изображении и определение для них коэффициентов. Т.е. алгоритм разбивает изображение на участки и ищет среди них подобные. Если таких подобных участков нет, то картинка разбивается на более мелкие и все повторяется. Попытки создать эффективный алгоритм фрактальной компрессии начались после публикации Collage Theorem, в которой говорится о возможности сжатия любого изображения до размеров точки. Однако сегодня фрактальные алгоритмы хоть и позволяют сжимать изображение в сотни раз сильнее алгоритма JPEG, но являются крайне ресурсоемкими и требуют вмешательства человека в свою работу. Пока что обойти эту проблему эффективно не удается, те алгоритмы, которые не требуют участия человека, сжимают изображение не лучше, чем JPEG, а ресурсов требуют гораздо больше.


[1] Наноме́тр (нм, nm) — единица измерения длины в метрической системе, равная одной миллиардной части метра (т. е. 10−9 метра). Устаревшее название — миллимикрон (10−3 микрона; обозначения: ммк, mμ)

Это одна из наиболее часто используемых единиц измерения малых длин, равная 10 ангстремам — общепризнанной единице измерения, не входящей в систему СИ. Она часто ассоциируется с областью нанотехнологий и с длиной волны видимого света.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: