我正在尝试将一些 x 和 y 速度值缩放到 -MAX 和 MAX 之间并保持它们的比例。这些数字可以是负数、零或正数。这被用来对 x 和 y 速度实施速度限制。这是我所拥有的:
if(abs(velocities.x) <= MAX_TRANSLATIONAL_VELOCITY && abs(velocities.y) <= MAX_TRANSLATIONAL_VELOCITY)
return;
float higher = max(abs(velocities.x), abs(velocities.y));
velocities.x = (velocities.x / higher) * MAX_TRANSLATIONAL_VELOCITY;
velocities.y = (velocities.y / higher) * MAX_TRANSLATIONAL_VELOCITY;
这并没有真正起作用,而且我正在应用它的机器人有点令人眼花缭乱。有没有标准的方法来做到这一点?
谢谢。