四边形ABCD中,∠CAB=∠DBA=∠BCD , AB= 4,BC= 4√2, BD= 5,则CD的值为?
在四边形ABCD中,连接AC、BD,∠CAB=∠DBA=∠BCD , AB= 4,BC= 4√2, BD= 5,则CD的值为?问题来源:
一题三法解一道相似三角问题 - Jerry Wen的文章 - 知乎
https://zhuanlan.zhihu.com/p/1983139553146595161 Clear["Global`*"];(*mathematica11.2,win7(64bit)Clear all variables*)
(*子函数,利用三边计算角的余弦值,角是c边所对的角*)
cs:=((a^2+b^2-c^2)/(2*a*b))
(*子函数,四面体体积公式,a,b,c分别是从一个顶点出发的三条棱,x,y,z分别是对棱*)
fun:=Sqrt/288]
AB=4;BD=5;BC=4*Sqrt;
(*跟人工智能学的奇葩表达方式,直接硬求解不出来,只能用这种奇葩表达办法*)
ans=Reduce[{
cs==cs==cs,
fun==0
},{AC,AD,CD}]
aaa=Solve(*只要非负数解,别的解扔掉*)
Grid(*列表显示*)
三个角相等,因此他们的余弦值相等,再加上四个点对应的四面体的体积等于零,列三个方程,求解三个未知数,
求解结果
\[\begin{array}{lll}
\text{AC}\to \frac{32}{5} & \text{AD}\to \sqrt{\frac{43}{2}} & \text{CD}\to \frac{7 \sqrt{2}}{5} \\
\text{AC}\to 4 \sqrt{2}+4 & \text{AD}\to 1 & \text{CD}\to 4 \sqrt{2}+5 \\
\end{array}\]
得到两组解。
链接里面只得到了一组解 nyy 发表于 2025-12-18 11:48
三个角相等,因此他们的余弦值相等,再加上四个点对应的四面体的体积等于零,列三个方程,求解三个未知数 ...
"在mathematica代码中,把AB=3类型的代码,修改成AB=BA=3,线段长度赋值,AB与BA都赋值,这样两个变量都能用了,这样再不用考虑线段的两个端点哪个在前、哪个在后了,后面使用线段长度变量还能增加代码的可读性
:menu 259.660 mma.线段长度变量AB=3替换成AB=BA=3 :.,$s/\@<!\(\(\)\(\)=\)/\1\3\2=/gec<CR>
"在mathematica代码中,替换线段长度变量,比如把BA替换成AB,写代码时用到线段长度变量时,AB与BA两个变量随便用,但是写完代码后,再用编辑器的正则替换(写到菜单里)把BA替换成AB,使得顺序小的A在顺序大的B之前,这样写代码用到线段长度变量时,就不用人工费脑筋考虑A与B哪个在前。同时,还要注意不替换ΔBAC、∠BAC、变量BACD中的BA
:menu 259.661 mma.线段长度变量BA替换成AB :.,$s/\@<!\(\)\(\)\@!/\=(submatch(1)>submatch(2)?submatch(2).submatch(1):submatch(1).submatch(2))/gec<CR>
"下面的或表达式,是两个\\,至于原因不知道,只搜索BA(也就是第一个字母比第二个字母大的情况,AB这种不搜索)
:menu 259.662 mma.线段长度变量只搜索BA并替换成AB :.,$s/\@<!\(B\\|C\\|D\\|E\\|F\\|G\\|H\\|I\\|J\\|K\\|L\\|M\\|N\\|O\\|P\\|Q\\|R\\|S\\|T\\|U\\|V\\|W\\|X\\|Y\\|Z\)\@!/\=ExchangeIfGreater(submatch(1))/gec<CR>
页:
[1]