Yaroslav Asked:2022-08-21 22:05:24 +0000 UTC2022-08-21 22:05:24 +0000 UTC 2022-08-21 22:05:24 +0000 UTC 相对于第二个向量的旋转 772 private Vector2 GetRotationVector (Vector2 target, Vector2 axis) { var tRad = Atan2(target.y, target.x); var aRad = Atan2(axis.y, axis.x); var rad = tRad+aRad; return new Vector2(Cos(rad), Sin(rad))*target.GetDistance(); } 它可以更容易吗? математика векторы 1 个回答 Voted Best Answer Stanislav Volodarskiy 2022-08-21T22:42:45Z2022-08-21T22:42:45Z 这是如何收紧target给定角度的方法axis: private Vector2 GetRotationVector (Vector2 target, Vector2 axis) { axis /= axis.GetDistance(); // Normalize return new Vector2(target.x * axis.x - target.y * axis.y, target.x * axis.y + target.y * axis.x); } 如果你知道复数,那么当两个数相乘时,它们的参数相加,模数相乘。首先我们得到一个具有单位模数的数字,然后乘以它target。结果,它将target转向所需的角度,但不会改变其模块。 如果您不知道复数,请查看角度和的三角公式。
这是如何收紧
target给定角度的方法axis:如果你知道复数,那么当两个数相乘时,它们的参数相加,模数相乘。首先我们得到一个具有单位模数的数字,然后乘以它
target。结果,它将target转向所需的角度,但不会改变其模块。如果您不知道复数,请查看角度和的三角公式。