math - 如何在二维空间中找到点的旋转中心
问题描述
我有一个 2d 点,它围绕原点以外的某个旋转中心旋转。
仅给定点的不同位置,如何计算旋转中心?
解决方案
要获得想要的结果,您需要三分。
将它们作为圆周上的点,您可以计算圆心。
D = |x1 y1 1|
|x2 y2 1|
|x3 y3 1|
Dx = |x1^2 + y1^2 y1 1|
|x2^2 + y2^2 y2 1|
|x3^2 + y3^2 y3 1|
Dy = |x1^2 + y1^2 x1 1|
|x2^2 + y2^2 x2 1|
|x3^2 + y3^2 x3 1|
D = x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)
Dx = (x1^2 + y1^2) * (y2 - y3) + (x2^2 + y2^2) * (y3 - y1) + (x3^2 + y3^2) * (y1 - y2)
Dy = (x1^2 + y1^2) * (x2 - x3) + (x2^2 + y2^2) * (x3 - x1) + (x3^2 + y3^2) * (x1 - x2)
中心坐标
Cx = Dx / (2*D)
Cy = - Dy / (2*D)
推荐阅读
- vba - 打开访问表单和参考字段
- python-2.7 - 无法在 python 中剪辑光栅(ETrF.etrf.tif)?
- python-3.x - 调用数据库更新时获取 sqlite3.OperationalError: unrecognized token: ":"
- .net-core - 将项目作为 NuGet 包运送,同时相互依赖
- node.js - 通过nodejs运行java服务器的Linux脚本?
- android - 如何修复textview上的内存泄漏
- javascript - Angular 8 - 单击的按钮仅执行一次 function()
- javascript - 从孩子的状态变化更新平面列表
- laravel - Laravel 5.8 注册重定向
- python - 用于对具有相同标签的兄弟节点进行分组的 X 路径选择器