- •1. Многоугольники. Свойства выпуклых многоугольников. Принадлежность точки многоугольнику.
- •2. Растровый и векторный способы представления изображений. Достоинства и недостатки.
- •4. Краткая характеристика классов .Net Framework реализующих основные графические объекты Windows.
- •5. Методы изображения точек, прямых и ломаных.
- •7. Методы изображения эллипсов, дуг, сегментов и секторов эллипсов.
- •8. Аффинные преобразования. Структура матрицы преобразования однородных координат для физического трёхмерного пространства.
- •9. Основные виды проекций.
- •10. Ортографическая проекция. Основные свойства. Матрица переходов.
- •15. Представление пространственных форм с помощью поверхностного моделирования. Достоинства и недостатки.
- •16. Способы проверки видимости граней и рёбер выпуклого многогранника.
- •17. Удаление невидимых граней линий и граней. Метод трассировки лучей. Идея метода. Достоинства и недостатки.
- •14. Представление пространственных форм с помощью твёрдотельного моделирования. Достоинства и недостатки.
- •18. Удаление невидимых линий и граней. Метод z-буфера. Идея метода. Достоинства и недостатки.
- •19. Цветовые координаты rgb и cmy (cmyk)
- •20.Цветовое разрешение. Представление цвета в системах программирования для Windows.
- •21. Цветовые координаты hsv и hls.
- •22. Свойства цветового графика мко.
- •23. Рассеянный свет. Свойства диффузного и зеркального отражения света. Простая модель освещения.
- •24. Вычисление освещённости. Простая модель освещения. Идея метода. Достоинства и недостатки.
- •25. Вычисление освещённости. Модель Гуро. Идея метода. Достоинства и недостатки.
- •26. Вычисление освещённости. Модель Фонга. Идея метода. Достоинства и недостатки.
- •27. Вычисление освещённости. Обратная трассировка лучей. Идея метода. Достоинства и недостатки.
- •28. Вычисление освещённости. Метод излучательности. Идея метода. Достоинства и недостатки.
- •29. Кусочное представление кривых кубическими сегментами. Идея метода. Достоинства и недостатки.
- •30. Кривые Безье.
- •31. Поверхности Безье.
- •32. Билинейная поверхность
- •33.Линейчатая и бикубическая поверхности Кунса.
20.Цветовое разрешение. Представление цвета в системах программирования для Windows.
В графических режимах видеосистемы ПЭВМ для кодирования цвета каждого пиксела отводится некоторое количество двоичных разрядов. Это число разрядов называют глубиной цвета. При глубине цвета, равной N можно одновременно отобразить 2N цветов. В режиме HighColor глубина цвета составляет 15 или 16 бит, количество цветов – 32768 или 65536, В режиме TrueColor глубина цвета составляет 24 бита, количество цветов – 16 777 216. Такого количества цветов более чем достаточно практически для подавлящего большинства прикладных задач, поскольку оно существенно превосходит число цветов, различаемое среднестатистическим наблюдателем. (Следует заметить, что в некоторых профессиональных системах цветоделения на отдельных этапах используются 36, 48 и даже 64 разрядные цвета [Корриган]). Цвета представляются в модели RGB. В режиме TrueColor под каждый из основных цветов отводится по 8 бит. В режиме HighColor под каждый из основных цветов отводится либо по 5 бит (1 бит не используется), либо по 5 бит на красный и синий и 6 бит на зеленый.
В MS Visual C/C++ для цвета используется тип COLORREF, который на самом деле определен как DWORD (typedef DWORD COLORREF) или, что то же самое unsigned long. Под переменную типа COLORREF отводится 32 бита и RGB цвет представляется следующим образом: xxbbggrr, где rr,gg и bb – байт компонент красного, синего и зеленого цвета соответственно. Байт xx не используется. Для конструирования цвета в модели RGB по значениям компонент основных цветов можно использовать макрос RGB(r,g,b), который определен следующим образом:
#define RGB(r,g,b)
((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16))).
Пример конструирования цвета:
BYTE green = 128;
BYTE red = 255;
BYTE blue = 50;
COLORREF myColor = RGB(red,green,blue);
Цвета CMYK представляются тоже с помощью COLORREF в следующем виде: ccmmyykk. Для конструирования цвета CMYK и получения его компонент предусмотрены макросы, аналогичные приведенным выше.
Некоторые графические библиотеки, например, OpenGL позволяют задавать степень прозрачности (transparency) поверхностей. В этом случае цвет задается не тройкой, а четверкой координат (RGB), где (альфа-канал) – число (обычно в диапазоне от 0 до 1) определяющее степень видимости поверхностей, находящихся за данной. В OpenGL значению 1 соответствует полная непрозрачность, а значению 0 –полная прозрачность (невидимость) поверхности (в других системах может быть по-другому). Для хранения дискретизированного значения обычно используется свободный байт в 32-битном представлении 24-разрядного RGB цвета , например, bbggrr. Расчет итогового RGB-изображения с учетом значения каждого пиксела называется альфа-смешением (alpha blending) и выполняется либо программно средствами графической библиотеки, либо аппаратно средствами графического ускорителя. Существуют различные формулы для расчета альфа-смешения. Некоторые из них приведены в [Попов].
Альфа-смешение позволяет повысить реалистичность создаваемых изображений, используется при наложении текстур, устранении лестничного эффекта, создании эффектов тумана, полупрозрачности, отражения и т.д.
