21. Алгоритм художника
Предназначен для изображения произвольных поверхностей и выводит на экран все ячейки целиком по мере их приближения к наблюдателю. Проекции ближних граней могут частично или полностью наложиться на ранее построенные проекции дальних граней подобно тому, как художник наносит на холст один мазок поверх ранее нанесенного мазка, тем самым скрывая последний от зрителя.
Метод основан на вычислении удаленности (глубины) di центров ячеек ci (в разных вариантах алгоритма используются и другие опорные точки ячеек) от наблюдателя, сортировке и выводе ячеек в порядке уменьшения элементов вектора d. При наблюдателе, находящемся в конечной точке S, глубина точки ci равна расстоянию
di = | ci - S |,
а в вычислительном аспекте более эффективно использовать квадрат расстояния как скалярное произведение:
di2 = (ci - S) ◦ (ci - S).
В случае наблюдателя, бесконечно удаленного в направлении вектора S, расстояния от него до всех точек также бесконечны. Впрочем, для сортировки можно использовать и относительные глубины, отсчитываемые вдоль любой оси d, противоположной направлению вектора S. Запишем проекцию точки ci на вектор S:
Увеличение значения ti означает приближение точки ci к наблюдателю. Следовательно, в качестве эквивалента глубины, который должен уменьшаться с ростом ti, можно принять легко вычислимое скалярное произведение
di = -ci ◦ S.
Алгоритм художника отличается высоким быстродействием, но, к сожалению, имеет серьезный недостаток: ячейки каркаса должны быть примерно одинакового и достаточно малого размера по сравнению с габаритами поверхности. При определенном ракурсе разновеликие ячейки могут быть выведены на экран в неверном порядке.
Общим недостатком алгоритма Робертса и алгоритма художника, которые выводят грани целиком, является невозможность правильного изображения двух пересекающихся ячеек, каждая из которых видна лишь частично.
- 3. История развития комп графики
- 7, Системы координат
- 8. Устройства ввода
- Диалоговые
- Полуавтоматически (дигитайзер,
- 12. Системы кодирования цвета.
- 13. Устройства вывода
- 16. Алгоритм вывода окружности
- 17. Удаление невидимых линий и поверхностей
- Алгоритм Для каждого окна:
- 18. Показ с удалением невидимых точек. Классификация методов
- 19. Метод z-буфера
- 20. Алгоритмы построчного сканирования
- 2. Интервальный алгоритм построчного сканирования.
- 21. Алгоритм художника
- 22. Flat – закраска
- 23. Метод Гуро
- Метод Фонга
- 25. Построение поверхностей
- 27. Отсечение нелицевых граней
- 29. Параметрические уравнения линий.
- 30 . Кривые Безье
- 31. Форматы файлов растровой графики.
- 32. Аддитивная цветовая модель rgb
- 33. Субтрактивная цветовая модель cmy
- 34. Аффинные преобразования координат на плоскости:
- 35. Проекции
- Параллельные проекции Перпендикулярное проецирование на картинную плоскость Косоугольное проецирование на картинную плоскость
- 36. Аналитическая модель поверхности
- 37. Векторная полигональная модель
- 38. Воксельная модель
- 39. Равномерная сетка
- 40. Неравномерная сетка. Изолинии
- 41. Визуализация трехмерных изображений Проецирование трехмерных объектов на картинную плоскость
- Уровни визуализации
- Каркасная визуализация
- 42 . Расчет нормали к объекту