Есть каркасная модель, отображающаяся на дисплее в кабинетной проекции. У нее нужно убрать невидимые линии и грани. Я подумал, что для этого подошел бы метод z-буфера, но как реализовать его в такой ситуации, немного не понимаю. Нам нужно найти уравнение плоскости для каждой грани и вычислить z для каждой ее точки.
Уравнение плоскости, проходящей через 3 точки можно найти как
det { {x-x1, x2-x1, x3-x1}, {y-y1, y2-y1, y3-y1}, {z-z1, z2-z1, z3-z1} }.
Какие значения нужно подставлять в качестве x[1..3], y[1..3], чтобы получить корректные результаты ? Очевидно, что не соответствующие координаты трехмерных точек модели, и не координаты спроецированных точек (иначе какие откуда брать значения z для них).
Можно ли адаптировать метод z-буфера к кабинетному проецированию или существуют ли другие достаточно простые методы отсечения невидимых граней и ребер?
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Проекции карт (2024)
- Форум gnuplot. Проекция Мольвейде. (2011)
- Форум Вселенная — голографическая проекция (2014)
- Форум mkdir -Z (2016)
- Форум z-index (2015)
- Форум Архиватор *.z (2000)
- Форум сферическая проекция звёздного неба (2013)
- Форум linux.org.ru/[a-z]+ == [a-z]+.linux.org.ru (2012)
- Форум буферы (2004)
- Форум [openGL] не получается перспективная проекция (2011)