平面曲線
桂田 祐史

2002 年 6 月 30 日–
http://www.math.meiji.ac.jp/~mk/lecture/plane-curve/1

平面曲線の表現法

1.1

パラメーター曲線

1.2

1 変数関数のグラフ

1.3

2 変数関数の零点集合

2

弧長、面積3

微分幾何

4

コンピューターで描く

4.1

情報へのポイント• gnuplot については、『gnuplot 入門』1
• Mathematica については、『Mathematica 入門』21
2

http://www.math.meiji.ac.jp/~mk/labo/howto/intro-gnuplot/
http://www.math.meiji.ac.jp/~mk/syori2-2006/mathematica/

1

4.2

gnuplot

4.2.1

1 変数関数のグラフ¶³

gnuplot> plot sin(x),cos(x)gnuplot> f(x)=x**3+2*x**2+3*x+4gnuplot> plot [-4:4] f(x)gnuplot> plot [-pi/2:pi/2] [-10:10] tan(x)gnuplot> set plot sin(1000*x)
gnuplot> show samples
gnuplot> set samples 4000
gnuplot> set plot sin(1000*x)µ¶´³gnuplot> f(x)=exp(-x*x/2)/sqrt(2*pi)
gnuplot> plot [-3:3] f(x)← 標準正規分布の確率密度関数を定義µ´
0.4f(x)
0.35

0.3

0.25

0.2

0.15

0.1

0.05

0-3-2-10123

図 1: 正規分布の確率密度関数 (±3σ の範囲)

4.2.2

2 変数関数の零点集合¶³

gnuplot> set contourgnuplot> set nosurface
gnuplot> set view 0,0
gnuplot> set isosamples 100,100
gnuplot> set cntrparam levels incremental 0,1,0
gnuplot> splot x**2-y**2µ´

2

4.2.3

パラメーター曲線¶³gnuplot> set parametricgnuplot> plot t*cos(t),t*sin(t)gnuplot> plot [-pi:pi] cos(3*t),sin(4*t)µ´

4.3Mathematica

4.3.1

1 変数関数のグラフ¶³

In[1]:= Plot[{Sin[x],Cos[x]},{x,-Pi,Pi}]
In[2]:= f[x ]:=x^3+2x^2+3x+4
In[3]:= Plot[f[x],{x,-4,4}]In[4]:= Plot[Sin[1000*x],{x,0,Pi},PlotPoints->4000]µ4.3.2´

2 変数関数の零点集合¶ContourPlot[] で等高線を描く³In[]:= ContourPlot[x^2 -y^2,{x,-2,2},{y,-2,2},ContourShading->None]µ¶ImplicitPlot[] で陰関数を描く´³

In[]:= Needs["Graphics‘ImplictiPlot‘"]
In[]:= ImplictiPlot[x^2 -y^2==0,{x,-2,2}]µ4.3.3´

パラメーター曲線¶³In[]:= ParametricPlot[t*Cos[t],t*Sin[t], {t,-10,10}]
µ4.4

´

ヒント

双曲線 x2 /4 − y 2 = 1 と、その接線 (傾き −1 の) を描く。陰関数のグラフ描画と、傾きが分かりやすいように縦横の縮尺を揃えること、二つ以上のものを一つにまとめる、などのテクニック。

3¶³Needs["Graphics‘ImplicitPlot‘"]
g = ImplicitPlot[x^2/4 - y^2 == 1, {x, -6, 6},
PlotRange -> {{-6, 6}, {-3, 3}},
AspectRatio -> 1/2]
t = Plot[{-x + Sqrt[3], -x - Sqrt[3]}, {x, -6, 6}]gt = Show[g, t]
Export["c:/home/mk/nantoka.eps", gt]µ´
32
1-6-4-22

46-1-2-3

図 2: 双曲線とその接線

4.5

Maple

4.5.1

