多语言展示
当前在线:1392今日阅读:113今日分享:31

怎么用Mathematica处理多焦点曲线

这是一个通俗易懂的问题,寥寥几句,就能说明问题的意思。       这也是一个新颖而有趣的数学问题,相应的曲线也是非常漂亮。       这更是一个复杂的问题,涉及多重无理根式相加,要化成有理式,几乎是不可能的;而用微积分处理,那计算量就显得过于庞大。       作者选择用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

三维情形,同样的有——多焦点曲面。

推荐信息