Wolfram Book 之模拟椭圆的形成

椭圆是平面上到两个固定点的距离之和为常数的点的轨迹,根据该定义,可以用手绘椭圆:先准备一条线,将这条线的两端各绑在固定的点上(这两个点就当作是椭圆的两个焦点,且距离小于线长);取一支笔,用笔尖将线绷紧,这时候两个点和笔就形成了一个三角形(的两边);然后左右移动笔尖拉着线开始作图,持续地使线绷紧,最后就可以完成一个椭圆的图形了。

我们可以借助 Mathematica 模拟这一过程,效果如下:

Mathematica 代码:

With[{F1 = {-Sqrt[5], 0}, F2 = {Sqrt[5], 0}, P = {3 Cos[t], 2 Sin[t]}},

Manipulate[Graphics[{{Dashed, Circle[{0, 0}, {3, 2}]},

{Blue, Line[{P, F1}], Red, Line[{P, F2}]},

{Red, Line[{{0, 3}, {Norm[P – F2], 3}}]},

{Blue, Line[{{0, 3.3}, {Norm[P – F1], 3.3}}]},

{Blue, Line[{{0, 3.6}, {Norm[P – F1], 3.6}}], Red,

Line[{{Norm[P – F1], 3.6}, {Norm[P – F1] + Norm[P – F2], 3.6}}]},

FontSize -> 14,

Text[“Red line length:    ” <>

ToString@NumberForm[N@Norm[P – F2], {2, 2}], {-2, 3}],

Text[“Blue line length:     ” <>

ToString@NumberForm[N@Norm[P – F1], {2, 2}], {-2, 3.3}],

Text[“Total length:     ” <> ToString[6], {-2, 3.6}]}

, ImageSize -> 600], {{t, Pi/4}, 0, 2 Pi}]

]

 

发布者:Cara,转载请注明出处:http://www.makercollider.com/course/1798

发表评论

登录后才能评论
QR code