1 変数関数のグラフ¶³> plot([sin(x),cos(x)],x=-Pi..Pi)> f(x):=x^3+2x^2+3x+4;> plot(f(x),x=-4..4);> plot(sin(1000*x), x=0..Pi, numpoints=4000);µ4.5.2´2 変数関数の零点集合¶³> with(plots);> contourplot(x**2-y**2,x=-2..2,y=-2..2);
µ
¶

´
³

> with(plots);> implicitplot(x**2-y**2=0,x=-2..2,y=-2..2);µ´

4

4.5.3

パラメーター曲線¶³> plot([t*cos(t),t*sin(t),t=0..2*Pi]);> plot([(t^2-1)/(t^2+1),2*t/(t^2+1),t=-infinity..infinity],numpoints=100);
µ´

5

円錐曲線

5.1

楕円x2 y 2+ 2 =1
a2b円 x2 + y 2 = b2 を y 軸方向にa倍したものと考えると、
bx = a cos θ,y = a sin θ(θ ∈ [0, 2π])というパラメーター表示を発見するのは簡単であろう。

¶³

set parametric
set size ratio -1
a=3
b=2
plot [0:2*pi] a*cos(t),b*sin(t)µ¶´³a=3; b=2; ParametricPlot[{a Cos[t],b Sin[t]},{t,0,2Pi}]µ5.2´

双曲線x2 y 2− 2 =1a2bx = ±a cosh t, y = b sinh t (t ∈ R)¶³set parametric
set size ratio -1
a = 3; b = 2;
ParametricPlot[{{a Cosh[t], b Sinh[t]},{-a Cosh[t], b Sinh[t]}},{t, -3, 3},
PlotRange -> {{-10*a, 10*a}, {-10*b, 10*b}},
AspectRatio -> b/a]µ´5

10 と 3 はマジックナンバーみたいでイヤだけど、cosh 3 = 10.06 · · · だから、ということです。

6平面曲線紳士録

6.1

Cassini の橙形

2 定点からの距離の積が一定である点の軌跡は Cassini の橙形 (Cassini の卵形線, Cassini
oval, oval of Cassini) である。Giovanni Domenico Cassini (1625–1712) にちなんで名付けられた。
¶³ちょっと整理
平面上の 2 定点からの距離の和、差、積、商が一定である点の軌跡を求める問題は有名である。

• 和が一定 … 楕円
• 差が一定 … 双曲線• 積が一定 … Cassini の橙形• 商 (比) が一定 … Apolloniusa の円 (特別な場合として垂直二等分線)
aApollonius (Aπoλλωνιos, B.C.262(245?)–190 頃.), Pergaeus, 小アジアの南海岸にあるパンフィリア(Pamphylia) のペルガに生まれ、アレキサンドリアで没す。アレキサンドリアで (ユークリッドに？) 学ぶ。
円錐曲線について 8 冊の著作を著わす (ある種の座標系を利用していたため、「解析幾何の要素がある」という評もある)。記数法の改良も行った。
µ´

二定点を (±a, 0) として、距離の積を b2 とすると、£¤£¤(x − a)2 + y 2 (x + a)2 + y 2 = b4という方程式が得られる。

(x2 + y 2 + a2 )2 = 4a2 x2 + b4 .
極形式では

r4 − 2a2 r2 cos 2θ + a4 = b4 .
b が小さく、b < a ならば二つの連結成分からなり、a ≤ b ならば連結な曲線である。
√b = a ならば、(x2 + y 2 )2 = 2a2 (x2 − y 2 ) となるので、a0 := 2a とおくと(x2 + y 2 )2 = a02 (x2 − y 2 )となる。これはベルヌーイのレムニスケート (lemniscate of Bernoulli) と呼ばれ、8 の字形をしている。
√√
b > a ならば正則な閉曲線である。特に a < b < 2a ならば凹みのある閉曲線、b ≥ 2aならば凸閉曲線である。
2 変数関数のレベルセットを描きたい場合、Mathematica では、ImplicitPlot[] が利用できる。

