首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从扭矩和距离求出力

问从扭矩和距离求出力
EN

Stack Overflow用户
提问于 2014-10-05 06:31:22
回答 2查看 2K关注 0票数 1

我有一个旋转的固体物体,扭矩为W,我想要计算出在离物体中心点D单位的某个点上施加的力F。所有这些值都用Vector3格式表示(x,y,z)。

直到现在我知道W=D,其中x是交叉积,所以通过展开,我得到:

代码语言:javascript
复制
Wx = Dy*Fz - Dz*Fy
Wy = Dz*Fx - Dx*Fz
Wz = Dx*Fy - Dy*Fx

所以我有这个方程,我需要找到(Fx,Fy,Fz),我正在考虑用单纯形方法来解决它。由于F向量也可以有负值,所以我将每个F变量除以2 (F =G),因此新的方程如下所示:

代码语言:javascript
复制
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

接下来,我定义了单纯形表(我们需要<=不等式,所以我重复每个方程并乘以-1 )。同时,将目标函数定义为:最小化(Gx + Gy - Hy + Gz - Hz).

这张桌子是这样的:

代码语言:javascript
复制
    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

问题是,当我通过一个在线求解器运行它时,我得到了无限解。有人能告诉我我做错了什么吗?

提前谢谢。

编辑:我肯定我在某个地方搞砸了一些符号(例如Z应该被定义为max),但我确信我在定义更重要的东西时是错的。

EN

回答 2

Stack Overflow用户

发布于 2014-10-09 04:33:21

快速肮脏的推导..。

给定D和F,你得到与它们垂直的W。交叉产品就是这么做的。

但是你有W和D,需要找到F,这是一个糟糕的假设,但假设F垂直于D,称为Fp,因为它不一定与F忽略数量级相同,WxD应该给出Fp的方向。

这忽略了幅度,所以用一个小的算术来修正它。从应用于Fp的W=DxF开始:

mag(W) = mag( D) *mag( Fp ) (忽略几何;使用Fp到D)

mag(Fp) = mag(W)/mag(D)

把方向的交叉乘积位和这个量级的东西结合起来,

Fp = WxD / mag(WxD) * mag(Fp)

Fp = WxD /mag(W) /mag(D) *mag(W) /mag(D) = WxD / mag(D)^2。

请注意,给定W=DxF的任意解Fp,您可以添加任何与D成比例的向量到Fp,以获得另一个解F。这是一个完全自由的参数,可以随意选择。

还请注意,如果扭矩适用于某种轴或物体,约束在某个轴上旋转,而F被施加于某个奇怪的角度伸出的球杆上,那么矢量D点在某个奇怪的方向上。你想用垂直于轴/轴的部分代替D,否则"/mag(D)“部分就错了。

票数 3
EN

Stack Overflow用户

发布于 2014-10-05 09:00:40

因此,从你的评论中可以清楚地看到,所有的旋转都是围绕重心旋转的。

  • 在这种情况下
  • F=M/r
  • F力N
  • M扭矩N/m
  • 旋转中心m之间的r标量距离
  • 这样你就可以知道你的原力的标量大小
  • 现在你需要方向
  • 它垂直于旋转轴。
  • 这是那个点上旋转的切线
  • dir=r x轴
  • F =F* dir /dirx
  • 螺栓是矢量,休息是标量。
  • X是交叉积
  • dir是力方向
  • 轴是旋转轴方向
  • 现在只需根据旋转方向改变方向(实际欧米茄信号)。
  • 也取决于您的坐标系设置。
  • 所以以太否定了F
  • 但这是在三维自由旋转非常不可能的情况下
  • 从质量的角度来看,物体必须是对称的
  • 或最初的驱动力是以某种方式实现的。
  • 也要注意,在第一次与任何互动力量击中,这将不会是真的!
  • 所以,如果你只想计算力,它会在某一点上产生,如果碰撞发生的话,这很好
  • 但在这之后,你的旋转就会改变
  • 对于不对称的物体,旋转很可能偏离重心!
  • 如果您的对象将被分解,那么您不需要担心。
  • 如果没有,那么你必须运用旋转和运动动力学。

旋转动力学

  • M=alpha*I
  • M扭矩N/m
  • alpha角加速度
  • 实际旋转轴I二次质量惯性kg.m^2
  • epislon''=omega'=alpha
  • '的意思是按时间推导
  • omega角速度
  • epsilon角
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26200213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档