gpt4 book ai didi

java - 旋转偏移坐标

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:37 24 4
gpt4 key购买 nike

我有一部分 map 可以旋转,旋转坐标后我将它们偏移,因此左上角坐标为(0,0)。这工作正常,我可以通过执行相同的旋转偏移组合向 map 添加额外的叠加层。

rotate(x) -> offset1

问题是如果我尝试执行第二次旋转,即

rotate(x) -> offset1 -> rotate(y) -> offset2

是否可以将两个旋转和偏移组合成一个旋转偏移组合并获得相同的结果?

rotate(x+y) -> offset3

其中offset3 = offset1 + offset2

这样我就可以在正确的位置添加叠加层,无论有多少次旋转/偏移。我想存储旋转和偏移的单个值,并且没有堆栈以前的操作。

除了在执行新操作之前完全删除以前的旋转/偏移之外,即“不”

 -offset1 -> rotate(-x) - > rotate(y) -> offset2

谢谢本

最佳答案

你想要transformation matrices 。使用此矩阵对 2D vector (x,y) 应用 (tx,ty) 的平移:

translation

这个矩阵按 theta 旋转:

enter image description here

只需将矩阵相乘即可​​组合多个平移和旋转。 (顺序很重要。)

关于java - 旋转偏移坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7981226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com