Приложение

 

Здесь приведен исходный текст основных модулей учебной программы для демонстрации метода трассировки лучей.

В модуле scene поддерживаются структуры данных для описания сцены и функции создания объектов сцены. Каждый объект представляется одной или несколькими плоскими треугольными или четырехугольными гранями. Параметры материала объекта — собственный цвет поверхности и параметры отражения и пропускания света, такие как фоновое рассеяние (ambient), диффузное (diffuse), зеркальное отражение (reflect), зеркальные блики (specular), гладкость (показатель Фонга р) и прозрачность (through).             Описание объектов записывается в три одномерных вектора, поддержи­вающих иерархию: объекты — грани — вершины. Для ускорения трас­сировки в структуры данных также записываются оболочки. Есть два типа оболочек — оболочки объектов и оболочки отдельных граней. Оболочки имеют форму шара.

Файл scene.h:

/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                  

 

 

 

 

 

 

 

Глоссарий

 

Альфа-канал — характеристика прозрачности.

Анимация (animation) — последовательность кадров, которые воспринима­ются как кино.

Антиалиасинг (antialiasing) — устранение ступенчатого эффекта растровых изображений, сглаживание путем задания цветов отдельных угловых пик­селов.

Аффинное преобразование — линейное преобразование, например, преоб­разование координат.

Битовый массив (bitmap)— растр, который сохраняется в памяти или на диске.

Векторизация (vectorization) — преобразование в векторную форму описа­ния из растровой или другой формы.

Векторная графика — создание изображений на основе векторного описа­ния отдельных объектов.

Окно (window) — фрагмент плоскости графического вывода. В операцион­ной системе Windows это фундаментальное понятие, которое ассоцииру­ется с выполняемой программой.

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

            Виртуальная реальность (virtual reality) — понятие, которое означает спо­собность компьютерной системы создать для человека иллюзию действий в некотором пространстве.

 

 

 

                         

Видовое преобразование (view transform) — преобразование координат со­гласно ракурсу показа пространственных объектов.

Воксел (voxelvolume picture element) — элемент объемного растра. Мас­сивы в. используются для моделирования объемных трехмерных объектов.

Вексельный рендеринг — отображение на основе воксельной модели.

•   В.р. прямого хода (forward rendering) — вывод точек в произвольном порядке с использованием Z-буфера.

•   В.р. BTF (back-to-front) — сканирование объема начинается с самых дальних вокселов и заканчивается самыми близкими.

•   В.р. FTB (front-to-back) — сканирование объема начинается с самых близких вокселов и заканчивается самыми дальними вокселами.

Гамма-коррекция — компенсация нелинейности функции яркости для эк­ранов дисплеев телевизионного типа.

Геоинформационная система (ГИС)— компьютерная система, которая хранит в базе данных описание и обеспечивает анализ объектов, которые располагаются на поверхности Земли.

Графический интерфейс пользователя (Graphical User Interface, GUI) — набор графических элементов, которые предусмотрены для пользователей компьютерной системы для выполнения некоторых операций.

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

Дизеринг (dithering) — иллюзия оттенка цвета, созданная смешением близко расположенных точек различных цветов.

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

Интерфейс графического устройства (Graphic Device Interface, GDI) — подсистема операционной системы Windows.

Компьютерная графика — создание изображений с помощью компьютера.

Контекст (context) — указывает место графического вывода. С контекстом ассоциируется поверхность отображения и структура данных, которые описывают основные параметры.

•   К. графического устройства (device context) — фундаментальное поня­тие графики для функций API Windows.

            •   К. отображения (rendering context) — контекст для функций библиоте­ки OpenGL.

 

            Линиатура— количество точек (линий) на единицу длины. Используется

для характеристики растеризации методом дизеринга. Метафайл (metafile) — описание изображения в файле, которое содержит

операторы графики в соответствующей последовательности. Морфинг (morphing) — методы преобразования формы объектов. Муар — видеоэффект, узор, который возникает вследствие взаимодействия растровых структур изображения и растровых элементов устройства ото­бражения.

Операционная система— программа, которая управляет ресурсами компь­ютера и другими программами. Пример о.с. Windows, Unix, MacOS. Палитра (pallete) — набор цветов, важных для определенного изображения. Пиксел (pixelpicture element) — элемент растра. Плоттер (plotter) — векторное устройство для отображения на бумаге.    Полигон (polygon) — многоугольник, фигура, которая ограничивается кон­туром связанных отрезков прямых.

Полилиния (polyline) — ломаная линия связанных отрезков прямых. Принтер (printer) — устройство для печати, преимущественно растрового

типа. Растеризация (rasterization) — создание растрового изображения на основе

векторного (или другого) описания элементов изображения. Растровое изображение — изображение, созданное множеством близко рас­положенных точек различного цвета (пикселов).

Рендеринг (rendering) — процесс отображения информации в графическом виде. Как правило, это относится к созданию изображений трехмерных объектов.

Разрешающая способность растра (resolution) — характеристика растров и растровых устройств. Измеряется в количестве пикселов на единицу дли­ны, например, в дюймах (dpi).

•    Оптическая р. сп. р. — характеризует оптическую систему растровых устройств ввода-вывода.

