用于控制坦克式车辆运动的公式?
有人知道用于控制简单的坦克式车辆运动的公式吗?
要"转向"它,我们需要改变施加在左右"车轮"上的力。例如。两个车轮上都有1个单位的力使其前进。两个车轮上的-1单位力使其向后移动。向一个车轮施加比另一个车轮更大的力,然后车轮转动。
我们如何计算两个轮子使油箱任一方向旋转一定角度所需的力?
还是我以错误的方式思考这个问题?
编辑:
正如威廉·凯勒(William Keller)提到的那样,我错过了坦克的速度。假设两个车轮上有1个单位的力使油箱以每秒1个单位的速度向前移动。
对于任何有兴趣的人,我都在gamedev.net上找到了这个线程:
http://66.102.9.104/search?q=cache:wSn5t58ACJwJ:www.gamedev.net/community/forums/topic.asp%3Ftopic_id%3D407491+tank+track+radius+velocity&hl=zh-CN&ct=clnk&cd=1&gl=za&client=火狐
另一个线程:
http://www.physicsforums.com/showthread.php?t=220317
事实证明,找到公式的关键是只知道正确的术语("滑移转向"):P
解决方案
好吧,请记住,我们在这里也谈论持续时间。我们需要找出吸收力,以考虑坦克在(1,-1)处转动的速度。
即,坦克是否需要花费一秒钟的时间才能旋转360?在(1,-1),我们想旋转180?一秒钟内(.5,-.5)就能解决问题。如果我们想在半秒内旋转相同的量,则(1,-1)将起作用。
如果我们使用abs(lrate)!= abs(rrate),则所有操作都会更加复杂,在这种情况下,我们可能需要将铅笔折断!
我们正在以错误的方式思考它。问题是,在履带上施加不同的作用力不会使坦克转动一定角度。而是,不同的力会改变转弯速率。
力与转弯率之间的关系将根据水箱的力学原理而变化。坦克越宽,它转得越慢。坦克越快,它转得越快。
P.S.关于此问题还有更多的想法:我认为,如果不以现实世界的坦克为基础,基于物理学的答案是不可能的。几个答案解决了转弯的物理问题,但所有答案中都隐含着系统具有无限大的能力。战车真的可以在-1,-1下运行吗?它能否立即达到该速度-加速度也适用于转弯。
最后,胎面既长又宽。这意味着在任何转弯情况下,胎面都会发生一些侧滑,转弯越快,所需的滑移就越多。即使发动机有动力进行1 -1圈转弯,这也会消耗能量,因为摩擦损失,转弯的速度不会像显示的那样快。
自从我做任何物理化学以来已经有一段时间了,但是我会认为两条沿相反方向移动的轨道的作用力会导致绕着坦克质心的扭矩。
正是这种扭矩导致了油箱的角动量,这只是说油箱开始旋转的另一种方式。
这不是力的问题,它取决于两边之间的速度差以及该差保持的时间(也是油箱的宽度,但这只是一个常数)。
基本上,我们应该按照以下方式进行计算:
- 两侧之间的速度比与半径比相同。
- 储罐的宽度是2 rasius(sp?)之间的实际差。
- 使用这两个数字,找到半径的实际值。
- 将一侧的速度乘以移动的时间即可得出其移动的距离。
- 通过将整个圆的周长除以该圆的周长来计算该圆的哪个部分。
我想你是在以错误的方式思考它。
增大两个胎面之间的速度差不会导致它们的转弯度,而与时间(不同速度下的距离)一起会导致转弯度。
胎面速度的差异越大,获得X转弯所需的时间就越少。
因此,为了提出一个公式,我们必须做一些假设。以固定的速率转弯,然后将时间用作旋转X度的变量,或者将固定的时间量设置为完成转弯的时间,并使用磁道速度差作为变量。
Change in angle (in radians/sec) = (l-r)/(radius between treads) Velocity = l+r
对于dtheta,假设两只手之间有一根木杆,并且我们想计算出旋转的角度,具体取决于我们要用力多大以及手按压的方式:
每秒覆盖极点的表面距离->每秒多少转->弧度/秒(即2pi倍数)
这就是我要解决坦克问题的方法。
坦克的中心可能会以左右轨道的平均速度移动。同时,战车将以([左轨道速度] *-[右轨道速度])/ [宽度]绕其中心顺时针旋转。
这应该给我们速度和方向向量。
免责声明:我尚未对此进行测试...
我们可以这样说:每条轨迹都描述一个圆圈。
如果一条轨道在转弯(左说)而另一条不在,那么面子将取决于左轨道转弯多长时间和转多远。
该距离将是轨道速度x时间。
现在绘制一个具有此距离的三角形,并画出轴距,再加上一些sin和cos方程式及近似值,我们可能会得到一个近似方程式:
面临的变化=履带/轴距的行驶距离
然后,我们可以合并一些加速以使其更逼真:更多物理...
速度不是恒定的,它加速(和减速)。
也就是说,在一段时间内,速度从0增加到0.1 ... 0.2 ... 0.3,直至达到极限。
当然,随着速度的变化,饰面的变化率的变化要比完全恒定的速度(以及饰面的变化率)更加实际。
换句话说,代替控制速度,玩家控制速度的改变。当玩家按下控制器时,这会使速度从0 ... 0.02 ... 0.06 ... 0.1等变化。同样适用于拆除,但可能会更快一些。
希望这可以帮助。
我认为每个人也应该注意一个事实,即战车可以打开零半径的圆:通过在每个轨道上应用相同的速度但在相反的方向上,战车可以打开一角钱。