Пример 7

Проекция куба на плоскость

В скрипте Graphics_Проекция_куба.txt пример построения проекции куба на плоскость X,Y. Рёбра куба расположим по осям координат X,Y,Z. В начале координат расположим одну вершину куба. Длину ребра примем равной 1. Координаты всех вершин: (0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1) будем хранить в массиве A[8,3]float.

Зададим произвольно вектор направления проекции: array S[3]float = (0.15, 0.3, 1)

Скриптовая функция Function Proection(_R) решает задачу нахождения проекции точки в трёхмерном пространстве (массив _R, состоящий из 3-х элементов) на плоскость X,Y в направлении вектора S. Для школьника, знакомого со стереометрией эта задача не должна быть сложной.

Чтобы построить проекции рёбер куба организуем двойной цикл, чтобы перебрать все пары вершин.
Однако не все пары вершин образуют ребро куба, а только те, у которых совпадают две координаты из трёх. После того, как находим пару вершин, образующих ребро, переносим трёхмерные координаты вершин в массивы R1 и R2 и вычисляем координаты их проекций на плоскость X,Y (массивы P1 и P2).
Далее на плоскости X,Y чертим отрезок, соединяющий точки P1 и P2.
Так выглядит итоговая картинка работы скрипта.

проекция куба

Если у вас вызывает интерес четырёхмерное пространство, в скрипте Graphics_Проекция_4D_куба.txt вы найдёте пример построения проекции четырёхмерного куба.

проекция 4D куба