Вопросы к 29 - p1xelse/CG GitHub Wiki

В каком пространстве работаем?

В пространстве изображения.

Есть ли единая версия алгоритма Варнока?

Нет, одной единственной нет.

Как вы будете определять какой многоугольник ближайший к наблюдателю?

По координате z.

В чём основная идея алгоритма Варнока?

Предназначен для удаления невидимых рёбер поверхности, но, во первых, он работает в пространстве изображения, и, во вторых, он основан на идее упрощения (пример про стол и вазу: есть стол и на нём стоит ваза. Нет смысла рассматривать области где ничего нет, нужно сконцентрироваться на вазе) мы должны привести алгоритм к простым элементам (разбивать на части, максимум до 1 пикселя т.к работаем в пространстве изображения)

Почему мы стремимся разбить окно на подобные минимального размера? Почему для окна в 1 пиксель мы можем решить задачу, а для больших размеров не выходит?

1 пиксель - есть окно, соответственно можно однозначно определить, как с ним поступить (какое высвечивание задать).

Если пиксель будет не один, может возникнуть ситуация, когда мы не сможем эту группу однозначно определить к какой-либо категории (не понятно, какое высвечивание задавать). Т.е одни могут относиться к одному многоугольнику - другие к другому.

В какой ситуации может возникнуть проблемма НЕ 1 пикселя? (ситуация, когда один пиксель нужно одним цветом, а соседний другим) [связь с предыдущем]

Пример: осталось окно 1 на 2. Два многоугольника могут проткнуть друг друга и расположение по глубине изменится.

Каким цветом нужно изображать (высвечивать) очередной пиксель?

Цветом ближайшего к наблюдателю многоугольника.

Почему минимальный размер окна - 1, а не 2?

Для каждого окна должно быть однозначно ясно, что в нем отображать.
Отображаться должна часть объекта, находящаяся ближе к наблюдателю. Если для одного пикселя мы анализируем точку объекта и изображаем ее, то для второго пикселя может быть уже другая глубина (т.е. другой объект).

Типы расположения многоугольников? Как мы определяем охватывающий многоугольник? Как определяется, если несколько фигур (5 способ)

Про охватывающий

Тест с бесконечной прямой - проводим луч из любой точки окна (например, из угла в бесконечность). считаем число пересечений луча с заданным многоугольником. если число четное (или 0) - внешний, иначе - охватывающий

Либо тест с углами