chyanog 发表于 2013-6-19 17:14:35

两道关于三角形的题

1.一个三角形的内心到顶点的距离分别是3,4,5 。求该三角形的面积
2.锐角三角形ABC中,已知cos(A)=cos(a)*sin(b),cos(B)=cos(b)*sin(c),cos(C)=cos(c)*sin(a),求tan(a)*tan(b)*tan(c)的值

wayne 发表于 2013-6-19 20:16:13

我来尝尝鲜
第一题: 设内心为I,
1) 根据勾股定理:
IA*sin(A/2) =IB*sin(B/2) =IC*sin(C/2) = r =60 k
2) 根据正弦定理:
{AB}/{sin({A+B}/2)} ={IA}/{sin(B/2)}={IB}/{sin(A/2)}={IA+IB}/{sin(A/2)+sin(B/2)}
也即是:{IA*cos(A/2)+IB*cos(B/2)}/{cos(C/2)} ={IA*IB}/r
同理:{IB*cos(B/2)+IC*cos(C/2)}/{cos(A/2)} ={IB*IC}/r
{IC*cos(C/2)+IA*cos(A/2)}/{cos(B/2)} ={IC*IA}/r

wayne 发表于 2013-6-20 15:18:59

有点盘根错节,我偷了一个懒,设三个角的一半的余弦分别为x,y,z.
用Mathematica算,结果竟然是 六次方程的根:RootReduce@Reduce[{s==(60k)(3x+4y+5z),x^2+(60k)^2/9==1,3x+ 4y==z/(5k),4 y+5 z==x/(3k),3 x+5 z==y/(4k)&&s>0&&k>0},{x,y,z,r},Reals]s=Root= 19.887771343860909719

chyanog 发表于 2013-6-20 18:51:16

根据三角形内角和等于Pi列方程求内切圆半径r, 然后6个直角三角形的面积加起来,结果一样
Solve + ArcSin + ArcSin == Pi/2, r, Algebraics]
(Sqrt + Sqrt + Sqrt)* r /. % // RootReduce

wayne 发表于 2013-6-20 19:25:12

第二题:{x, y, z} = {Cos Sin, Cos Sin, Cos Sin};
{m, n} = {Cos Cos Cos, Sin Sin Sin};
TrigReduce
TrigReduce需要再找一个x,y,z自身之间的关系,三角形里面应该有恒等式

chyanog 发表于 2013-6-23 18:23:37

4# chyanog
通过这个方程看得出,Mathematica中的符号是分“阶级”的,比较下面代码的运行时间,不知道这算不算bug:Solve + ArcSin + ArcSin == Pi/2, r, Cubics -> False] // Timing
(*fast*)
Solve + ArcSin + ArcSin == Pi/2, r,Cubics -> False] // Timing
(*very slow*)

数学星空 发表于 2013-6-30 20:00:59

对于(1)
相当于求解(设三角形ABC内心为I,IA=x,IB=y,IC=z,三角形三边长为a,b,c)

bc(b+c-a)=(a+b+c)x^2

ca(c+a-b)=(a+b+c)y^2

ab(a+b-c)=(a+b+c)z^2

上面关于变量a,b,c的代数方程
   
\(x^2a^8+(-3x^2y^2-2x^2z^2+y^2z^2)a^6+(3x^2y^4+4x^2y^2z^2+x^2z^4-3y^4z^2-2y^2z^4)a^4+(-x^2y^6-2x^2y^4z^2-x^2y^2z^4+3y^6z^2+y^2z^6)a^2-y^8z^2+2y^6z^4-y^4z^6=0\)

\(y^2b^8+(-3x^2y^2+x^2z^2-2y^2z^2)b^6+(3x^4y^2-3x^4z^2+4x^2y^2z^2-2x^2z^4+y^2z^4)b^4+(-x^6y^2+3x^6z^2-2x^4y^2z^2-x^2y^2z^4+x^2z^6)b^2-x^8z^2+2z^4x^6-x^4z^6=0\)

\(z^2c^8+(x^2y^2-2x^2z^2-3y^2z^2)c^6+(-2x^4y^2+x^4z^2-3x^2y^4+4x^2y^2z^2+3y^4z^2)c^4+(x^6y^2-x^4y^2z^2+3x^2y^6-2x^2y^4z^2-y^6z^2)c^2-y^8x^2+2x^4y^6-x^6y^4=0\)

面积S=sqrt(p(p-a)(p-b)(p-c)),p=(a+b+c)/2


对于(2)

a=b=c=pi/4, A=B=C=pi/3, tan(a)*tan(b)*tan(c)=1

chyanog 发表于 2013-7-10 18:31:53

第二题用特殊值法比较简单,不用的话Mathematica也能算,其实也可以用数形结合,Eliminate[{cosA == Cos Sin, cosB == Cos Sin, cosC == Cos Sin,
   res == Tan Tan Tan} /. (f : (Sin | Cos | Tan)) ->f@ArcCos@x, {a, b, c}]

Reduce[{cosA^2 res +cosA cosB cosC (1 + res^2) == (1 - cosB^2 - cosC^2) res /.
   Thread[{cosA, cosB, cosC} -> Cos@{A, B, C}], A + B + C == Pi,
0 < A < Pi/2, 0 < B < Pi/2, 0 < C < Pi/2}, res, {A, B, C}, Reals]Out:

cosA^2 res + cosA cosB cosC (1 + res^2) == (1 - cosB^2 - cosC^2) res

res == 1

zhouguang 发表于 2013-10-24 15:33:54

chyanog 发表于 2013-6-23 18:23
4# chyanog
通过这个方程看得出,Mathematica中的符号是分“阶级”的,比较下面代码的运行时间,不知道 ...

感觉上是因为变量r和常量的排序导致的。变量r排在abc之后,而在xyz之前,使得Solve认为这是完全不同性质的式子,如果把第03行中的r变量变成zz,速度就快了。

zeus 发表于 2013-10-24 19:29:44

第一问答案是 Sqrt(Root)
页: [1] 2
查看完整版本: 两道关于三角形的题