三角形顶点处的切圆

Tangent Circles At Triangle Vertices

我正在努力将此 article 的公式转换为 Python 或与此相关的任何代码,主要是因为我发现很难阅读数学方程式。理想情况下,给定 ABC 的位置,找出半径 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 是三角形边的长度。请注意,我从您链接的文章中稍微更改了公式,使它们更加对称并且更符合我的眼睛。