将XY平面实体转换为任意平面

时间:2013-08-06 22:47:07

标签: algorithm 3d geometry 2d plane

我在XY平面上有一个轮廓实体。我必须沿着矢量进行挤压。所以我必须使轮廓实体垂直于挤出矢量。挤出矢量可以是任意一个(Xi + Yj + Zk)。您能否提供一些关于矢量基础操作的想法,以使剖面垂直于挤压矢量?

更新

...

XY平面中的轮廓

全球向上矢量:(0,0,1)

挤出载体:(Xe,Ye,Ze)

本地权利=挤出向量x全局向上向量=(x1,y1,z1) 局部左=挤压矢量x局部右=(x2,y2,z2)

我假设我必须围绕Local right和Local Left旋转飞机两次。

因此,对于Local right = Atan(Xe.Y / Xe.Z)计算角度,并通过计算出的角度将实体围绕Local旋转。它工作正常

我的问题是如何计算Local Left的角度?

如果我总结一下,我必须做与此相反的事情(Mapping coordinates from plane given by normal vector to XY plane

1 个答案:

答案 0 :(得分:1)

如果你有挤压矢量和一个参考矢量,你可以将它们交叉乘以在3D空间中检索2D平面的右矢量。

我通常使用global up向量作为参考。因此,extrusion向量交叉乘以global up将导致local right向量。您的extrusion向量与新的local right向量之间的另一个交叉乘法将产生local up向量。

获得local rightlocal up向量后,这些向量将成为3D空间中的XY向量。