gpt4 book ai didi

给定 3 个点找到圆弧、圆心、半径和角度的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:23:22 29 4
gpt4 key购买 nike

给定 3 点 A、B 和 C

enter image description here

如何找到从 A 开始,到 C 结束并经过 B 的弧; r 和 r' 的中心坐标、半径和角度?

enter image description here

最佳答案

圆心与给定的三个点等距:

(X-Xa)^2+(Y-Ya)^2 = (X-Xb)^2+(Y-Yb)^2 = (X-Xc)^2+(Y-Yc)^2

用第二个和第三个成员减去第一个成员,重组后我们得到:

2(Xa-Xb) X + 2(Ya-Yb) Y + Xb^2+Yb^2-Xa^2-Ya^2 = 0
2(Xa-Xc) X + 2(Ya-Yc) Y + Xc^2+Yc^2-Xa^2-Ya^2 = 0

这个包含两个未知数的两个方程的线性系统很容易用 Cramer 规则求解。

可以使用围绕中心的笛卡尔到极坐标变换找到半径和角度:

R= Sqrt((Xa-X)^2+(Ya-Y)^2)

Ta= atan2(Ya-Y, Xa-X)
Tc= atan2(Yc-Y, Xc-X)

但是您仍然错过了一件事:弧的相关部分是什么?小于或大于半圈?从 TaTb 或从 Tb2 PiTa + 2 Pi , 或者是什么 ?答案远没有看起来那么明显,试试吧(因为TaTbTc 三个角度是不确定的2 Pi 并且你无法对它们进行排序)!

提示:考虑三角形 ABC 的面积符号,恰好是系统行列式的一半。它会告诉您 B 位于 AC 的左侧还是右侧。

关于给定 3 个点找到圆弧、圆心、半径和角度的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22791951/

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