У меня есть 8 вершин куба, которые являются просто индексами. Я хочу получить каждую точку вершины точки, где она была бы в нормализованном кубе. На следующей диаграмме предположим, что + x находится вправо, + y вверх и + z выходит из экрана. (вершины 2, 3, 6 и 7 находятся впереди, если это трудно увидеть).Отображение вершины 0-7 в 3D-точки?
(игнорировать краевые индексы)
Вот что у меня есть:
for (int v = 0; v < 8; v++) {
float x, y, z;
if(v < 4) y = -1;
else y = +1;
if(v == 1 || v == 2 || v == 5 || v == 6) x = +1;
else x = -1;
if(v == 2 || v == 3 || v == 6 || v == 7) z = +1;
else z = -1;
}
Есть ли более логичный способ сделать это, не так много логического ОША?
На каком языке вы используете? Добавьте соответствующий тег! –
@ UliKöhler Извините. Я думал, что это не имеет большого значения. –
Это может иметь значение, в зависимости от решения ;-) Быстрый совет: я бы попытался использовать таблицы поиска –