6442200-2-2-4-4-4-2024-4

図 3: Cassini の oval (a = 2, b = 2.1)-2024

図 4: Cassini の oval (a = 2, b = 3)

¶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]µ´

なお、ここでは x, y 両方の範囲を指定したが、こうすると内部で ContourPlot[] を利用して等高線を描画する。これに対して、 x または y の一方のみの範囲を指定すると、Solve[]を利用して曲線を描画する。この方が処理は重いが、結果はきれいになる (そうである)。

6.2螺旋6.2.1

Archimedes の螺旋

極形式で

r = aθという方程式で与えられる。
蚊取り線香曲線と言った人も。ホースやロープを巻いたりして出来る。

6.2.2

放物螺旋√r=a θ7

2t*cos(t), t*sin(t)10-1-2-3-4-5-4-3-2-10

1234

567

図 5: set parametric; plot [0:2*pi] t*cos(t),t*sin(t)60t*cos(t), t*sin(t)40200-20-40-60-80-60-40-20

020406080

図 6: set parametric; plot [0:20*pi] t*cos(t),t*sin(t)8sqrt(t)*cos(t), sqrt(t)*sin(t)6.2.3

ヤコブ・ベルヌーイの螺旋、対数螺旋、等角螺旋r = aebθ
オーム貝、アンモナイトのような巻き貝の形。
曲線上の点の座標はÃ! Ã!
bθr cos θae cos θϕ(θ) ==r sin θaebθ sin θであるから、接線ベクトルは

Ã!
bθae(bcosθ−sinθ)
ϕ0 (θ) =.
aebθ (b sin θ + cos θ)
原点から接点に向う線分と、接線のなす角を α とすると、

cos α =(b cos θ − sin θ) cos θ + (b sin θ + cos θ) sin θbp.
=√222
b +1
(b cos θ − sin θ) + (b sin θ + cos θ)

これが θ によらない定数であることが、等角螺旋という名前の由来である。
力学系!Ã !
Ã ! Ãd xxa −b=dt yyb aの解曲線 (相平面における軌跡) も対数螺旋になる。

96.3Descartes の正葉線

Descartes の正葉線 (デカルトの葉形, folium of Descartes, 1638 年)
x3 + y 3 − 3axy = 00

y = tx とおくと、有理パラメーター表示x=3at,1 + t3

y=3at2
1 + t3を得る。
x = r cos θ, y = r sin θ を代入すると、極形式の表示

r=3a sin θ cos θsin3 θ + cos3 θを得る。

10¶gnuplot で³a=1f(x,y)=x**3+y**3-3*a*x*y
set xrange [-3*a:3*a]
set yrange [-3*a:3*a]
set view 0,0
set isosample 100,100
set size squareset cont baseset cntrparam level incre 0,0.1,0
unset surface
set nokey#set border 0#set noxtics#set noytics
set xzeroaxis lt 0
set yzeroaxis lt 0
splot f(x,y)µ´

3210-1-2-3-3-2-101

図 7: gnuplot

1123

¶
Mathematica で³Needs["Graphics‘ImplicitPlot‘"]
g = ImplicitPlot[x^3 + y^3 - 3 x y == 0, {x, -2.5, 2}]
µ

´

1-1-2

1

2-1-2-3

図 8: Mathematica

6.4サイクロイド

例 6.1 (サイクロイド (cycloid) の弧長) a を正定数とするとき、曲線 ϕ(t) = (a(t−sin t), a(1−cos t))T (t ∈ [0, 2π]) の長さを求めよ。
(解) ϕ0 (t) = (a(1 − cos t), a sin t) であるから、
rqptt
kϕ0 (t)k = a2 (1 − cos t)2 + a2 sin2 t = a 2(1 − cos t) = 2a sin2 = 2a sin .
22
ゆえに弧長はZ 2π0Z 2πkϕ (t)k dt =02a sin0tdt = 8a.
2T

