根据旋转角度计算XY运动?
假设我在 2D 空间中有一个可以旋转的对象,然后应该根据其旋转角度移动。
例如:
如果角度为 0(指向上方),则
on_timer
应该将 Y 移动 1,X 移动 0。如果角度为 45,那么它应该将 Y 移动 1,将 X 移动 1。
如果指向 90 度,则 Y 移动 0,X 移动 1。
如果指向 135度,然后 Y 为 -1,X 为 +1,等等。
你知道有什么函数可以计算这个吗?
Say I have an object in 2D space that can rotate and then should move according to its rotation angle.
For example:
If angle is 0(pointing upwards), then
on_timer
it should move 1 by Y and 0 by X.If angle is 45, then it should move 1 by Y and 1 by X.
If pointing 90 degrees, then 0 by Y and 1 by X.
If pointing 135 degrees, then -1 by Y and +1 by X, etc.
Do you know any functions for calculating this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
嗯,它似乎在不同的角度以不同的速度移动。
对于 0 度(直线向上),它移动了 1,但 45 度则移动了 sqrt(1^2 + 1^2) = 1.41。
我想你想看看《罪与余孽》。
问候 Gert-Jan
well, it seems to move at different speeds for different angles.
For 0 degress (straight up) it moved by 1, but 45 begrees it moved sqrt(1^2 + 1^2) = 1.41.
I think you want to look at Sin and Cos.
Regards Gert-Jan
看看这个:http://msdn.microsoft.com /en-us/library/system.drawing.drawing2d.matrix.aspx(示例位于页面底部)
Check this out: http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix.aspx (examples at the bottom of the page)