三角形顶点处的切圆
Tangent Circles At Triangle Vertices
我正在努力将此 article 的公式转换为 Python 或与此相关的任何代码,主要是因为我发现很难阅读数学方程式。理想情况下,给定 A、B 和 C 的位置,找出半径 a'、b' 和 c' 用于左侧图像。非常感谢任何帮助。
如果点A
的顶点坐标为(xa, ya)
,点B
的顶点坐标为(xb, yb)
,点C
的顶点坐标为(xc, yc)
,你可以使用
a = math.sqrt((xb - xc)**2 + (yb - yc)**2)
b = math.sqrt((xa - xc)**2 + (ya - yc)**2)
c = math.sqrt((xb - xa)**2 + (yb - ya)**2)
ra = (b + c - a) / 2
rb = (c + a - b) / 2
rc = (a + b - c) / 2
所需的半径在 ra, rb, rc
中。 (我不知道如何将 a'
等翻译成 Python,所以我使用了 ra
等)值 a, b, c
是三角形边的长度。请注意,我从您链接的文章中稍微更改了公式,使它们更加对称并且更符合我的眼睛。
我正在努力将此 article 的公式转换为 Python 或与此相关的任何代码,主要是因为我发现很难阅读数学方程式。理想情况下,给定 A、B 和 C 的位置,找出半径 a'、b' 和 c' 用于左侧图像。非常感谢任何帮助。
如果点A
的顶点坐标为(xa, ya)
,点B
的顶点坐标为(xb, yb)
,点C
的顶点坐标为(xc, yc)
,你可以使用
a = math.sqrt((xb - xc)**2 + (yb - yc)**2)
b = math.sqrt((xa - xc)**2 + (ya - yc)**2)
c = math.sqrt((xb - xa)**2 + (yb - ya)**2)
ra = (b + c - a) / 2
rb = (c + a - b) / 2
rc = (a + b - c) / 2
所需的半径在 ra, rb, rc
中。 (我不知道如何将 a'
等翻译成 Python,所以我使用了 ra
等)值 a, b, c
是三角形边的长度。请注意,我从您链接的文章中稍微更改了公式,使它们更加对称并且更符合我的眼睛。