Преобразование системы координат, 3d проекция на 2d плоскость
У меня есть глобальная система координат (X, Y, Z) и треугольник с точками (A, B, C и центр). Я знаю все координаты этих точек.
Мне нужно переместить глобальную систему координат из (0; 0; 0) в центр треугольника, чтобы все точки: A, B, C и Center имели новые координаты, где Z = 0. После этого мне нужно знать новые координаты из этих точек в связи с новой системой координат. Ориентация новой системы координат не важна.Также, если есть возможность преобразовать 3D-точки (треугольные точки) в 2D-плоскость без потери ее геометрии (размера). Это не должна быть проекция на 2D плоскость.>> A=[10.63307; -7.72528; 21.26636];
B=[4.06139; -12.49988; 21.26636];
C=[-6.57172; -20.22529; 13.14344];
Centr=[-4.38113; -13.48349; 18.55872];
>> V1=(B-A)/(norm(B-A))
V1 =
-0.8090
-0.5878
0
>> V2=((C-A)-(dot((C-A),V1)*V1))/(norm((C-A)-(dot((C-A),V1)*V1)))
V2 =
0.0000
-0.0000
-1.0000
>> V3=cross(V1,V2)
V3 =
0.5878
-0.8090
0.0000
>> M=[V1,V2,V3]
M =
-0.8090 0.0000 0.5878
-0.5878 -0.0000 -0.8090
0 -1.0000 0.0000
>> Anew=inv(M)*(A-Centr)
Anew =
-15.5313
-2.7076
4.1666
>> Bnew=inv(M)*(B-Centr)
Bnew =
-7.4083
-2.7076
4.1666
>> Cnew=inv(M)*(C-Centr)
Cnew =
5.7350
5.4153
4.1666
Вот что я получил:Из этого