我有一个小矩形,中心有一个点。我还有另一个点,就在矩形之外,当矩形垂直坐着而不是旋转时,矩形中心点左边10个像素。当矩形围绕其中心旋转时,我将如何将此外点保持在相对于矩形的相同位置?
感谢
答案 0 :(得分:1)
在矩形的中心点开始“点”,然后将其翻译到您想要的位置,然后从那里旋转。
答案 1 :(得分:1)
以下是如何在XNA中围绕另一个点旋转一个点的示例:
public Vector2 RotatePoint(Vector2 pointToRotate, Vector2 centerOfRotation, float angleOfRotation)
{
Matrix rotationMatrix = Matrix.CreateRotationZ(angleOfRotation);
return Vector2.Transform(pointToRotate - centerOfRotation, rotationMatrix);
}