找到圆柱体的正交向量

时间:2012-02-10 00:48:12

标签: math

给定圆柱体的r和h,h的两个端点是A(x1,y1,z1)和B(x2,y2,z2)。那么h将是圆柱体的三个正交向量中的一个,那么如何找到另外两个正交向量?

1 个答案:

答案 0 :(得分:0)

嗯,圆柱轴向量是U = B - A =(x2-x1,y2-y1,z2-z1);除以它的大小,你得到一个向量u = U / | U |单位长度。这很容易。

其他两个正交向量是任意的,并且有许多方法来确定它们。这是一个简单的方法:

  1. 选择一个随机向量r1。
  2. 在u:r2 = r1 - (r1.u)u的方向上计算的r1部分;这个向量与u垂直,因为r2。你= r1。你 - (r1.u)*(u.u)= 0
  3. 如果r2的幅度很小(例如,小于0.1),请返回步骤1.
  4. 计算v = r2 / | r2 |。它具有单位长度并且与u垂直。
  5. 计算w = u x v。它具有单位长度并垂直于u和v。
  6. 一般来说,我认为没有办法确定地避免尝试多个与u垂直的向量。如果你想使用固定坐标变换矩阵M来生成r1 = Mu,那么r1总是有可能在方向上非常靠近u。 (和交换向量的x和y分量,或计算x'= y,y'= -x的线性运算可以写成坐标变换。)