【发布时间】:2021-05-27 17:20:01
【问题描述】:
我需要计算形状的下一个位置(X 和 Y),但不知道如何计算。我尝试了不同的解决方案,但总是出现问题。也许有人可以帮助我,我需要一个如何计算的提示,为了更好地理解,我将添加屏幕截图。
说明:我在背景中有地图的图像。我在图像上画了形状。之后,我需要将背景旋转 N 度(N 可以从 0 到 360)并重新计算形状 (X, Y) 的新位置
我有的参数:
- 形状 X 和 Y 的起始位置
- N 度值
- 形状的宽度和高度
另外,我还有背景的宽度和高度(如果需要的话)。
-
起始位置
-
将背景旋转 90 度
-
将背景旋转 90 度。手动更改形状 X 和 Y 的位置可能会出错
我需要一些算法来计算形状的新位置,感谢您的帮助。
【问题讨论】:
-
对象的旋转与背景的旋转相同。你如何旋转它?总是围绕它的中心?
-
@MOehm 是的,背景一直围绕中心旋转,对象的旋转始终等于背景旋转以保存相对于地图图像的位置
-
所以如果你表达你的对象相对于背景中心的坐标,你就有了旋转,不是吗?
-
@MOehm 我有旋转值,但需要为形状计算新的 X 和 Y。例如,您可以看到形状 X = 350 和 Y = 125(第一个屏幕)的起始位置以及形状 X = 412 和 Y = 200(最后一个屏幕)的预期位置。我想我错过了解释细节,但形状不随背景旋转,我需要计算新位置。同样在第二个屏幕中,您可以看到旋转后发生的 wath。
标签: javascript algorithm geometry rotation image-rotation