•   Интерполированная р. сп. р. — выше оптической благодаря интерпо­ляции.

                          Система автоматизированного проектирования, САПР (Computer Aided Design, CAD) — система для проектирования сложных объектов с помощью компьютера. Обычно функционирует в интерактивном режиме и широко использует компьютерную графику.

Сканер (scanner) — устройство для ввода графических изображений в ком­пьютер.

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

Спрайт (sprite) — растровое изображение отдельного объекта рисунка, кото­рое сохраняется в битовом массиве и быстро копируется в нужное место. Спрайты широко используются в анимации.

Тексел (texeltexture element) — элемент растровой текстуры.

Текстура (texture) — стиль закрашивания, который создает иллюзию рель­ефности поверхности объекта. Часто используется в виде растровых об­разцов (битмапов).

Трассировка лучей (raytracing) — методы создания реалистичных изобра­жений, основанные на отслеживании распространения световых лучей.

•    Обпйтная тр. л. — отслеживание световых лучей в обратном порядке, то ecS, начиная от точки наблюдения и далее, к источникам света.

Триангуляция -^ формирование модели поверхности в виде множества свя­занных треугольников.

Фильтрация текстур — способ коррекции, интерполяции изображения при наложении текстуры на поверхность объектов.

Фонга метод — способ закрашивания граней трехмерных объектов, который основывается на интерполяции векторов нормалей в вершинах.

Фракталы (fractals) — объекты сложной формы, которые описываются про­стыми циклами итераций.

Шрифт (font) — набор знаков символов для представления текста в поли­графии, компьютерных системах, причем для этих знаков характерны единство стиля, размеров, одинаковость способов отображения.

•    Растровый шр. — набор растровых изображений символов.

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

             •    TrueType— формат шрифтов для программ операционной системы Windows, является разновидностью векторного шрифта— использует описание формы символов В-сплайнами.

 

AGP (Accelerated Graphics Port) — локальная шина для обмена информацией

между видеоадаптером, процессором и оперативной памятью.

API (Application Program Interface) — интерфейс для разработки прикладных

программ.

BMP — растровый графический формат файлов, который широко использу­ется программами в операционной среде Windows. Изображение сохраня­ется в форме битового массива.

CMYK (Cyan Magenta Yellow blac) — субтрактивная цветовая модель.

 DirectX — подсистема Windows для графического вывода. Direct3D — программный интерфейс API, разработанный в Microsoft для

трехмерной графики в Windows.

 dpi (dots per inch) — количество точек на дюйм длины. Единица измерения

разрешающей способности растра.

DXF — векторный графический формат файлов. Разработан Autodesk.

 EMF (Enhanced MetaFile) — векторный графический формат для программ в

среде Windows.

FIF (Fractal Image Format) — формат файлов для изображений, которые сжа­ты методом фрактального сжатия. fps (frames per second) — количество кадров в секунду. Единица измерения

скорости видеосистемы для мультимедиа

. GIF— растровый графический формат, который широко используется в

Internet. Разработан CompuServe.

GLide — программный интерфейс API, разработанный в 3Dfx Interactive для графических программ, использующих графические видеоадаптеры се­мейства Voodoo.

HTML — формат файлов для документов, в которых присутствуют текст,

графика и другие элементы. Широко используется в Internet.

JPEG (Joint Photographic Experts Group) — стандарт формата файлов для

растровых изображений с эффективным сжатием информации. LZW — метод сжатия информации, который используется, например, в фай­лах формата GIF.

MIP mapping — сохранение нескольких вариантов текстуры для различных ракурсов, масштабов показа, что обеспечивает улучшение вывода тексту-рированных поверхностей.

 

 

 

MPEG (Moving Pictures Expert Group) — стандарт для цифрового кодирова­ния компьютерных видеофильмов.

OpenGL (Open Graphic Library)— библиотека графических функций, ин­терфейс для графических прикладных программ. Разработана Silicon Graphics.

PCX — популярный растровый графический формат. Разработан ZSoft.

PDF (Portable Document Format) — формат файлов электронных документов. Файл может включать текст, графику (растровую и векторную) и прочие данные. Разработан Adobe.

RAM (Random Access Memory) — оперативная память компьютера.

•   VRAM (Video RAM) — видеопамять, кадровый буфер в видеоадап­терах.

RGB (Red Green Blue) — аддитивная цветовая модель, согласно которой цвет кодируется тремя компонентами — красным, зеленым и синим.

RGBA (Red Green Blue Alpha) — компоненты описания цвета и прозрачности для элементов изображения.

RLE (Run Length Encoding) — метод сжатия информации. Используется, на­пример, в файлах PCX.

TIFF (Tag Image File Format)— растровый графический формат, который используется для обмена графическими данными.

VRML (Virtual Reality Modeling Language) — компьютерный язык описания трехмерных объектов и сцен. Используется в Internet.

Wavelet transform — метод преобразования, который можно использовать для эффективного сжатия изображений. Внедряется AT&T.

Windows— операционная система для компьютеров. Использует графиче­ский интерфейс пользователя. Часто применяется в персональных компь­ютерах типа IBM PC. Разработана Microsoft.

WMF (Windows MetaFile) — векторный графический формат для программ в среде Windows.

XYZ — название цветовой модели, принятой Международной Комиссией по Освещению.

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