Algorithm 给定定义四面体的3个顶点中的2个以及它们之间的所有3个角,找到第3个顶点

Algorithm 给定定义四面体的3个顶点中的2个以及它们之间的所有3个角,找到第3个顶点,algorithm,3d,geometry,Algorithm,3d,Geometry,假设四面体的四个顶点中有一个位于原点,另外三个位于向量u、v和w的末端。如果已知向量u和v,并且u和v、v和w之间的角度也是已知的,对于w,似乎存在一个封闭形式的解决方案:两个圆锥体的交点,通过围绕u轴旋转u和w角度的向量,以及围绕v轴旋转v角度形成 虽然我在几天内还没能想出一个封闭形式的解决方案,但我希望这是因为我缺乏3d几何方面的经验,并且有更多经验的人可能会有一个有用的建议。没有足够的数据来计算垂直w位置。但是可以找到单位向量w(如果存在)。只需利用标量积性质,解方程组 (我使用(vx、v

假设四面体的四个顶点中有一个位于原点,另外三个位于向量uvw的末端。如果已知向量uv,并且uvvw之间的角度也是已知的,对于w,似乎存在一个封闭形式的解决方案:两个圆锥体的交点,通过围绕u轴旋转uw角度的向量,以及围绕v轴旋转v角度形成


虽然我在几天内还没能想出一个封闭形式的解决方案,但我希望这是因为我缺乏3d几何方面的经验,并且有更多经验的人可能会有一个有用的建议。

没有足够的数据来计算垂直w位置。但是可以找到单位向量w(如果存在)。只需利用标量积性质,解方程组 (我使用(vx、vy、vz)作为单位(标准化)向量的分量v


这个系统可以给我们:没有解决方案(锥体不重叠);一种解决方案(锥体接触);两种解决方案(两条光线作为圆锥体的曲面相交)

没有足够的数据来计算垂直w位置。但是可以找到单位向量w(如果存在)。只需利用标量积性质,解方程组 (我使用(vx、vy、vz)作为单位(标准化)向量的分量v


这个系统可以给我们:没有解决方案(锥体不重叠);一种解决方案(锥体接触);两种解决方案(两条射线作为圆锥体的曲面相交)

我有同样的问题,发现MBo的答案非常有用。但是我想我们可以多说一点w的值,因为我们可以自由选择坐标系。特别是,如果我们选择x轴在u方向,选择xy平面包含向量v,则MBo的方程组为:

   wx         = cos(uw)
vx*wx + vy*wy = cos(vw)
||w||         = 1
这个坐标系给出

vx = cos(uv), vy = sin(uv)
所以我们马上就知道了

                                                   _____________________
    (           cos(vw) - cos(uv) * cos(uw)    +  /        2              )
w = ( cos(uw), ----------------------------- , - /  1 - cos (uw) - wy*wy  )
    (                     sin(uv)              \/                         )

平方根上的+-给出了两种可能的解决方案,当然,除非
1-cos^2(uw)-wy^2我有同样的问题,并且发现MBo的答案非常有用。但是我想我们可以多说一点w的值,因为我们可以自由选择坐标系。特别是,如果我们选择x轴在u方向,选择xy平面包含向量v,则MBo的方程组为:

   wx         = cos(uw)
vx*wx + vy*wy = cos(vw)
||w||         = 1
这个坐标系给出

vx = cos(uv), vy = sin(uv)
所以我们马上就知道了

                                                   _____________________
    (           cos(vw) - cos(uv) * cos(uw)    +  /        2              )
w = ( cos(uw), ----------------------------- , - /  1 - cos (uw) - wy*wy  )
    (                     sin(uv)              \/                         )

平方根上的+-给出了两种可能的解决方案,当然,除非
1-cos^2(uw)-wy^2,否则这会更好地发布到math.stackexchange.com吗?这会更好地发布到math.stackexchange.com吗?谢谢。在我试图解决的问题中,添加单位向量约束是可以的。谢谢。在我试图解决的问题中,添加单位向量约束是可以的。