2定点からの距離の積が一定である点の 軌跡は Cassini の橙形 (Cassini の卵形線, Cassini oval, oval of Cassini) である。 Giovanni Domenico Cassini (1625-1712) にちなんで名付けられた。
ちょっと整理 |
平面上の 定点からの距離の和、差、積、
商が一定である点の軌跡を求める問題は有名である。
|
二定点を として、距離の積を とすると、
が小さく、 ならば二つの連結成分からなり、 ならば連結な曲線である。
ならば、 となるので、 とおくと
ならば正則な閉曲線である。 特に ならば凹みのある閉曲線、 ならば凸閉曲線である。
2変数関数のレベルセットを描きたい場合、 Mathematica では、ImplicitPlot[] が利用できる。
Decartes の葉線, レムニスケート, Cassini の橙形を描く |
Needs["Graphics`ImplicitPlot`"] (最初にこのオマジナイが必要) decartes[a_]:=ImplicitPlot[x^3+y^3-3 a x y==0,{x,-4,4},{y,-4,4}] lemniscate[a_]:=ImplicitPlot[(x^2+y^2)^2==a^2(x^2-y^2),{x,-4,4},{y,-4,4}] limason[a_,b_]:=ImplicitPlot[(x^2+y^2-a x)^2==b^2(x^2+y^2),{x,-4,4},{y,-4,4}] cassini[a_,b_]:=ImplicitPlot[(x^2+y^2+a^2)^2==4a^2x^2+b^4,{x,-4,4},{y,-4,4}] g=lemniscate[4] (a=4 のレムニスケートを描く) SetDirectory[$HomeDirectory <> "\My Documents"]] Export["lemniscate.eps", g] |
なお、ここでは , 両方の範囲を指定したが、 こうすると内部で ContourPlot[] を利用して等高線を描画する。 これに対して、 または の一方のみの範囲を指定すると、 Solve[] を利用して曲線を描画する。 この方が処理は重いが、結果はきれいになる (そうである)。