サイクロイド Γ :Zr = (a(t − sin t), a(1 − cos t)) (t ∈ [0, 2π]) と y 軸で囲まれる範囲の面

問y dx = 3πa2 )積を求めよ3 。(解答:Γ3

ガリレオはサイクロイドに興味を持って、この面積も求めようと努力し (紙を切って重さを測るとか…)、3πa2に近いが、厳密に等しくはない、と書いているそうです (遠山 [?] 下 pp.194–196 にもう少し詳しく書いてあります) 。

12y(a(θ − sin θ), a(1 − cos θ))(aθ, a)xPSfrag replacementsO

図 9: サイクロイド (x, y) = (a(θ − sin θ), a(1 − cos θ)) (θ ∈ [0, 2π])
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0t-sin(t), 1-cos(t)-8-6-4-202468

図 10: サイクロイド (x, y) = (t − sin t, 1 − cos t) (gnuplot による)

set parametric;set size ratio -1;plot [-8:8] t-sin(t),1-cos(t)6.5

Cardioid

Cardioidr = 1 + cos θ(0 ≤ θ ≤ 2π)

で囲まれた領域 Ω の面積は1µ(Ω) =
26.6Z 2π03(1 + cos θ)2 dθ = π.
2トロコイドx = aθ − b sin θ,y = a − b cos θ(a = b ならばサイクロイドであるが) a < b のときエピ・トロコイド、a > b のときハイポ・トロコイド。

1310.5

10.5

1.5

2-0.5-1

図 11: Cardioid

6.7

ParametricPlot[{(1+Cos[t])Cos[t],(1+Cos[t])Sin[t]}, {t,0,2Pi}]

懸垂線

懸垂線 (懸垂曲線, catenary4 )y = a cosh

³x´
a=aex/a + e−x/a.
2方程式を得たのは、ヨハン・ベルヌーイ、ライプニッツで、1691 年。
5a*cosh(x/a)

4

3

2

10-1-2

6.8-1.5-1-0.5

0

0.5

1

1.5

2

レムニスケート (lemniscate)

レムニスケート (lemniscate, 連珠形, 花輪を飾るリボンの輪)
4

ホイヘンスにより、ラテン語の catena (チェーンの意味) に由来して命名されたとか。

14

r2 = a2 cos 2θ(θ ∈ [−π/2, π/2])(x2 + y 2 )2 = a2 (x2 − y 2 )010.50-0.5-1-1.5-1-0.500.5

11.5

図 12: ImplicitPlot[(x^2 + y^2) ^2 - 2(x^2 - y^2) == 0, {x, -1.5, 1.5}, {y, -1,1}]√a = 2 の場合、2 点 (±1, 0) からの距離の積が 1 となる点の軌跡である。
原点からの弧長はZ θp√ Z θ√ Z xdθdx√√
r2 + (r0 )2 dθ = 2= 2(x = tan θ).
u=
1 − x42 cos 2θ
00015Gauss は逆関数 x = s(u) を考察して、その加法定理を発見した (Gauss による楕円関数の発見)。彼はレムニスケイトの弧を 5 等分することが定規とコンパスで作図できることを見い出した。
杉浦 [?], 高木 [?] を見よ。

6.9

正葉線
r = a cos nθsin(2*t)*cos(t), sin(2*t)*sin(t)16sin(3*t)*cos(t), sin(3*t)*sin(t)sin(4*t)*cos(t), sin(4*t)*sin(t)17sin(6*t)*cos(t), sin(6*t)*sin(t)sin(t/2)*cos(t), sin(t/2)*sin(t)18sin(t/3)*cos(t), sin(t/3)*sin(t)6.10

リサージュ曲線6.11

アステロイドx2/3 + y 2/3 = a2/3
x = a cos3 θ,y = a sin3 θ19(θ ∈ [0, 2π])cos(t)**3, sin(t)**3

A

Cassini の橙形

xy 平面上で、方程式
£¤£
¤
(☆)
(x − 1)2 + y 2 (x + 1)2 + y 2 = a4

(a は正の定数)で定められる曲線を C とするとき、以下の問に答えよ。

(1) 式 (☆) を y 2 について解いて、y 2 = f (x) の形に表わせ。
√(2) 0 < a < 2 であるとき、関数 f (x) の増減を調べよ。
√(3) 1 < a < 2 であるときの曲線 C の概形を描け。
(二定点からの距離の積が一定である曲線で、Cassini の橙形と呼ばれているもの。)(1) y 2 = Y とおくと、(☆) は¤£Y 2 + (x − 1)2 + (x + 1)2 Y + (x + 1)2 (x − 1)2 = a4となる。整理して、

Y 2 + 2(x2 + 1)Y + (x2 − 1)2 − a4 = 0.
2 次方程式の解の公式から
p√
Y = −(x2 + 1) ± (x2 + 1)2 − [(x2 − 1)2 − a4 ] = −(x2 + 1) ± 4x2 + a4 .
Y = y 2 ≥ 0 でなければならないので、複号のうち − は捨てて√
y 2 = −(x2 + 1) + 4x2 + a4 .
20

(2) f (x) = −(x2 + 1) +√4x2 + a4 とおくと、√¡¢
2 + a42x2−4x18x√
f 0 (x) = −2x + · √=.
24x2 + a4
4x2 + a4
√ゆえに f 0 (x) = 0 となるのは、x = 0 または 4x2 + a4 = 2 のときである。
√√
4 − a44 − a4242244x + a = 2 ⇔ 4x + a = 4 ⇔ x =⇔ x=±.
42√√
仮定 a < 2 より 4 − a4 > 0 であるので、± 4 − a4 /2 は相異なる実数であることに注意する。これから関数 f (x) の増減表は√√

x
f 0 (x)
f (x)

−∞
−∞

4 − a2−2+02 + a4 /40−0a −1+24 − a4202 + a4 /4∞−−∞

y = f (x) のグラフと x 軸との交点を調べる。
f (x) = 0 ⇔ x2 + 1 =√4x2 + a4⇔

x4 + 2x2 + 1 = 4x2 + a4

⇔ x4 − 2x2 + (1 − a4 ) = 0√p⇔ x2 = 1 ± 1 − (1 − a4 ) = 1 ± a4 = 1 ± a2 .
これから

√
√
(i) 0 < a < 1 のとき、f (x) = 0 となるのは x = ± 1 + a2 , ± 1 − a2 . そして f (x) ≥ 0√√√√となるのは、− 1 + a2 ≤ x ≤ − 1 − a2 または 1 − a2 ≤ x ≤ 1 + a2 .
-2-1

12-0.2-0.4-0.6-0.8√(ii) a = 1 のとき、f (x) = 0 となるのは、x = 0, ± 1 + a2 . そして f (x) ≥ 0 となるの√√は、− 1 + a2 ≤ x ≤ 1 + a2 .
0.2
0.1-2-11-0.1-0.2-0.3

212

√
√
(iii) 1 < a < 2 のとき、f (x) = 0 となるのは x = ± 1 + a2 . そして f (x) ≥ 0 となる√√のは、− 1 + a2 ≤ x ≤ 1 + a2 . (参考: a = 1.2 の場合のグラフ)
0.3

0.2

0.1-2-1

12-0.1-0.2

pp√√(3) − 1 + a2 ≤ x ≤ 1 + a2 , − 2 + a4 /4 ≤ y ≤ 2 + a4 /4 の範囲に存在する。y 軸との交√点は (0, ± a2 − 1).

0.4
0.2

-1.5

-1

-0.5

0.5
-0.2
-0.4

2211.5