任意三角形内接最大和最小正三角形-2
标签:
任意三角形内接正三角形计算公式结果比较杂谈 |
上一篇博文中,1.给出的最大内接正三角形公式,漏考虑了一种情形,这里补正,2.没有给出最小内接正三角形公式,这次给出。
下面讨论中,有关符号同前博文,且仍然假定a>=b>=c。
目前试下来,最大内接正三角形有三种情形。
1.最大内接正三角形在三角形的最短边上,如下图所示。

前面讲过,内接正三角形在AB边上的顶点为P1(x1,y1),而AB线的直线方程为:
y=a1*x
过P1、C点的的直线方程为:
y=k1*(x-c)
y1=a1*x1
y1=k1*(x1-c)
得
设此时内接正三角形的边长为d1,则
d1^2=(x1-c)^2+y1^2
内接正三角形的面积为
s1=d1^2*sin(π/3)/2
计算公式如下图所示
2.最大内接正三角形在三角形的中间长边上,如下图所示。

内接正三角形在AB边上的顶点为P1(x1,y1),AB线的直线方程为:
y=a1*x
过点P1与C点的的直线方程为:
y=k2*(x-c)
联立方程
y1=a1*x1
y1=k2*(x1-c)
得 x1=-c*tan(π/3+atan(a2))/(a1-tan(π/3+atan(a2))
设此时内接正三角形的边长为d2,则
d2^2=(x1-c)^2+y1^2
内接正三角形的面积为
s2=d2^2*sin(π/3)/2
3.最大内接正三角形在三角形的最长边上,如下图所示。

内接正三角形在BC边上的顶点为P2(x2,y2),BC线的直线方程为:
y=a2*x+b2
过点P2与A点的的直线方程为:
y=k3*x
联立方程
y2=a2*x2+b2
y2=k3*x2
得 x2=b2/(-tan(π/3-atan(a1))-a2)
设此时内接正三角形的边长为d3,则
d3^2=x2^2+y2^2
内接正三角形的面积为
s3=d3^2*sin(π/3)/2
计算公式如下图所示
1.当角A>=60°时,选s3计算公式。
2.当角A<60°
3.当角A<60° 且 角C外角>60°时,选s1计算公式。
或者简单的
smax=middle(s1,s2,s3)
那是不是还有遗漏呢,目前看来,应该没有了。
最小内接正三角形
前面说过,最小内接正三角形是个凸优化问题,那就有可能通过求极值来求解
设
f1=(x1-x2)^2+(y1-y2)^2
f2=(x1-x3)^2+(y1-y3)^2
f3=(x2-x3)^2+(y2-y3)^2
由f2=f3,可以求出
x3 =1/2*(x1^2-a2^2*x2^2+a1^2*x1^2-x2^2-2*a2*x2*b2-b2^2)/(x1-x2)
然后,将x3代入f1、f2,再使f1=f2,可以求出
x1 =[ (b2-i*x2+a2*x2)/(a1-i) ,
舍弃不合理的第1、2、4个根,则
x1= -(a2*x2-3^(1/2)*x2+b2)/(a1+3^(1/2))
则 y1=a1*x1
而 y2=a2*x2+b2
设 ds=(x1-x2)^2+(y1-y2)^2
对ds求导,即求d(ds)/d(x2),并使(ds)'=0,求得
x2 =-1/2*b2*(-a1+2*a2+2*a1^2*a2-a1^2*3^(1/2)+2*a1*a2*3^(1/2))/(a1^2-a1*a2+a2^2+a1^2*a2^2-a1^2*a2*3^(1/2)+a1*a2^2*3^(1/2))
由x1、y1、x2、y2可以求得smin
![]()
当任意三角形是个正三角形时
smin =1/16*a^2*3^(1/2)
最后,我们来看看专业人士是怎么玩的,从网上搜罗一些文章,做一下确认比较。
文一如下图,里面有两套公式计算内接正三角形的最大边,对应于与不同情形。
文二如下图,里面有计算内接最小正三角形的面积公式。

试了三组数据,分别是
a=9,b=8,c=2时;



结论,用高等数学的方法来处理这一问题,也有点价值,一是结果是正确的,二是不存在遗漏的情形,三是通过总结也可得出计算公式,用初等数学来处理,在最大内接正三角形问题上容易有遗漏。

加载中…