找回密码
 欢迎注册
楼主: mathematica

[提问] 求三角形ABC的面积(有点难)

[复制链接]
发表于 2023-8-8 08:22:21 | 显示全部楼层
本帖最后由 TSC999 于 2023-8-8 08:24 编辑

楼主在 2# 楼的笛卡尔坐标系解析法,也可使用复数平面的解析法,即引用复数斜率的一套理论:
  1. Clear["Global`*"];
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 11 x;
  3. \!\(\*OverscriptBox[\(e\), \(_\)]\) = e = 5 x; d = y + y I; \!\(\*OverscriptBox[\(d\), \(_\)]\) = y - y I; a = z + z I;
  4. \!\(\*OverscriptBox[\(a\), \(_\)]\) = z - z I;
  5. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  6. Simplify@Solve[{(*EA^2=(CD^2):*)(a - e) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\)) == (d - c) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)),(*AE\[UpTee]CD:*)
  7.     k[a, e] == -k[c, d],(*\[EmptyUpTriangle]BDE面积=30:*) 1/2*e*y == 30,(*过滤条件:*)x > 0, y > 0, z > 0}, {x, y, z}]
复制代码

运行结果为:
{{x->2,y->6,z->16}}

点评

nyy
你的代码太丑了,丑到我看不下去了。啥时候能把OverscriptBox这类问题解决了,就不错了  发表于 2023-8-8 08:42
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-8 09:25:28 | 显示全部楼层
  1. (*求△ABC的面积(有点难) *)
  2. (*把B放在原点, 假设C点的坐标是(11c, 0), 那么E点(5c, 0),
  3. 由于∠B=45°, 可假设D(d, d), A(a, a), 计算出向量CD, 向量EA,
  4. 利用向量的长度相等, 向量内积等于零(垂直), 以及△BDE的面积=30,
  5. 列出三个方程, 然后求解三个未知数*)
  6. Clear["Global`*"];(*清除所有变量*)
  7. (*四个坐标点赋值*)
  8. {xa,ya}={a,a};
  9. {xc,yc}={11c,0};
  10. {xd,yd}={d,d};
  11. {xe,ye}={5c,0};
  12. ans=Solve[
  13. {
  14.     (xa-xe)^2+(ya-ye)^2==(xd-xc)^2+(yd-yc)^2,(*向量EA与向量CD长度相等*)
  15.     (xa-xe)(xd-xc)+(ya-ye)(yd-yc)==0, (*向量EA与向量CD内积等于零*)
  16.     1/2*xe*yd==30,(*△BDE面积=30*)
  17.     SABC==1/2*xc*ya,(*求△ABC的面积*)
  18.     a>d>c>0(*符合几何意义的变量范围*)
  19. },
  20. {a,c,d,SABC}]//FullSimplify;
  21. Grid[ans,Alignment->Left](*列表显示*)
复制代码

求解结果如下:  a→16 c→2  d→6  SABC→176

点评

nyy
a>d>c>0(*符合几何意义的变量范围*)这个限制明显是错误的  发表于 2023-8-8 12:13
nyy
我的代码原本就很好,原本能解出来8组解,很容易得出符合条件的解。  发表于 2023-8-8 10:21
nyy
谁修改了我的代码?  发表于 2023-8-8 10:19
没有你咋呼的所谓论坛 bug 吧?  发表于 2023-8-8 09:29
nyy
方程组就是好使  发表于 2023-8-8 09:27
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-8 10:50:50 | 显示全部楼层
本帖最后由 nyy 于 2023-8-8 10:52 编辑
lsr314 发表于 2019-8-30 20:16
为简化坐标,先不考虑三角形BDE面积等于30这个条件(这个条件独立于其他条件),以E为原点,BC为横轴建立坐 ...

  1. Clear["Global`*"];(*清除所有变量*)
  2. (*利用复数法,A、D、E、C四个点复数赋值,a、d、c是待求的三个变量*)
  3. ZA=a+a*I
  4. ZD=d+d*I
  5. ZE=5c+0*I
  6. ZC=11c+0*I
  7. ans=Solve[{
  8.     (*复数EA=DC乘以i(也就是逆时针旋转90°)*)
  9.     ComplexExpand@ReIm[(ZA-ZE)-(ZC-ZD)*I]==0,
  10.     (*△BDE面积=30*)
  11.     1/2*(5c)*d==30,
  12.     (*求△ABC的面积*)
  13.     SABC==1/2*(11c)*a
  14. },{a,d,c,SABC}]
复制代码

利用复数,然后列方程组,相对来说不复杂!
所列的方程组相对简单,求解结果
\[\begin{array}{llll}
a\to -16 & d\to -6 & c\to -2 & \text{SABC}\to 176 \\
a\to 16 & d\to 6 & c\to 2 & \text{SABC}\to 176 \\
\end{array}
\]

由那个复数相等得到
{a - 5 c - d, a - 11 c + d} == 0
再结合
1/2*(5 c)*d == 30
就可以求解方程组得到a、c、d三个变量,剩下的一切就都简单了!


补充内容 (2023-8-9 14:04):
{a - 5 c - d, a - 11 c + d} == 0,有这个得到解{{a -> 8 c, d -> 3 c}}

点评

nyy
思路清晰,容易明白。  发表于 2023-8-8 14:46
nyy
代数的力量就是强!  发表于 2023-8-8 14:46
nyy
以B为原点,漏掉了这个说明  发表于 2023-8-8 13:59
nyy
代码清爽,容易懂,可读性高!  发表于 2023-8-8 13:59
nyy
{a - 5 c - d, a - 11 c + d} == 0从这个可以得到d=3c,剩下的就比较简单了  发表于 2023-8-8 13:46
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-8 20:27:19 | 显示全部楼层
我起初用方程组求解,就会觉得很难!后来换成复数求解,
发现原来也不算难!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-21 20:36 , Processed in 0.024468 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表