algorithm - 寻找一组点的旋转中心

标签 algorithm geometry rotation transformation

<分区>

如果我有一组任意点,然后将同一组点旋转了一定程度,有没有人知道任何算法来计算/估计旋转中心的位置?或者需要这些算法的研究领域? 我找不到任何相关信息。

谢谢

最佳答案

假设您有一点 (x, y),移动到 (x', y')。

则旋转中心必须位于与(x,y)-(x',y')垂直且与中心(x,y)-(x',y')相交的线上。

现在取另一个点 (x2, y2),它移动到 (x'2, y'2)。这也导致旋转中心必须位于一条线上。

现在取这两条线并计算交点。那里有旋转中心。


更新:如果你没有哪个点去哪里的对应关系,应该不难弄清楚。这是我脑海中的一个建议:找到“之前”点的质心。根据点与该点的距离对点进行排序。现在对“之后”点做同样的事情。两组的顺序现在应该匹配。 ( 旋转前离质心最近的点,应该是旋转 后离质心最近的点。)

关于algorithm - 寻找一组点的旋转中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4100338/

相关文章:

java - 用贪心算法给图着色

math - 如何在矩形的周长中找到与给定点最近的点?

javascript - 调整大小后如何计算旋转元素的中心

javascript - 在 Threejs 中使用顶点着色器旋转几何体

java - 筛选大于 int 的 Eratosthenes

c++ - 这一步背后的直觉?

java - 使用分而治之的反转计数

algorithm - 包含一组点的多边形

javascript - JQuery 旋转列表

javascript - 您可以使用 jQuery 为当前的 css 值添加旋转吗?