计算多边形内角顶点至外切圆周边缘的距离
解决方案:计算内角外切圆到顶点的额外间距
核心三角函数推导
已知多边形内角角度为θ(弧度/角度制均可,计算时统一单位),外切圆半径为r:
- 外切圆的圆心必然在内角的角平分线上——因为圆心到角的两条边距离相等(均等于半径r)。
- 从圆心向角的任意一条边作垂线(长度为r),连接顶点与圆心,形成直角三角形:
- 直角边:圆半径r
- 对应锐角:内角的一半,即θ/2
- 斜边:顶点到圆心的距离d
- 根据三角函数关系
sin(θ/2) = r / d,变形得顶点到圆心的距离:d = r / sin(θ/2) - 你需要的「除半径外的额外间距」(即顶点到圆边缘的直线距离)为:
额外间距 = d - r = r * (1 / sin(θ/2) - 1)
验证与注意事项
- 若内角为钝角(θ>90°),
sin(θ/2)大于sin(45°),额外间距会更小,符合直观逻辑(钝角空间更开阔,圆可更贴近顶点)。 - 计算时注意单位统一:用角度制需切换三角函数的角度模式,或先将θ转换为弧度(弧度 = 角度 × π/180)。
- 顶点坐标可用于验证角平分线方向,确保圆心沿角平分线向外偏移d的位置——只要内角空间足够,此位置就是满足「尽可能贴近内角且圆与两边外切」的最优解,不会与当前角的两条边相交。
内容的提问来源于stack exchange,提问作者Brendan Sadaka
相关产品推荐
相关产品推荐

