我有一个关于 3D 的小问题。
以下是我的问题的一个例子。
我有两点:
答:12 4 5 B:6 8 -10
我还有一点:C:5 6 7
我需要变换(?)点 C,使角度 ABC 为 48 度。
我该怎么做呢?如果有人可以帮助我使用公式,或者甚至可以将上述示例变为可行的示例,我将不胜感激。
换一种说法:如何变换 Cx、Cy 和 Cz 使角 ABC 为 48 度?
我真的很感激这方面的一些帮助,因为我现在被困住了。
旁注:我已经实现了一种寻找角度的方法:
float Angle( float x1, float y1, float z1,
float x2, float y2, float z2 )
{
float x, y, z;
CrossProduct( x1, y1, z1, x2, y2, z2, &x, &y, &z );
float result = atan2 ( L2Norm( x, y, z ),
DotProduct( x1, y1, z1, x2, y2, z2 ) );
return result;
}
你使用它:角度(Bx - Ax,By - Ay,Bz - Az,Cx - Bx,Cy - By,Cz - Bz);