这是一个通俗易懂的问题,寥寥几句,就能说明问题的意思。 这也是一个新颖而有趣的数学问题,相应的曲线也是非常漂亮。 这更是一个复杂的问题,涉及多重无理根式相加,要化成有理式,几乎是不可能的;而用微积分处理,那计算量就显得过于庞大。 作者选择用Mathematica来处理这个问题。
工具/原料
1
Mathematica(8.0以上版本)
2
电脑
方法/步骤
1
定义:到 n 个定点 A_1、A_2、… 、A_n 的距离之和为定值 R^2 的点的轨迹,称为 n 焦点曲线 Ω ,A_i 称为该曲线的n 个焦点。
2
当n=1时,Ω是圆,A_1是圆心,R是半径。
3
当n=2时,Ω是椭圆,A_1、A_2是焦点。所以,椭圆是双焦点曲线。
4
当n≥3时,情况就复杂了,因为不可能化成有理式了。 当n=3,R最小时,Ω退化成一个点,正是△A_1A_2A_3的费尔马点。当然有可能△A_1A_2A_3退化成直线型或者某两个点重合。 费尔马点——就是到三角形的三个顶点的距离之和最短的点。 对于一个顶角不超过120度的三角形,费尔马点是对各边的张角都是120度的点。 对于一个顶角超过120度的三角形,费尔马点就是最大的内角的顶点。
方法/步骤 用Mathematica处理该问题
1
用ContourPlot画隐函数图像的方法。 感觉太繁琐,需要不停地改动代码。
2
用ContourPlot画等高线的方法。 缺点是:等高线的密度不够密。
3
用Show[Table[……试试,发现好多了。可仍旧太古板,不够灵活,不能互动。
4
目前,我最好的处理方法是,用Manipulate和Locator来处理,也就是互动+定位器,可以随意改变焦点的位置和R的值。不过,当n取不同的值时,要重新写代码!
注意事项
1
检验:所有的多焦点曲线都是凸曲线。
2
所有的东西,尽量都放在Manipulate[]的括号里面。
3
三维情形,同样的有——多焦点曲面。