用Mathematica处理一个几何问题-mathematic怎么用
这里,要处理的问题是:
给定△UVW,要求在平面上找到D点,使得△UVD、△UWD、△VWD的内切圆半径相等!
问题
一般情况下,平面上满足条件的D点,应该有四个,如下图,其中一个位于△UVW内部,另外三个则在△UVW外面!
D的四个情形
这里,我们不考虑能否用尺规作图法找到这四个D点,而是用强大的Mathematica软件,来动态的模拟这个问题。
给定△UVW,它的三个顶点分别是:U 、 V 、W;
那么,它的三边边长是:
{u, v, w} = {Norm[V - W], Norm[W - U], Norm[U - V]};
它的面积为:
S[U_, V_, W_] := Sqrt[(u + v + w) (u + v - w) (u - v + w) (-u + v + w)]/4;
它的周长为:
L[U_, V_, W_] := u + v + w;
它的内切圆半径为:
r[U_, V_, W_] := S[U, V, W]/L[U, V, W];
设平面上的点X,使得△XUV和△XUW的内切圆半径相等,那么X应该满足什么条件? 当然是:
r[U, V, X] == r[U, X, W],
即:
S[U, V, X]/L[U, V, X] == S[U, X, W]/L[U, X, W],
进而化成:
S[U, V, X] L[U, X, W] == L[U, V, X] S[U, X, W];——这就是X的轨迹曲线的方程。
以上这些是我们的自定义函数,整合到一起,如下图。
自定义的函数
然后是实现人机互动的代码!我们把U、V、W以定位器的形式展示出来(所谓的定位器,就是各类几何图画板里面的自由点),这样,就可以在运行出来之后,手动拖动U、V、W的位置,实现人机互动。
可以实现人机互动的代码
互动
本人水平低,所写代码难免会有不足之处,请大家谅解!
以上就是关于《用Mathematica处理一个几何问题-mathematic怎么用》的全部内容,本文网址:https://www.7ca.cn/baike/64144.shtml,如对您有帮助可以分享给好友,谢谢。