我有一个用扭矩W旋转的固体物体,我想计算施加在距离物体中心D单位的某个点上的力F. 所有这些值都以Vector3格式表示(x,y,z)
我知道直到现在W = D x F,其中x是叉积,所以通过展开这个我得到:
Wx = Dy*Fz - Dz*Fy
Wy = Dz*Fx - Dx*Fz
Wz = Dx*Fy - Dy*Fx
Run Code Online (Sandbox Code Playgroud)
所以我有这个等式,我需要找到(Fx,Fy,Fz),我正在考虑使用Simplex方法来解决它.由于F向量也可以有负值,我将每个F变量分成2(F = GH),因此新方程如下所示:
Wx = Dy*Gz - Dy*Hz - Dz*Gy + Dz*Hy
Wy = Dz*Gx - Dz*Hx - Dx*Gz + Dx*Hz
Wz = Dx*Gy - Dx*Hy - Dy*Gx + Dy*Hx
Run Code Online (Sandbox Code Playgroud)
接下来,我定义了单纯形表(我们需要<=不等式,所以我复制每个方程并将其乘以-1.另外,我将目标函数定义为:最小化(Gx - Hx + Gy - Hy + Gz - Hz).
该表如下所示:
Gx Hx Gy Hy Gz Hz <= RHS
============================================================
0 0 -Dz Dz Dy -Dy <= …Run Code Online (Sandbox Code Playgroud)