【发布时间】:2013-08-31 17:54:54
【问题描述】:
假设我有 2 个坐标系,如图所示
如何对齐这个坐标系?我知道我需要用 180 度平移 X 周围的第二个坐标系,然后将其转换到第一个坐标系的 (0, 0) ,但是这样做会得到错误的结果。将非常感谢任何详细的答案。
编辑:实际上第二个坐标系的 (0, 0) 与第一个坐标系的 Y 位于同一点。
【问题讨论】:
-
在这种情况下,您真的只是移动 Y 的原点并翻转 Y 坐标吗?您应该能够乘以适当的平移矩阵和 Y 为 -1 的比例矩阵。旋转 180 度也会反转您的 X 坐标,并且根据图表判断,您只希望 Y 反转。或者,您可以旋转然后将 X 翻转回去;没有参考点可以显示您在两个图表中的起源是如何真正相关的。
-
@Andon M. Coleman 我需要将第二个坐标系的(0,0)“放置”到第一个坐标系的(0,0),并围绕 X 旋转 Y,所以结果只有第一个坐标系(以便第二个坐标系中的任何点都与第一个坐标系相同)。
-
请注意,旋转无法解决此问题。实际上,这里有两个问题。您的 Y 坐标系正在改变方向,但 X (应该是)保持不变。如果旋转 180 度,则 (-Y,X) 处的点将在屏幕外。您需要使用 (-Y,-X)。
标签: c++ qt opengl transformation