【发布时间】:2012-05-25 16:36:33
【问题描述】:
我期待将具有固定轴的矩形旋转为铰链的数学或算法计算。如下图所示。
我有 4 个矩形顶点的位置 (x,y),原点是矩形的中心,因此所需的算法会将我的原始形状的顶点投影到所需的形状顶点中。 (请看下图)
我知道使用 3d 库很容易做到这一点,但我需要使用高级编程语言(如 .Net 或 JAVA 或没有任何 3d 或补充库的其他语言)使用 2d 图形来做到这一点。
请帮助我提供任何想法或参考,或者比所有源代码或算法更好。
提前感谢您的宝贵时间。
【问题讨论】:
-
任何支持旋转的库都可能支持围绕不同轴旋转的概念。所以,你需要更具体。为您的项目选择一个平台,编写一些代码,直到您需要轮换方面的帮助,然后与我们分享您的代码并告诉我们您遇到的确切问题。
-
Thx @mbeckish 但我的问题很笼统,这与编程语言无关,更多的是关于我原来的 4 个顶点到所需形状顶点的几何计算或矩阵投影
-
如果您只是在寻找旋转变换背后的数学运算,而不是特定库的方法调用,请查看 Wikipedia。例如,en.wikipedia.org/wiki/Rotation_matrix
-
检查旋转变换后,它将为您提供 4 个顶点的 3D 坐标,然后检查 3D 投影,它将您的 3D 坐标映射到 2D 平面,因为您正在执行 2D图形:en.wikipedia.org/wiki/3D_projection
-
最后,您可能想要实现视锥体的概念:en.wikipedia.org/wiki/Viewing_frustum。 3D 投影会将 3D 模型中的每个顶点映射到无限的 2D 平面,其中大部分都在屏幕范围之外。视锥定义了 3D 模型的有限区域如何映射到与屏幕对应的 2D 平面区域。
标签: algorithm 3d geometry graphics2d rotation