- •1.Двумерные алгоритмы. Преобразование координат: сдвиг, поворот.
- •2.Двумерные алгоритмы. Окна и Области вывода. Отсечение линий (общее представление, простой алгоритм). Автоматический подбор размеров и позиций.
- •3.Двумерные алгоритмы Понятие о рекурсии. Понятие о фракталах. Сглаживание кривых.
- •4.Векторы. Скалярное и векторное произведения векторов.
- •5.Однородные координаты.
- •6.Перенос и повороты в трехмерном пространстве.
- •7.Видовое преобразование
- •8.Перспективное преобразование
- •9.Алгоритм определения невидимых линий.
- •10.Удаление невидимых линий и поверхностей. Алгоритмы плавающего горизонта и Робертса.
- •11.Алгоритм Варнока.
- •12.Алгоритмы построения криволинейных поверхностей.
- •13. Типы графических устройств: графические дисплеи на запоминающей трубке, векторные графические дисплеи с регенерацией изображения, растровые графические дисплеи с регенерацией изображения.
- •14. Устройство электронно-лучевой трубки, устройство цветной растровой элт.
- •16.Алгоритм брезенхема для генерации окружности
- •17.Заполнение многоугольников
- •19. Построение реалистических изображений. Простая модель освещенности. Определение нормали к поверхности. Определение вектора отражения.
- •20. Построение реалистических изображений. Закраска методами Гуро и Фонга.
- •22.Тени.
22.Тени.
Тени состоят из двух частей: полутени и полной тени. Полная тень – это центральная, тёмная, резко очерченная часть, полутень – окружающая её более светлая часть. Распределённые источники света конечного размера создают как тень, так и полутень; в полной тени свет вообще отсутствует, а полутень освещается частью распределённого источника. Для того чтобы построить тени, нужно по существу дважды удалить невидимые поверхности: для положения каждого источника и для положения наблюдателя или точки наблюдения, т.е. это двухшаговый процесс. Рассмотрим сцену на рисунке. Один источник находится в бесконечности сверху: спереди, слева от параллелепипеда. Точка наблюдения лежит спереди: сверху справа от объекта. В данном случае тени образуются двояко: это собственная тень или проекционная. Собственная тень получается тогда, когда сам объект препятствует попаданию света на некоторые его грани, например на правую грань параллелепипеда. При этом алгоритм построения теней аналогичен алгоритму удаления невидимых граней: грани, затенённые собственной тенью, являются нелицевыми, если точку наблюдения совместить с источником света.
Если один объект препятствует попаданию света на другой, то получается проекционная тень, например тень на горизонтальной плоскости на рисунке слева. Чтобы найти такие тени нужно построить проекции всех нелицевых граней на сцену. Центр проектирования находится в источнике света. Точки пересечения проецируемой грани со всеми другими плоскостями образуют многоугольники, которые со помечаются как теневые многоугольники и заносятся в структуру данных.Для того чтобы не вносить слишком много многоугольников можно проецировать контур каждого объекта, а не отдельные грани.
После добавления теней к структуре данных, как обычно, строится вид сцены из заданной точки наблюдения.