Создайте плоский заштрихованный куб, используя треугольную полосу

Я не совсем уверен в том, как треугольные полосы работают с нормалями. Я хочу сделать плоский заштрихованный куб, поэтому я написал вершины для треугольной полосы, которая образует куб. Это работает. Я сделал куб, используя треугольную полосу. Дело в том, что нормали каждой вершины я задаю как противоположное направление центра куба. Так что затенение вообще странное. Я хочу, чтобы каждая сторона была однотонной. Любая идея, как я могу установить нормали для достижения этого?


person Jehanlos    schedule 21.08.2012    source источник


Ответы (1)


Итак, у вас есть нормали, указывающие из центра куба по окружности?

 \_/
-|_|-
 / \

Вот как это выглядит?

Цель примерно такая?

  L
-| |-
  T

Если это так, вы можете просто проверить, какие нормали ваши нормали также закрываются, а затем изменить их на ближайшие нормали.

distance = sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z2)^2)
person Alexander    schedule 06.12.2012
comment
Спасибо! Я не уверен, что хочу делать sqrt так много раз; но вроде сработает. Я думаю, что сложность заключалась в том, что, поскольку это была треугольная полоса, грани куба должны были иметь общие вершины; поэтому мне пришлось сделать нормали для вершин наружу такими. - person Jehanlos; 07.12.2012
comment
Если вы не хотите использовать sqrt, вы можете просто вычислить расстояние без него. Это не будет фактическое расстояние, но его будет достаточно для сравнения того, какие векторы находятся ближе всего друг к другу. - person Alexander; 10.12.2012