围绕旋转点放置对象
Placing Object Around a Rotating point
我有两个对象,object1
和object2
。object1
围绕其中心旋转,object2
将围绕其中心定位。问题是让object2
的定位正确;这不是100%准确的。
angle = atan2(
cEnemy->position.y - (float) position.y,
cEnemy->position.x - (float) position.x) / 3.14159265f * 180);
position.x
和position.y
代表object1
的位置
这是object1
用来旋转的角度。现在我被困在如何去定位object2
。
我假设我需要首先得到object1
的中心点,它等于:
object2.x = (position.x + widthOfObject1 / 2);
object2.y = (position.y + heightOfObject1 / 2);
但是我只是不确定object1
将面临的角度,以及如何使用它来正确定位object2
。我很确定我必须在这里使用sin
或cos
,但我不确定。我的想法是定位object2
,这样不管它在什么角度,object2
也将在object1
前面有一个小的边缘。
任何帮助将不胜感激!
似乎你想做的是object2与位置 p 保持固定距离D并且你想围绕p旋转 a
所以沿着 a 的单位向量是[ cos(A) , sin(A) ]
所以沿着 a 的矢量,大小为D是[ D cos(A) , D sin(A) ]
所以对象2的位置应该是
object2.x = object1.x + D * cos(A)
object2.y = object1.y + D * sin(A)
相关文章:
- 形状对象的旋转和缩放不正确C++
- 如何在OpenGL中正确旋转和缩放对象?
- 当表示为对象的一维向量时,有效地旋转 NxM 矩阵 (C++)
- 如何围绕对象旋转相机?
- 如何在 opengl 中仅旋转特定对象而不影响其他对象?
- 将四元数旋转的游戏对象旋转另一个四元数时出现问题
- 鼠标单击 OpenGL 时无法围绕其自己的中心旋转对象
- 无法在D2D1中旋转对象
- 如何使用OpenCV从图像中检测旋转对象
- OpenCV 检测多个旋转的缩放对象
- OpenGL c++ 中的旋转子对象
- 无法从非原点的其他位置旋转对象
- 在Qt5的OpenGL绘图中通过鼠标移动计算对象旋转角度
- 围绕另一个对象旋转对象
- 矩阵乘法 opengl 围绕对象旋转
- 对象旋转/平移后重新计算AABB正确
- 围绕另一个对象旋转的物体不断加速
- 在 C++/OpenGL 中围绕另一个对象旋转投影一个对象
- 如何在OpenGL中将对象旋转一定程度?有内置的命令吗?或者我必须使用公式吗
- 如何在其他部件旋转时阻止对象旋转