从扭矩和距离中找出力

war*_*olf 1 physics distance

我有一个用扭矩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   <=    Wx          = Gx
    0        0       Dz     -Dz     -Dy    Dy   <=    -Wx         = Hx

    Dz      -Dz      0      0       Dx    -Dx   <=    Wy          = Gy
   -Dz       Dz      0      0       -Dx    Dx   <=    -Wy         = Hy

   -Dy       Dy      Dx    -Dx      0      0    <=    Wz          = Gz
    Dy      -Dy     -Dx     Dx      0      0    <=    -Wz         = Hz
    ============================================================
    1        -1      1      -1      1     -1            0         = Z
Run Code Online (Sandbox Code Playgroud)

问题是,当我通过在线求解器运行它时,我得到无界解决方案.任何人都可以请我指出我做错了什么?

提前致谢.

编辑:我确定我搞砸了某些地方的某些标志(比如Z应该被定义为最大值),但是我确定在定义更重要的东西时我错了.

Hri*_*iev 5

提出的问题没有独特的解决方案.你只能解决力的切向投影.这来自矢量(交叉)乘积的性质 - 对于共线矢量它是零,特别是对于矢量本身的矢量积.因此,如果FW = r × F的解,那么F' = F + k r也是任何k的解:

r x F' = r x(F + k r)= r × F + k(r × r)= r × F

由于矢量积的定义,r x r项为零.因此,没有单一的解决方案,而是作为解决方案的矢量的整个线性空间.

如果将解决方案限制为在r方向上具有零投影的力,那么您可以简单地采用Wr的向量积:

w ^ X - [R =([R X ˚F)X - [R = - [ - [R X(- [R X ˚F)] = - [([R.˚F) - [R - (- [R. - [R)˚F ] = | r | 2

因为Fr的投影为零(点表示标量(内部)乘积),因此第一项扩展为零.因此:

F =(W x r)/ | r | 2

如果你还给出了F的大小,即| F |,那么你可以计算径向分量(如果有的话),但仍有两种可能的解决方案,径向分量在相反的方向上.