..回答我自己的评论/问题,可以证明半径必须相等,
这是一个有用的公式:
灰色区域 A 是
A = r^2 ( alpha - Pi + 2/tan(alpha/2) ) /2
但更有用..弧长很简单:
s = 2 ( b - A/r )
从这里可以直接看出三个半径必须彼此相等:
写出绳索长度和封闭面积:
ropelength = trianglelength - 2 Sum[r[i] a[i] ]
ropearea = trianglearea - Sum[r[i]^2 a[i] /2 ]
在哪里
a[i]=( alpha[i] - Pi + 2/tan(alpha[i]/2) )
经过一些操作,最大化面积会导致所有 r[i] 相等。请注意,三个 a[i]、ropelength、trainglearea、trianglelength 都是不需要计算的常量。学究式地将 sub 求解r[l] = f( constants, r[2],r[3] )
到第二个表达式中,并求解
d ropearea /d r[2] = 0
和d /d r[3] = 0
结果:
r =(1/2) (triangle_length - rope_length) /(Sum(1/tan(alpha[i]/2)) - Pi)
(a[i] 的混乱表达式仅在最后一步被替换)最后..
ropearea = trianglearea - (trianglelength-ropelength)^2/(8 Sum[a[i])
= trianglearea - (1/2)(trianglelength-ropelength) r
编辑——一个有用的身份..带有a,b,c,边长。
Sum(1/tan(alpha[i]/2)) = Sqrt( S^3 / ((S-a)(S-b)(S-c)) )
S = 1/2 (a+b+c) ! S is semiperimeter not to be confused with arc length s
然后可以使用上述表达式来重现内切圆的公式,
rinscribed = Sqrt( ((S-a)(S-b)(S-c)) / S )