二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g...

40
わる および クロソイド わる

Transcript of 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g...

Page 1: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

二重振り子に関わる計算および

クロソイド曲線に関わるの計算

Page 2: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

はじめに

ここで紹介する話題“二重振り子に関わる計算およびクロソイド曲線に関わるの計算”は、愛知

教育大学 初等教育教員養成課程 数学選修 安藤 紫芳梨さんの平成 22年度卒業論文と水島 志帆さんの平成 22年卒業論文から抜粋編集したものである。まず、卒業論文から“はじめに”を紹介しておこう。

『私は今回、振り子運動を考えるという、一見すると物理学ではないかと思われるような題材を

卒論のテーマに選んだ。この題材を選んだ理由は、動画サイトで二重振り子の変わった動きを見て、

どのようにしてこの動きになるのか興味が湧いたからだ。初めはあまり数学と関係のないテーマな

のではないかと思われた。しかし、実際やってみると今まで学んできた数学が役に立ってきた。

 この卒論を通していたるところで数学と物理が関係し合っているのだということを実感でき、と

ても有意義な研究になったと考える。(安藤 紫芳梨)』『私は今回、クロソイド曲線について調べ、卒論のテーマに選んだ。なぜなら、私は以前から身

の回りでどのように数学が生かされているのだろうと思っていた。数学を学んでいる中で、実際

にどのように数学が役に立っているのかわからずにいた。ある時に、ふとテレビを見てクロソイ

ド曲線の存在を知り、興味を持った。テレビでは、クロソイド曲線のおかげで高速道路のカーブや

ジェットコースターを安全に利用できると簡易的な説明のみされていた。私は、その時この曲線が

あることでなぜ安全なのか詳しく調べたいと感じ、今に至る。

この卒論を通して数学が私たちの生活に関係し合っているのだということを実感でき、とても有

意義な研究になったと考え、今後、このことを多くの生徒に伝えていければと考えている。(水島志帆)』

安藤さんは二重振り子の運動について、単振り子の実験やビデオ機器を使った記録を通して軌道

の不安定さと跳躍の混沌に惹きつけられ、二重振り子の運動を数学的に表現することに挑戦した。

振り子の軌道についての、パソコン上での運動のシミュレーション計算の効果を楽しむとともに、

計算の効用を経験することができただろうと思う。さらに、加速度の値の物理的意味について (安藤さんと)検討するうちに、私も“付録 重力質量と慣性質量”について学ぶことができた。水島 志帆さんはクロソイド曲線の応用に関わる計算やクロソイド曲線の作図を行っているが、

クロソイド曲線の作図に台形近似法や微分方程式の解の近似解を求める方法を使うところに、単純

な理論的的解決とは異なる面白さを感じた。これらの多様な数学的考えに心が動かされ、卒論から

抜粋編集してここに紹介することにした。

数学の計算技術の中にあって普段は見すごしているような数値計算を‘ コンピュータ上での計

算 ’として実行し、数学の考えの実際的役割に我々の目を向けてくれた両君に感謝する。

浦田敏夫   2011年 4月 12日

i

Page 3: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

目 次

第 1章 円運動 1

1.1 円運動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

第 2章 単振り子 3

2.1 単振り子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 重力加速度を求める実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

第 3章 二重振り子 5

3.1 二重振り子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

第 4章 補足 プログラムなど 10

4.1 単振り子のプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.2 二重振り子のプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.3 単振り子と単振動のプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

第 5章 クロソイド曲線 18

5.1 クロソイド曲線 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.2 クロソイド曲線の特徴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

第 6章 プログラミングを使ったクロソイド曲線の作図  23

6.1 台形公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.2 台形公式を使う 作図方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246.3 作図の高速化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276.4 微分方程式の近似解を求めるオイラー法を使う 作図方法 . . . . . . . . . 306.5 クロソイド曲線の利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326.6 カーブに円のみが使われた場合についての注意 . . . . . . . . . . . . . . . . . . . . 35

付録 重力質量(gravitational mass)と慣性質量(inertial mass)

ii

Page 4: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

第1章 円運動

1.1 円運動

原点を中心とする半径 � の円周上を動く物体を考える。 

(強制)円運動をする物体に働く力

時刻 t における物体の位置を

P(t) = (x(θ(t)), y(θ(t)))

と表す。

時刻 t における物体の角が θ(t) であるとすると⎧⎨⎩x(θ(t)) = � sin θ(t)

y(θ(t)) = � cos θ(t)

が成り立ち

P(t) = (� sin θ(t), � cos θ(t))

となる。そのとき、物体の速度 V(t) と加速度 α(t) は

V(t) = limΔt→0

P(t + Δt) − P(t)Δt

= P′(t)

= (x′(θ) · θ′(t), −y′(θ) · θ′(t))= (� cos θ(t) · θ′(t), −� sin θ(t) · θ′(t))= �θ′(t)(cos θ(t), − sin θ(t))

= �θ′(t) · t(t).

ただし、

t(t) = (cos θ(t),− sin θ(t))

は、P(t) と直交する長さ1のベクトルである。直交することは、以下の内積の計算からわかる:

P(t) · t(t) = (x(θ(t)), y(θ(t))) · (cos θ(t),− sin θ(t))

= (� sin θ(t), � cos θ(t)) · (cos θ(t),− sin θ(t))

= �(sin θ(t) · cos θ(t) − cos θ(t) · sin θ(t)

= 0

1

Page 5: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

こうして、円運動する物体の速度ベクトルは接線方向のベクトルでその大きさは半径× 角速度(= � θ′(t)) の大きさによることがわかった:

V = �θ′(t) · t(t).

さて、物体の加速度は

α = limΔt→0

V(t + Δt) − V(t)Δt

= V′(t) = P′′(t)

= (−� sin θ(t) · θ′(t)2 + � cos θ(t) · θ′′(t),−� cos θ(t) · θ′(t)2 − � sin θ(t) · θ′′(t))= −� · θ′(t)2(sin θ(t), cos θ(t)) + � · θ′′(t)(cos θ(t),− sin θ(t))

= −P · θ′(t)2 + �t(t) · θ′′(t)

すなわち、

接線方向の加速度 (加速度の接線方向の成分) αt = � θ′′(t) · t(t)と法線方向の加速度 (加速度の中心方向の成分) αn = −θ′(t)2 · P(t)によって

α = αn+αt · · · (∗)

と表される。

注.上の事実 (∗) は、計算によってこそ容易にわかることだと思う; 微分係数の考えを通しての

速度と加速度の計算なしに、この事実を導く思考はとても難解なものになると思う。

例.等速円運動をする物体に働く力

点 P が等速円運動の場合には

θ(t) = ωt (ω :角速度)

であるから、

θ′(t) ≡ ω

θ′′(t) ≡ 0.

点 Pの x座標は 

x = � sin θ(t) = � sin ωt

を満たす。これは

x′′ = −ω2x

を満たすので単振動 (Single Harmonic Oscillator)している。

2

Page 6: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

第2章 単振り子

2.1 単振り子

単振り子 (Single Gravitational Pendulum)とは、軽くて伸びない糸の端に小さいおもりを付け、鉛直面内で振らせる装置である。

                

�: 糸の長さ

T: 振動の周期

θ: COから右への変位を正、左への変位を負とする角

g を重力加速度とすると、

単振り子の運動の釣り合いを考えるとき、

平面振り子のような円周上を円運動する物体

においては、接線方向の加速度 a = αt は重

力を原因とする接線方向(反対向き)の加速

度 −mg sin θ とつり合わなければならない、

したがって、単振り子の運動方程式は、

ma = F = −mg sin θ

である。故に

m�θ′′ = −mg sin θ

が成り立っていなければならない。よって、

θ′′ = −g

�sin θ.

F = −mg sin θ = −mgx

�であるから、

mg

�= k とおくと

F = −kx

となる。

θが十分に小さいとき、F の方向 � x の方向と見なせるので、単振り子の x 方向運動は近似的に

単振動となる。よって、おもりの振れの角 θ が小さい振動では、おもりは近似的に単振動をする。

すなわち、

θ′′ = −g

�θ

このとき、おもりの加速度は

a = −g

�x

3

Page 7: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

となり、角振動数は

ω =√

g

となる。したがって、振動の周期 T/sec は

T = 2π

√�

g

で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。

2.2 重力加速度を求める実験

重力加速度 g の値は 9.8m/s2 とされるが、単振り子を使って重力加速度を求める実験を行った。

実験の方法は以下の通りである。

糸の端におもりをつけた単振り子を一定の角度から離し、その動きをビデオ撮影する。その映像か

ら振り子の周期 T を読み取る。

T = 2π

√�

gという関係式を満たすことから、g =

4π2�

T 2であるので、求めた周期を代入すること

で重力加速度が求められる。周期 T =時間振動数

を使えば

g = 4π2 × � ×(振動数時間

)2

.

このとき π = 3.14 として (近似)計算する。また、糸の長さを 0.5m、1m、1.5m、2mと変えて糸

の長さが4π2�

T 2と関係しないことも確認する。

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

0.5mのとき g =4 × (3.14)2 × 0.5

( 1915 )2

= 12.29036 (m/s2)

1mのとき g =4 × (3.14)2 × 1

( 3015 )2

= 9.8596 (m/s2)

1.5mのとき g =4 × (3.14)2 × 1.5

( 4115 )2

= 7.91818 (m/s2)

2mのとき g =4 × (3.14)2 × 2

( 4415 )2

= 9.166983 (m/s2)

重力加速度は一般的に 9.8 m/s2 とされているので、実験器具等の不正確さから若干の誤差はある

(物理学的意味を見ているのであって、物理学的精度を要求してはいない)ものの、単振り子の観察を通して重力加速度を求めることができることがわかる。

4

Page 8: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

第3章 二重振り子

3.1 二重振り子

二重振り子とは、一つの単振り子の端にもう一つの単振り子をつけたものだ。

ここでは、二重振り子の運動方程式を調べる。

L: 糸の長さ

m: 質量

θ: 角度 (角度0のときは下向き、反時計回りを正とする。)添え字1を上側の振り子、添え字の2で下側の振り子を示す。

y 軸は上向きが正とする。

位置 (x1, y1), (x2, y2)は次のような関数である:⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

x1 = L1 sin θ1

y1 = −L1 cos θ1

x2 = x1 + L2 sin θ2

y2 = y1 − L2 cos θ2.

速度は位置を微分することで求められるから:⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

x′1 = θ′1L1 cos θ1

y′1 = θ′1L1 sin θ1

x′2 = x′

1 + θ′2L2 cos θ2

y′2 = y′

1 + θ′2L2 sin θ2.

5

Page 9: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

加速度は二次導関数であるから

x′′1 = −θ′21 L1 sin θ1 + θ′′1L1 cos θ1 (3.1)

y′′1 = θ′21 L1 cos θ1 + θ′′1L1 sin θ1 (3.2)

x′′2 = x′′

1 − θ′22 L2 sin θ2 + θ′′2L2 cos θ2 (3.3)

y′′2 = y′′

1 + θ′22 L2 cos θ2 + θ′′2L2 sin θ2. (3.4)

上側の振り子の運動方程式は

m1x′′1 = −T1 sin θ1 + T2 sin θ2 (3.5)

m1y′′1 = T1 cos θ1 − T2 cos θ2 − m1g. (3.6)

下側の振り子の運動方程式は

m2x′′2 = −T2 sin θ2 (3.7)

m2y′′2 = T2 cos θ2 − m2g. (3.8)

これらを整理して、θの二次導関数を求める。

m1x′′1 = −T1 sin θ1 − m2x

′′2 (3.9)

m1y′′1 = T1 cos θ1 − m2y

′′2 − m2g − m1g. (3.10)

T1 sin θ1 cos θ1 = − cos θ1(m1x′′1 + m2x

′′2) (3.11)

T1 sin θ1 cos θ1 = sin(m1y′′1 + m2y

′′2 + m2g + m1g). (3.12)

∴ sin θ1(m1y′′1 + m2y

′′2 + m2g + m1g) = − cos θ1(m1x

′′1 + m2x

′′2). (3.13)

T2 sin θ2 cos θ2 = − cos θ2(m2x′′2) (3.14)

T2 sin θ2 cos θ2 = sin θ2(m2y′′2 + m2g). (3.15)

sin θ2(m2y′′2 + m2g) = − cos θ2(m2x

′′2). (3.16)

(3.13)に (3.1),(3.2),(3.3),(3.4)を代入して

sin θ1(m1θ′21 L1 cos θ1 + m1θ

′′1L1 sin θ1 + m2y

′′1 + m2θ

′22 L2 cos θ2 + m2θ

′′2L2 sin θ2 + m2g + m1g)

= − cos θ1(−m1θ′21 L1 sin θ1 + m1θ

′′1L1 cos θ1 + m2x

′′1 − m2θ

′22 L2 sin θ2 + m2θ

′′2L2 cos θ2)

m1θ′21 L1 sin θ1 cos θ1 + m1θ

′′1L1 sin2 θ1 + m2y

′′1 sin θ1 + m2θ

′22 L2 sin θ1 cos θ2 + m2θ

′′2L2 sin θ1 sin θ2

+ (m1 + m2)g sin θ1 − m1θ′21 L1 sin θ1 cos θ1 + m1θ

′′1L1 cos2 θ1 + m2x

′′1 cos θ1

− m2θ′22 L2 sin θ2 cos θ1 + m2θ

′′2L2 cos θ1 cos θ2 = 0

6

Page 10: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

m1θ′′1L1 + m2θ

′21 L1 sin θ1 cos θ1 + m2θ

′′1L1 sin2 θ1 − m2θ

′21 L1 sin θ1 cos θ1 + m2θ

′′1L2 cos2 θ1

+ m2θ′22 L2(sin θ1 cos θ2 − sin θ2 cos θ2) + m2θ

′′2L2(sin θ1 sin θ2 + cos θ1 cos θ2)

+ (m1 + m2)g sin θ1 = 0

∴ m1θ′′1L1+m2θ

′′1L1+m2θ

′22 L2 sin(θ1−θ2)+m2θ

′′2L2 cos(θ1−θ2)+(m1+m2)g sin θ1 = 0

(m1 + m2)L1θ′′1 + m2L2 cos(θ1 − θ2)θ′′2 = −m2θ

′22 L2 sin(θ1 − θ2) − (m1 + m2)g sin θ1 (3.17)

(3.16)に (3.3),(3.4)を代入して

sin θ2(m2y′′1 + m2θ

′22 L2 cos θ2 + m2θ

′′2L2 sin θ2 + m2g)

= − cos θ2(m2x′′1 − m2θ

′22 L2 sin θ2 + m2θ

′′2L2 cos θ2)

(3.1),(3.2)を代入

sin θ2(m2θ′21 L1 cos θ1 + m2θ

′′1L1 sin θ1 + m2θ

′22 L2 cos θ2 + m2θ

′′2L2 sin θ2 + m2g)

+ cos θ2(−m2θ′21 L1 sin θ1 + m2θ

′′1L1 cos θ1 − m2θ

′22 L2 sin θ2 + m2θ

′′2L2θ2) = 0

m2θ′21 L1 sin θ2 cos θ1 + m2θ

′′1L1 sin θ1 sin θ2 + m2θ

′22 L2 sin θ2 cos θ2 + m2θ

′′2L2 sin2 θ2

+ m2g sin θ2 − m2θ′21 L1 sin θ1 cos θ2 + m2θ

′′1L1 cos θ1 cos θ2 − m2θ

′22 L2 sin θ2 cos θ2

+ m2θ′′2L2 cos2 θ2 = 0

∴ m2L1 cos(θ1 − θ2)θ′′1 + m2L2θ′′2 = m2θ

′21 L1 sin(θ1 − θ2) − m2g sin θ2 (3.18)

(3.17), (3.18)を連立して、θ′′1 , θ′′2 を解く。

(3.18) × cos(θ1 − θ2) :

m2L1 cos2(θ1 − θ2)θ′′1 + m2L2 cos(θ1 − θ2)θ′′2

= m2θ′21 L1 sin(θ1 − θ2) cos(θ1 − θ2) − m2g sin θ2 cos(θ1 − θ2) (3.19)

(3.17)-(3.19) :

{(m1 + m2)L1 − m2L1 cos2(θ1 − θ2)

}θ′′1

= −m2θ′22 L2 sin(θ1 − θ2) − m2θ

′21 L1 sin(θ1 − θ2) cos(θ1 − θ”)

− (m1 + m2)g sin θ1 + m2g sin θ2 cos(θ1 − θ2)

7

Page 11: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

{(m1 + m2)L1 − m2L1 cos2(θ1 − θ2)

}θ′′1

= −m2 sin(θ1 − θ2) · (θ′22 L2 + θ′21 L1 cos(θ1 − θ2))

− (m1 + m2)g sin θ1 + m2g sin θ2 cos(θ1 − θ2)

∴ L1

{2(m1 + m2) − m2 cos 2(θ1 − θ2) − m2

}θ′′1

= −2m2 sin(θ1 − θ2) · (θ′22 + θ′21 L1 cos(θ1 − θ2))

− 2(m1 + m2)g sin θ1 + 2m2g sin θ2 cos(θ1 − θ2)

∴ L1

{2m1 + m2 − m2 cos(2θ1 − 2θ2)

}θ′′1

= −2m2 sin(θ1 − θ2) · (θ′22 + θ′21 L1 cos(θ1 − θ2)) − 2m1g sin θ1

− 2m2g sin θ1 + 2m2g sin θ2(cos θ1 cos θ2 + sin θ1 sin θ2)

∴ L1

{2m1 + m2 − m2 cos(2θ1 − 2θ2)

}θ′′1

= −2m2 sin(θ1 − θ2) · (θ′22 + θ′21 L1 cos(θ1 − θ2)) − 2m1g sin θ1

− 2m2g sin θ1 + 2m2g sin θ2 cos θ1 cos θ2 + 2m2g sin θ1 sin2 θ2

∴ L1

{2m1 + m2 − m2 cos(2θ1 − 2θ2)

}θ′′1

= −2m2 sin(θ1 − θ2) · (θ′22 + θ′21 L1 cos(θ1 − θ2)) − 2m1g sin θ1

− 2m2g sin θ1 + m2g sin 2θ2 cos θ1 + 2m2g sin θ1 − 2m2g sin θ1 cos2 θ2

∴ L1

{2m1 + m2 − m2 cos(2θ1 − 2θ2)

}θ′′1

= −2m2 sin(θ1 − θ2) · (θ′22 + θ′21 L1 cos(θ1 − θ2)) − 2m1g sin θ1 − 2m2g sin θ1

+ m2g sin 2θ2 cos θ1 + 2m2g sin θ1 − m2g sin θ1 − m2g sin θ1 cos 2θ2

∴ L1

{2m1 + m2 − m2 cos(2θ1 − 2θ2)

}θ′′1

= −2m2 sin(θ1 − θ2) · (θ′22 + θ′21 L1 cos(θ1 − θ2)) − 2m1g sin θ1

− m2g sin θ1 − m2g sin(θ1 − 2θ2)

∴ L1

{2m1 + m2 − m2 cos(2θ1 − 2θ2)

}θ′′1

= −2m2 sin(θ1 − θ2) · (θ′22 + θ′21 L1 cos(θ1 − θ2)) − g(2m1 + m2) sin θ1 − m2g sin(θ1 − 2θ2)

∴ θ′′1 =−g(2m1 + m2) sin θ1 − m2g sin(θ − 2θ2) − 2 sin(θ1 − θ2)m2

(θ′22 L2 + θ′21 L1 cos(θ1 − θ2)

)L1

(2m1 + m2 − m2 cos(2m1 + m2 − m2 cos(2θ1 − 2θ2)

)(3.20)

(3.17) × cos(θ1 − θ2)

(m1 + m2)L1 cos(θ1 − θ2)θ′′1 + m2L2 cos2(θ1 − θ2)θ′′2

= −m2θ′22 L2 sin(θ1 − θ2) cos(θ1 − θ2) − (m1 + m2)g sin θ1 cos(θ1 − θ2) (3.21)

(3.18) × (m1 + m2) × 1m2

8

Page 12: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

(m1 + m2)L1 cos(θ1 − θ2)θ′′1 + (m1 + m2)L2θ′′2

= (m1 + m2)θ′21 L1 sin(θ1 − θ2) − (m1 + m2)g sin θ2 (3.22)

(3.21) − (3.22) :

m2L2 cos2(θ1 − θ2) − (m1 + m2)L2θ′′2

= −m2θ′22 L2 sin(θ1 − θ2) cos(θ1 − θ2) − (m1 + m2)g sin θ1 cos(θ1 − θ2)

− (m1 + m2)θ′21 L1 sin(θ1 − θ2) + (m1 + m2)g sin θ2

(m2L2 cos(2θ1 − 2θ2) + m2L2 − 2(m1 + m2)L2)θ′′2

= −2m2θ′22 L2 sin(θ1 − θ2) cos(θ1 − θ2) − 2(m1 + m2)g sin θ1 cos(θ1 − θ2)

− 2(m1 + m2)θ′21 L1 sin(θ1 − θ2) + (m1 + m2)g sin θ2

∴ L2

{−2m1 − m2 + m2 cos(2θ1 − 2θ2)}θ′′2

= −2(m1 + m2)θ′21 L1 sin(θ1 − θ2) − 2m2θ′22 L2 sin(θ1 − θ2) cos(θ1 − θ2)

− 2(m1 + m2)g(sin θ1 cos θ1 cos θ2 + sin2 θ1 sin θ2 − sin θ2)

∴ L2

{2m1 + m2 − m2 cos(2θ1 − 2θ2)

}θ′′2

= 2(m1 + m2)θ′21 L1 sin(θ1 − θ2) + 2m2θ′22 L2 sin(θ1 − θ2) cos(θ1 − θ2)

+ 2(m1 + m2)g(sin θ1 cos θ1 cos θ2 + sin θ2 − cos2 θ1 sin θ2 − sin θ2)

∴ L2

{2m1 + m2 − m2 cos(2θ1 − 2θ2)

}θ′′2

= 2(m1 + m2)θ′21 L1 sin(θ1 − θ2) + 2m2θ′22 L2 sin(θ1 − θ2) cos(θ1 − θ2)

+ 2(m1 + m2)g cos θ1(sin θ1 cos θ2 − cos θ1 sin θ2)

∴ L2

{2m1 + m2 − m2 cos(2θ1 − 2θ2)

}θ′′2

= 2(m1 + m2)θ′21 L1 sin(θ1 − θ2) + 2m2θ′22 L2 sin(θ1 − θ2) cos(θ1 − θ2)

+ 2(m1 + m2)g cos θ1 sin(θ1 − θ2)

∴ θ′′2 =2 sin(θ1 − θ2)

(θ′21 L1(m1 + m2) + g(m1 + m2) cos θ1 + θ′22 L2m2 cos(θ1 − θ2)

)L2

(2m1 + m2 − m2 cos(2θ1 − θ2)

)(3.23)

単振り子が簡単な微分方程式で表されるのに対し、二重振り子は二階の複雑な微分方程式で表さ

れることが分かった。そして、二重振り子の複雑な微分方程式も BASICを使用しプログラミングをする (§ 4.2)ことで実際の動きをシュミレーションすることができることができた。また、単振り子と単振動の動きをシュミレーション (§ 4.3)して、その動きの差を比較したが、角度が小さいときはあまり差がないが少し大きくなると差が出てくることが確認できた。

9

Page 13: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

第4章 補足 プログラムなど

4.1 単振り子のプログラム

BASICを使用し、単振り子のプログラムを作成した。

! Pendulum.BAS

! 微分方程式 dx/dt=f(t,x,y), dy/dt=g(t,x,y), y(0)=b の Runge-kutta 法による近似解

! 単振り子の運動方程式 dθ/dt=ω,dω/dt=(-g/l)sinθ

! 微分方程式 d^2θ/dt^2=(-g/l)sinθ

FUNCTION f(t,x,y)

LET F=y ! y=ω 角速度

END FUNCTION

FUNCTION g(t,x,y)

LET G=-(980/100)*SIN(x) ! l=100cm, x=θ 角

END FUNCTION

INPUT b !たとえば,1

SET WINDOW -20,20,-20,20

DRAW grid

SET POINT STYLE 4

PLOT LINES:0,0

PLOT LINES:-20,0;20,0

PLOT LINES:0,-20;0,20;

LET dt=0.01

FOR l=0 TO 19

! Runge-Kutta 法

LET x=-1

LET y=b

LET x1=10*SIN(-1)

10

Page 14: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

LET y1=-10*COS(-1)

SET POINT COLOR "red"

PLOT POINTS:x1,y1

DO WHILE t<=20

SET DRAW mode Hidden ! hidden draw モードへ移行

CLEAR ! 初期化

DRAW axes

LET k10=f(t,x,y)*dt

LET k11=g(t,x,y)*dt

LET k20=f(t+dt/2,x+k10/2,y+k11/2)*dt

LET k21=g(t+dt/2,x+k10/2,y+k11/2)*dt

LET k30=f(t+dt/2,x+k20/2,y+k21/2)*dt

LET k31=g(t+dt/2,x+k20/2,y+k21/2)*dt

LET k40=f(t+dt,x+k30,y+k31)*dt

LET k41=g(t+dt,x+k30,y+k31)*dt

LET x=x+(k10+2*k20+2*k30+k40)/6.0

LET y=y+(k11+2*k21+2*k31+k41)/6.0

LET t=t+dt

LET x1=10*SIN(x)

LET y1=-10*COS(x)

PLOT POINTS:x1,y1

PLOT LINES:x1,y1;0,0

PLOT LINES:x1,y1;x1,y1

SET DRAW mode explicit ! explicit draw モードへ移行

! wait delay 0.01

LOOP

LET b=b+1

NEXT l

END

11

Page 15: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

4.2 二重振り子のプログラム

BASICを使用し、二重振り子のプログラムを作成した。

! Double_Pendulum.BAS

! 微分方程式 d^2x/dt^2=g(t,x,x’,u,u’),

! d^2y/dt^2=q(t,x,x’,u,u’) の Runge-kutta 法による近似解

! 微分方程式 dx/dt=y=f(t,x,x’), dy/dt=p(t,x,x’)の Runge-kutta 法による近似解

LET L1=1

LET L2=0.7

LET m1=0.5

LET m2=0.5

LET g0=9.80

FUNCTION f(t,x,y)

LET F=y ! y=ω 角速度

END FUNCTION

FUNCTION g(t,x,y,u,v)

LET G=(-g0*(2*m1+m2)*SIN(x)-m2*g0*SIN(x-2*u)

-2*SIN(x-u)*m2*(v*v*L2+y*y*L1*COS(x-u)))

/(L1*(2*m1+m2-m2*COS(2*x-2*u))) ! l=100cm, x=θ 角

END FUNCTION

FUNCTION p(t,u,v)

LET P=v ! v=ω 角速度

END FUNCTION

FUNCTION q(t,x,y,u,v)

LET Q=(2*SIN(x-u)*(y*y*L1*(m1+m2)

+g0*(m1+m2)*COS(x)+v*v*L2*m2*COS(x-u)))

/(L2*(2*m1+m2-m2*COS(2*x-2*u))) ! l=100cm, u=θ 角

END FUNCTION

INPUT b ! たとえば,1

SET WINDOW -2.2,2.2,-2.2,2.2

DRAW grid

SET POINT STYLE 4

PLOT LINES:0,0

PLOT LINES:-20,0;20,0

PLOT LINES:0,-20;0,20;

12

Page 16: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

LET dt=0.01

! Runge-Kutta 法

LET x=1

LET y=b

LET u=0

LET v=0

LET x1=L1*SIN(-1)

LET y1=-L1*COS(-1)

SET POINT COLOR "red"

PLOT POINTS:x1,y1

DO WHILE t<=100

SET DRAW mode Hidden ! hidden draw モードへ移行

CLEAR ! 初期化

DRAW axes

LET k10=f(t,x,y)*dt

LET k11=g(t,x,y,u,v)*dt

LET h10=p(t,u,v)*dt

LET h11=q(t,x,y,u,v)*dt

LET k20=f(t+dt/2,x+k10/2,y+k11/2)*dt

LET k21=g(t+dt/2,x+k10/2,y+k11/2,u+h10/2,v+h11/2)*dt

LET h20=p(t+dt/2,u+h10/2,v+h11/2)*dt

LET h21=q(t+dt/2,x+k10/2,y+k11/2,u+h10/2,v+h11/2)*dt

LET k30=f(t+dt/2,x+k20/2,y+k21/2)*dt

LET k31=g(t+dt/2,x+k20/2,y+k21/2,u+h20/2,v+h21/2)*dt

LET h30=p(t+dt/2,u+h20/2,v+h21/2)*dt

LET h31=q(t+dt/2,x+k20/2,y+k21/2,u+h20/2,v+h21/2)*dt

LET k40=f(t+dt,x+k30,y+k31)*dt

LET k41=g(t+dt,x+k30,y+k31,u+h30,k+h31)*dt

LET h40=p(t+dt,u+h30,v+h31)*dt

LET h41=q(t+dt,x+k30,y+k31,u+h30,v+h31)*dt

LET x=x+(k10+2*k20+2*k30+k40)/6.0

13

Page 17: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

LET y=y+(k11+2*k21+2*k31+k41)/6.0

LET u=u+(h10+2*h20+2*h30+h40)/6.0

LET v=v+(h11+2*h21+2*h31+h41)/6.0

LET t=t+dt

LET x1=L1*SIN(x)

LET y1=-L1*COS(x)

PLOT POINTS:x1,y1

DRAW disk WITH SCALE(0.03)*SHIFT(x1,y1)

PLOT LINES:x1,y1;0,0

LET u1=-L2*SIN(u)

LET v1=L2*COS(u)

SET DRAW mode explicit ! explicit draw モードへ移行

! wait delay 0.01

PLOT POINTS:x1-u1,y1-v1

DRAW disk WITH SCALE(0.03)*SHIFT(x1-u1,y1-v1)

PLOT LINES:x1-u1,y1-v1;x1,y1

SET DRAW mode explicit ! explicit draw モードへ移行

! wait delay 0.01

LOOP

LET b=b+1

END

14

Page 18: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

4.3 単振り子と単振動のプログラム

BASICを使用し、単振り子と単振動の違いを示すのプログラムを作成した。

! Tan.BAS

! 微分方程式 dx/dt=f(t,x,y), dy/dt=g(t,x,y), y(0)=b の Runge-kutta 法による近似解

! 微分方程式 du/dt=p(t,u,v), dv/dt=g(t,u,v), v(0)=b の Runge-kutta 法による近似解

! 単振り子の運動方程式  dθ/dt=ω,dω/dt=(-g/l)sinθ

! 微分方程式  d^2θ/dt^2=(-g/l)sinθ

FUNCTION f(t,x,y)

LET F=y ! y=ω 角速度

END FUNCTION

!

FUNCTION g(t,x,y)

LET G=-(980/100)*SIN(x) ! l=100cm, x=θ 角

END FUNCTION

!

FUNCTION p(t,u,v)

LET P=v ! v=ω 角速度

END FUNCTION

!

FUNCTION q(t,u,v)

LET Q=-(980/100)*u ! l=100cm, u=θ 角

END FUNCTION

!

INPUT b ! たとえば, 1

SET WINDOW -20,20,-20,20

DRAW grid

SET POINT STYLE 4

PLOT LINES:0,0

PLOT LINES:-20,0;20,0

PLOT LINES:0,-20;0,20;

LET dt=0.01

FOR l=0 TO 19 ! Runge-Kutta 法

LET x=b

LET y=0

LET u=b

LET v=0

15

Page 19: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

LET x1=10*SIN(-1)

LET y1=-10*COS(-1)

LET u1=10*SIN(-1)

LET v1=-10*COS(-1)

DO WHILE t<=20

SET DRAW mode Hidden ! hidden draw モードへ移行

CLEAR ! 初期化

DRAW axes

LET k10=f(t,x,y)*dt

LET k11=g(t,x,y)*dt

LET k20=f(t+dt/2,x+k10/2,y+k11/2)*dt

LET k21=g(t+dt/2,x+k10/2,y+k11/2)*dt

LET k30=f(t+dt/2,x+k20/2,y+k21/2)*dt

LET k31=g(t+dt/2,x+k20/2,y+k21/2)*dt

LET k40=f(t+dt,x+k30,y+k31)*dt

LET k41=g(t+dt,x+k30,y+k31)*dt

LET x=x+(k10+2*k20+2*k30+k40)/6.0

LET y=y+(k11+2*k21+2*k31+k41)/6.0

LET x1=10*SIN(x)

LET y1=-10*COS(x)

! SET DRAW mode explicit ! explicit draw モードへ移行

LET h10=p(t,u,v)*dt

LET h11=q(t,u,v)*dt

LET h20=p(t+dt/2,u+h10/2,v+h11/2)*dt

LET h21=q(t+dt/2,u+h10/2,v+h11/2)*dt

LET h30=p(t+dt/2,u+h20/2,v+h21/2)*dt

LET h31=q(t+dt/2,u+h20/2,v+h21/2)*dt

LET h40=p(t+dt,u+h30,v+h31)*dt

LET h41=q(t+dt,u+h30,v+h31)*dt

LET u=u+(h10+2*h20+2*h30+h40)/6.0

LET v=v+(h11+2*h21+2*h31+h41)/6.0

LET u1=10*SIN(u)

LET v1=-10*COS(u)

16

Page 20: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

LET t=t+dt

SET POINT COLOR "green"

PLOT POINTS:x1,y1

PLOT LINES:x1,y1;0,0

SET POINT COLOR "blue"

PLOT POINTS:u1,v1

PLOT LINES:u1,v1;0,0

SET DRAW mode explicit ! explicit draw モードへ移行

LOOP

LET b=b+1

NEXT l

END

参考文献

[1] 橋本洋志・石井千春・山浦富雄・大山恭弘,微分方程式+モデルデザイン教本,オーム社,2003,p.114-119.

[2] Jerry B.Marion,伊原千秋訳: 力学�, 紀伊國屋書店, 1972.

[3] MyPhysicsLab, Double Pendulum Physics Simulation:

http://www.myphysicslab.com/dbl_pendulum.html

17

Page 21: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

第5章 クロソイド曲線

5.1 クロソイド曲線

定義 曲線上の点のパラメータ表示 P (t) = (x(t), y(t)) (−∞ < t < ∞) に対して、⎧⎪⎪⎪⎨⎪⎪⎪⎩

x(t) =∫ t

0

cosθ2

2dθ

y(t) =∫ t

0

sinθ2

2dθ (−∞ < t < +∞)

と書き表すことができる曲線をコルニューの螺旋または、クロソイド曲線という (下図)。

長さと接線 クロソイド曲線の長さ L(t0) とすると

L(t0) =∫ t0

0

√x′(t)2 + y′(t)2 dt

=∫ t0

0

√cos2

t2

2+ sin2 t2

2dt

= t0 (t0 ≥ 0)

18

Page 22: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

となる。これは、原点 P (0) = (0, 0) から P (t) (t ≥ 0) までのクロソイド曲線の長さ L(t) が t と

いうことになり、パラメータ t は弧の長さを表していることがわかる。(クロソイド曲線は原点に関して点対称である!)よって、原点からの (曲線の長さ)弧長 s(≥ 0) に対応する (上の)点 (x(s), y(s)) は

⎧⎪⎪⎨⎪⎪⎩

x(s) =∫ s

0

cosθ2

2dθ

y(s) =∫ s

0

sinθ2

2dθ

で表される。よってクロソイド曲線の弧長 s によるパラメータ表示に対して⎧⎪⎪⎨⎪⎪⎩

dx/ds = coss2

2

dy/ds = sins2

2

となる微分方程式を満たす曲線であることがわかる。

さて、クロソイド曲線の曲率を求めてみる。

クロソイド曲線のパラメータ表示

P (t) = (x(t), y(t)) =(∫ t

0

cosθ2

2dθ,

∫ t

0

sinθ2

2dθ)

から 曲率K(t) =x′(t)y′′(t) − x′′(t)y′(t)

(x′(t)2 + y′(t)2)32

の式を使って計算できる。さて、弧長 s = t によるパラメータにおいては x′(s)2 + y′(s)2 = 1 であるから

P ′(s) = (x′(s), y′(s)) =(cos

s2

2, sin

s2

2

)P ′′(s) = (x′′(s), y′′(s)) =

(−s sin

s2

2, s cos

s2

2

)であるから、

K(s) = s cos2s2

2+ s sin2 s2

2= s.

このことより、クロソイド曲線は曲率がある点からの長さに比例して変化する曲線であることがわ

かる。

5.2 クロソイド曲線の特徴

クロソイド曲線上の点 P の原点からの弧長 s によるパラメータ表示 P (s) = (x(s), y(s)) は

⎧⎪⎪⎨⎪⎪⎩

x(s) =∫ s

0

cosθ2

2dθ

y(s) =∫ s

0

sinθ2

2dθ

19

Page 23: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

と書くことができる。P (s) = (x(s), y(s)) でのクロソイド曲線の接線の傾きを調べてみる。

dy

dx=

dy

dsdx

ds

=sin

s2

2

coss2

2

= tans2

2(−∞ < s < ∞)

であるから傾きを m とすると、原点での傾きは m = tan 0 = 0 また、m = +∞ となるのは、

tans2

2= +∞ となるときであるから、tan

s2

2= +∞ すなわち

s2

2=

(2n − 1)π2

(n ∈ N)より

s = ±√(2n − 1)π (n ∈ N) のときである。

つぎに、クロソイド曲線上を速度 c で運動している点 P について考える。

クロソイド曲線上を速度 cで運動している点 P = (x, y)までの原点からの弧長は s = ctと考えられ

るから、時刻 tの時の位置は P̃ (t) = P (ct)また時刻 t+Δtの時の位置は P̃ (t+Δt) = P (c(t+Δt))で表される。

p′(c(t + Δt))

二点 P̃ (t) = P (ct) = (x(ct), y(ct)), P̃ (t + Δt) = P (c(t + Δt)) をとる (上図)。また、P̃ (t) での傾きを P̃ ′(t)、P̃ (t + Δt) での傾きを P̃ ′(t + Δt) とする。P̃ (t) の地点にいるときを正面だとして P̃ (t + Δt) の地点に着いたときの進行方向の変化を見るため x, y 軸上においてみ

ると次の図のようになる。

今、k(t) を時刻 t における (クロソイド曲線の)接線が x軸となす角とする。時刻 t から t + Δt

の間に進行方向が Δk だけ変わったとすると

cosΔk =P̃ ′(t + Δt) · P̃ ′(t)

‖P̃ ′(t + Δt)‖‖P̃ ′(t)‖

20

Page 24: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

と表すことができる。ここで、

P̃ ′(t) = (cx′(ct), cy′(ct)) = c(cos

(ct)2

2, sin

(ct)2

2

)である。また

P̃ ′(t + Δt) = (cx′(c(t + Δt)), cy′(c(t + Δt)) = c(cos

(ct + cΔt)2

2, sin

(ct + cΔt)2)2

)となる。明らかに、

‖P̃ ′(t)‖ = c ·√

1 = c, ‖P̃ ′(t + Δt)‖ = c ·√

1 = c

である。よって

cosΔk =P̃ ′(t + Δt) · P̃ ′(t)

c2

=c cos

(ct + cΔt)2

2· c cos

(ct)2

2+ c sin (ct+cΔt)2

2 · c sin (ct)2

2

c2

= cos(ct + cΔt)2 − (ct)2

2

= cos2ct · cΔt + (cΔt)2

2= cos

(ct·cΔt +

(cΔt)2

2

)となる。Δk は小さいと考えてよいから、

Δk = ct · cΔt +(cΔt)2

2となり、変形すると

Δk

Δt= c2t +

c2Δt

2となる。

Δtを 0に近づけると

limΔt→0

Δk

Δt= c2t

したがって角速度 k′(t) はk′(t) = c2t.

さらに角加速度 k′′(t) はk′′(t) = c2.

進行方向 k(t) は

k(t) =12(ct)2 + c′ (c′ :積分定数).

よって、クロソイド曲線は、角速度が時間に比例し、角加速度は一定である。そして、進行方向

(の傾き角) k(t) は時間の2乗に比例して変化している。

これが示す意味は次の事柄である。

21

Page 25: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

クロソイド曲線上を一定の速度 c で走る車の運転手が車のハンドルを (ハンドルの軸回りに)一定の角速度 ω (1秒間当たり一定の角 ω rad) だけハンドルを回しているとすると、車の進行方向は1秒間当たり一定の角 c2 増加 (減少)する (ように設計されている)ので

k′(t) = c2t = limΔt→0

Δk

Δt.

Δk は、車の進行方向の変化、つまり P (ct), P (c(t + Δt)) 地点での角の差と言える。k′(t) は、角を時間で割っているので、車の進行方向に1秒間でどのくらいの角変化があるか、つまり、車の進

行方向の角速度を表している。

k′(t) = c2t ということは、例えば、

t = 1のとき、k′(t) = c2

t = 2のとき、k′(t) = 2c2

t = 3のとき、k′(t) = 3c2

· · ·となるとき、ハンドルの回転角を考える。

t = 1のときとは、つまり、クロソイド曲線上を車が走り出して1秒後のことであり、k′(1) = c2

とは、1秒間で回したハンドルの角は ω である。

k′(2) = k′(1) + c2 とは、2秒間で回したハンドルの角は ω + ω = 2ω である。

k′(3) = k′(2) + c2 とは、3秒間で回したハンドルの角は 2ω + ω = 3ω である。

よって、1秒で ωラジアン、2秒で 2ωラジアン、…という具合で変化する。

ここで、運転手が車のハンドルを一定の角速度で回し続けるということについて考える。

車に乗っている場合、運転手は何秒後であっても、常にそのときそのときが正面を向いている状況

となる。

なので、1秒間で ω変化した状態がまた正面となる。次の1秒間で ω変化した状態もまた正面と

なる。

運転手は、そのときそのときで同じ角度ずつハンドルを回しているのである。

よって、常に1秒間で ω ずつ変化すると考えられるので一定の角速度でハンドルを回し続けてい

ると考えることができる。

22

Page 26: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

第6章 プログラミングを使ったクロソイド曲線の作図 

6.1 台形公式

補題

関数 f(x) (a≤x≤b) は2回微分可能とする。このとき

∫ b

a

f(x) dx =f(a) + f(b)

2(b − a) − 1

12f ′′(ξ)(b − a)3 (a < ∃ ξ < b)

が成り立つ。

証明 関数

z(t) =∫ t

a

f(x)dx − f(a) + f(t)2

(t − a) − K(t − a)3 (a≤t≤b)

における定数 K を z(b) = 0となるように定める。このとき

z′(t) = f(t) − 12f ′(t)(t − a) − 1

2(f(a) + f(t)) − 3K(t − a)2

= −12(f(a) − f(t)) − 1

2f ′(t)(t − a) − 3K(t − a)2

z′′(t) =12f ′(t) − 1

2f ′(t) − 1

2f ′′(t)(t − a) − 6K(t − a)

= −12f ′′(t)(t − a) − 6K(t − a)

明らかに、z(a) = z′(a) = 0 であるから、Taylorの定理により、

z(b) = z(a) + z′(a)(b − a) +z′′(ξ)

2(b − a)2

=z′′(ξ)

2(b − a)2 (a < ∃ξ < b).

z(b) = 0であるから、z′′(ξ) = 0でなければならない。したがって

z′′(ξ) = −12f ′′(ξ)(ξ − a) − 6K(ξ − a) = 0

となり、

K = − 112

f ′′(ξ)

こうして

z(b) =∫ b

a

f(x)dx − f(a) + f(b)2

(b − a) +112

f ′′(ξ)(b − a)3 = 0

23

Page 27: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

すなわち ∫ b

a

f(x)dx =f(a) + f(b)

2(b − a) − 1

12f ′′(ξ)(b − a)3 (a < ∃ξ < b) //

定理 関数 f(x)(a≤x≤b)は2回微分可能で |f ′′(x)|≤M とする。閉区間 [a,b]を n 等分する分点を

a = a0 < a1 < · · · < an−1 < an = b とし、

Tn =(b − a)

2n(f(a) + 2(f(a1) + f(a2) + · · · + f(an−1)) + f(b))

=b − a

2n

n∑k=1

{f(ak−1) + f(ak)

}

と置くと ∣∣∣∫ b

a

f(x)dx − Tn

∣∣∣≤M(b − a)3

12n2.

証明 上の補題から

∣∣∣∫ b

a

f(x)dx − Tn

∣∣∣ =∣∣∣ n∑k=1

∫ ak

ak−1

f(x)dx − (b − a)2n

n∑k=1

{f(ak−1) + f(ak)

}∣∣∣=

n∑k=1

∣∣∣∫ ak

ak−1

f(x)dx − (ak − ak−1)2

{f(ak−1) + f(ak)

}∣∣∣≤ n

M

12

(b − a

n

)3

=M(b − a)3

12n2. //

台形公式を利用して,次の関数 C(x) =∫ x

0

cosθ2

2dθ , S(x) =

∫ x

0

sinθ2

2dθ を近似計算できる。

6.2 台形公式を使う 作図方法

! Clothoid_Trapezoidalrule.BAS

! clothoid = Cornu Spiral

!

SET WINDOW -2,2,-2,2 ! 画面設定

DRAW axes

SET LINE COLOR 2 ! 色指定

LET n = 1000 ! 1/1000 刻みで考える

FOR t=0 TO 8000 ! 0 <= x <= 8 = 8000/1000

LET y=S(t,n) ! x = t/1000

24

Page 28: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

LET x=C(t,n) ! x = t/1000

PLOT LINES: x,y;

NEXT t

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

FUNCTION S(t, n) ! S(t/n) の近似値を台形公式で求める

IF T > 0 THEN

LET b = 0.0 !kが 0のときの値

FOR k=0 TO t-1

LET a = k/n

LET b = b + 2*SIN(a*a/2) !k=0,tのとき以外の台形の上底と下底の長さの和

NEXT k

LET a = t/n

LET b = b + SIN(a*a/2) !k=tのときの台形の一辺の長さを加えた

LET S = b/(2*n) ! kが 0から tまでの台形の上底と下底の長さの和×高さ (n)×

1/2で面積を出す

ELSE

LET S = 0

END IF

END FUNCTION

FUNCTION C(t,n) ! C(t/n) の近似値を台形公式で求める

IF t > 0 THEN

LET b = 1.0 !kが 0のときの値

FOR k=1 TO t-1

LET a = k/n

LET b = b + 2*COS(a*a/2) !k=0,tのとき以外の台形の上底と下底の長さの和

NEXT K

LET a = t/n

LET b = b + COS(a*a/2) ! k=tのときの台形の一辺の長さ

LET C = b/(2*n) !kが 0から tまでの台形の上底と下底の長さの和×高さ (n)×

1/2で面積を出す

ELSE

25

Page 29: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

LET C = 0

END IF

END FUNCTION

END

上のプログラムの説明をする。

台形公式を利用して次の関数 S(x) =∫ x

0

sinθ2

2dθ と C(x) =

∫ x

0

cosθ2

2dθ を近似計算する。

それぞれを台形公式で計算するため、1 を n = 1000 等分した1

1000刻みで、S(x), C(x) を計算

する。x =t

nのとき、k を 0 から t まで台形の上底と下底にあたる部分を足して行く。このとき、

両方の端、つまり 0, t のとき、以外は、隣り合う台形と辺が重複しているので2倍にして足して

いく。そして、最後に高さとして12を掛ける。このような仕組みでこのプログラムは構成されて

いる。

さて、 n = 1000 (1

1000刻み)でプログラムしていたものを n = 300 (

1300

)刻みでプログラムした場合と近似値を比較してみる。

n = 1000 を n = 300 としてもそれほどの誤差はないということを以下に示す。n = 1000 のとき

台形公式∣∣∣∫ b

a

f(t) dt − Tn

∣∣∣≤M(b − a)3

12n2

を利用して ∣∣∣Tn −∫ x

0

cost2

2dt∣∣∣ ≤ M(x − 0)3

12 × 10002(0 ≤ x ≤ 8)

となる。

M = max |f ′′(t)| (0 ≤ t ≤ 8)

ここで f ′′(t) は

f(t) = cost2

2

f ′(t) = −t sint2

2

f ′′(t) = − sint2

2− t2 cos

t2

2.

よって

M = max |f ′′(t)| ≤∣∣∣− sin

t2

2

∣∣∣+ t2∣∣∣− cos

t2

2

∣∣∣≤ 1 + t2 ≤ 65 (0 ≤ t ≤ 8)

となる。よって誤差は

∣∣∣Tn −∫ x

0

cost2

2dt∣∣∣ ≤ 65 × 83

12 × 10002=

269375

<1

360となる。

26

Page 30: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

一方 n = 300 のときは、同様にして

∣∣∣Tn −∫ x

0

cost2

2dt∣∣∣ ≤ M(x − 0)3

12 × 3002(0 ≤ x ≤ 8)

となる。上で求めた M ≤ 65 を利用して、誤差は

∣∣∣Tn −∫ x

0

cost2

2dt∣∣∣ ≤ 65 × 83

12 × 3002=

1043375

<132

となる。n = 300 としても誤差は高々132なので、図に、見た目にはさほど影響しないことがわか

る (x = 8 の場合)。

これらのプログラムは C(x), S(x) を計算できるが (したがって点 C(x), S(x) をプロットできる)、Next k で次の k を計算するとき、また上底、下底を最初から足して行く構成となっているので、台形公式が重複して計算されクロソイド曲線を描くのに時間がかかってしまう。そこで、この構成

より、より早くクロソイド曲線を描くことができるようにしたプログラムが次の方法である。

6.3 作図の高速化

つぎのプログラムについて説明する。

§6.2作図方法1のプログラムにおいて、C(t/n)の近似値を台形公式で求める‘FUNCTION C(t,n)’については

C(t − 1, n) +(cos

(t − 1)2

2n2+ cos

t2

2n2

)× 1

2n= C(t, n)

という関係が成り立っているので、先に計算した面積を残しておいたままにし、次の台形の面積を

それ以前に計算した台形の面積に足していくようにプログラムしたものである。この作図方法は、

t が 1 から 6000 まで増加するとき、一回ごとに一から計算する手間を省き、より早くクロソイド曲線を描くことができる。§5.1 の図はこのプログラムで描いたものである。

! Clothoid.BAS

SET COLOR MIX(15)0,0,0

SET WINDOW -1.6,1.6,-1.6,1.6 !画面設定

DRAW axes

SET POINT STYLE 4

SET LINE COLOR 3 !色指定

LET n = 1000

LET s0=SS(6000,n) !s0=int_0^6 SIN(t^2/2) dt (= S(6) = -S(-6) )

LET c0=CC(6000,n) !c0=int_0^6 COS(t^2/2) dt (= C(6) = -C(-6) )

! t = -6000

27

Page 31: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

! x=-6000/n=-6から x=0まで点 (C(x),S(x))を作図する

! C(x) = int_0^x cos u^2/2 du = -int_x^0 cos u^2/2 du

! = -int_{-6}^0 cos u^2/2 ! du + int_{-6}^x cos u^2/2 du

! = -c0 + int_{-6}^x cos u^2/2 du

! C(x) = int_0^x cos u^2/2 du (-6 < x < 0) の台形近似 x = t/n

LET x0 = COS(6^2/2) !

LET bx = 0 ! bxは区間 [-6, x] 上の台形の上底または下底の和とする

LET C = bx ! Cは区間 [-6, x] 上の台形の面積の和とする

LET x = -c0 ! 初期値設定

! S(x) = int_0^x sin u^2/2 du = -int_x^0 sin u^2/2 du

! = -int_{-6}^0 sin u^2/2 ! du + int_{-6}^x sin u^2/2 du

! = -s0 + int_{-6}^x sin u^2/2 du

! S(x) = int_0^x sin u^2/2 du (-6 < x < 0) の台形近似 x = t/n

LET y0 = SIN(6^2/2)

LET by = 0 ! byは区間 [-6, x] 上の台形の上底または下底の和とする

LET S = by ! Sは区間 [-6, x] 上の台形の面積の和とする

LET y = -s0 ! 初期値設定

FOR t=1 TO 6000

! C(x) = int_0^x COS(t^2/2)dt の台形近似 x = t/n

LET a = (t-6000)/n

LET x1 = COS(a*a/2) !次の一辺 (上底または下底の部分)

LET bx = bx + x0+x1 !区間 [-6, x] 上の台形の上底と下底の和

LET C = bx/(2*n) !区間 [-6, x] 上の台形の面積の和

LET x = -c0+C !x座標における次の点となる

! S(x) = int_0^x sin t^2/2 dt の台形近似 x = t/n

LET a = (t-6000)/n

LET y1 = SIN(a*a/2) !次の一辺 (上底または下底の部分)

LET by = by + y0+y1 !区間 [-6, x] 上の台形の上底と下底の和

LET S = by/(2*n) !区間 [-6, x] 上の台形の面積の和

LET y = -s0+S !y座標における次の点となる

PLOT x,y

LET x0 = x1 !x0に x1を入れて、x1は次の台形の一辺とする

LET y0 = y1 !y0に y1を入れて、y1は次の台形の一辺とする

NEXT t

28

Page 32: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

! x=0から x=6000/1000=6まで点 $(C(x), S(x))$ を作図する

! t = 0

LET x0 = 0.0 !原点の x座標

LET bx = 0.0 !bxは区間 [0, x] 上の台形の上底または下底の和とする

LET C = 0.0 !Cは区間 [0, x] 上の台形の面積の和とする

LET x = C !x座標の値

LET y0 = 0.0 !初期値設定

LET by = 0.0 !byは区間 [0, x] 上の台形の上底または下底の和とする

LET S = 0.0 !区間 [0, x] 上の台形の面積の和とする

LET y = S !y座標の値

FOR t=1 TO 6000

! C(x) = int_0^x cos(s^2/2)ds の台形近似 x = t/n

LET a = t/n

LET x1 = COS(a*a/2) !次の一辺 (上底または下底の部分)

LET bx = bx + x0+x1 !区間 [0, x] 上の台形の上底と下底の和

LET C = bx/(2*n) !区間 [0, x] 上の台形の面積の和とする

LET x = C !x座標の値

! S(x) = int_0^x sin s^2/2 ds の台形近似

LET a = t/n

LET y1 = SIN(a*a/2) !次の一辺 (上底または下底の部分)

LET by = by + y0+y1 !区間 [0, x] 上の台形の上底と下底の和

LET S = by/(2*n) !区間 [0, x] 上の台形の面積の和とする

LET y = S !y座標の値

PLOT x,y

LET x0 = x1 !x0に x1を入れて、x1は次の台形の一辺とする

LET y0 = y1 !y0に y1を入れて、y1は次の台形の一辺とする

NEXT t

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

FUNCTION SS(t, n) ! S(t/n) の近似値を台形公式で求める

IF T > 0 THEN

LET b = 0.0

FOR k=0 TO t-1

29

Page 33: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

LET a = k/n

LET b = b + 2*SIN(a*a/2)

NEXT k

LET a = t/n

LET b = b + SIN(a*a/2)

LET SS = b/(2*n)

ELSE

LET SS = 0

END IF

END FUNCTION

FUNCTION CC(t, n) ! C(t/n) の近似値を台形公式で求める

IF T > 0 THEN

LET b = 1.0

FOR k=0 TO t-1

LET a = k/n

LET b = b + 2*COS(a*a/2)

NEXT k

LET a = t/n

LET b = b + COS(a*a/2)

LET CC = b/(2*n)

ELSE

LET CC = 0

END IF

END FUNCTION

END

6.4 微分方程式の近似解を求めるオイラー法を使う 作図方法

クロソイド曲線 (コルニューの螺旋) P (t) = (x(t), y(t)) は微分方程式

dx/dt = cost2

2, dy/dt = sin

t2

2(−∞ < t < ∞)

を満たしているので、解曲線をオイラー法を使って作図する。下の図はこのプログラムで描いたも

のである。

! Clothoid_Euler.BAS

! dx/dt=cos(t^2/2) , x(0)=a

! dy/dt=sin(t^2/2) , y(0)=b の近似解を Euler 法で求める

SET COLOR MIX(15)0,0,0

30

Page 34: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

LET a=0

LET b=0

LET x=a

LET y=b

LET dt=0.002 !変数tのきざみ

LET t=0

SET WINDOW -0.2,1.5,-0.2,1.5

DRAW grid

SET POINT STYLE 1

SET POINT COLOR 3

DO WHILE T<=10

PLOT POINTS:x,y

LET x=x+COS(t^2/2)*dt !x(t+dt)=x(t)+COS(t^2/2)*dt

LET y=y+SIN(t^2/2)*dt !y(t+dt)=y(t)+SIN(t^2/2)*dt

LET t=t+dt

LOOP

END

31

Page 35: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

6.5 クロソイド曲線の利用

クロソイド曲線は、高速道路や鉄道の線路、ジェットコースターのカーブに多く利用されている。

日本では 1952年に国道 17号の三国峠越えの区間を改良する際に初めて導入されたとされる。

ここでは高速道路のカーブで利用されているクロソイド曲線について考える。

高速道路のカーブは、車が走りやすいように設計されている。車が走りやすいカーブとは、カー

ブに差し掛かったときに、急にハンドルを切る必要がなく、急激な減速をすることがないカーブで

ある。

高速道路のカーブはクロソイド曲線と円周をうまく連結して設計する。つまり、直線からクロソイ

ド曲線を経て円周につなぎ、円周からクロソイド曲線を経て直線につなぐ。

このカーブを走るときのハンドル操作は、直線部分からクロソイド曲線に入ると一定の角速度でハ

ンドルを切り続け (§5.2)、円周に沿って走るときにはハンドルを切ったまま固定しておく。

つぎに円周からクロソイド曲線に沿って直線部分に戻るが、このときはハンドルを一定の角速度で

戻して行く。これによって、急にハンドルを切ることなくカーブを曲がることができる。つまり、

高速道路のカーブは、一定のスピードで走る車のハンドルを一定の角速度で回し続けたときの軌跡

を用いて設計されていると言える。また、運転手は先が見えないと減速をする。クロソイド曲線は

曲率が徐々に大きくなっていく曲線なので、先を見通すことができ、運転手はあまり減速をしない

でカーブに入ることができる。

原点を通るクロソイドの一部を描いて考えよう。上図のような原点 O から点 T へ進行方向が 90°

変わるカーブを車が走るという設定をおく。90°曲がる際には、点 A でクロソイド曲線から円周

に滑らかにつなげ、また点 B でクロソイド曲線に滑らかにつなげることになる。このとき、クロ

32

Page 36: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

ソイド曲線上の点 A における接線と点 A を通る円周の接線は共通であるから、この円の中心 C

はクロソイド曲線上の点 A における法線上にある。さらに、円の中心 C はクロソイド曲線の (点

A における)法線上の点で

長さ CA =クロソイド曲線の (点 Aにおける)曲率半径

曲率中心となっている (曲率円は曲線と二次の接触をしているから)。同様に、円の中心 C はクロ

ソイド曲線の (点 B における)曲率中心で

長さ CA =長さ CB =クロソイド曲線の (点 Bにおける)曲率半径

となっている。さらに、この通路

(

OABT は点 C を通る傾き -1 の直線に関して対称である。

さて、点 A, B, C の位置を求めよう。

A = P(s) 、∠ACB = 2α とすると、

π

4+ α =

π

2− s2

2

が成り立つから

α =π

4− s2

2.

故に、

円弧

(

ABの長さ = 2α×CAの長さ =(π

2−s2

)1s

2s−s.

従って、

通路

(OABTの長さ = 2s +円弧

(

ABの長さ =π

2s+ s.

相加相乗平均の考えから、容易に

通路

(

OABTの長さ =π

2s+ s ≥ 2

√π

2=

√2π

となる。

s =√

π

2の場合点 A = P(s) での曲率半径は s =

√2πまた通路

(

OABTの長さ =√

2π は最短と

なる (円弧

(

AB の長さ = 0)ことがわかる (参照. 上右図)。

90°曲がる道のりが 100 km,10 km,1 kmの場合、車は時速 100 km/h で走り 90°曲がることが

できるかについて考える。

時速 100 km/h の車が 100 km の道のりを走るのに要する時間は 1 時間もあるから、この間に 90°

曲がることはできると思われる。 10 km の道のりを走るのに要する時間は 6 分間もあるから、こ

の間に 90°曲がることもできそうである。 1 km の道のりを走るのに要する時間は 36 秒間である

―この間、車を横転させずに 90°曲がることはできるだろうか。

33

Page 37: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

g

円周上を走る車は遠心力の影響を打ち消すために、(円の中心へ向かう)向心力を路面の傾き片勾

配から得る必要がある。一般的には、道路の片勾配は 4.5°以内とされている。時速 100kmを保っ

て走るとすると、一番曲率が大きくなる円周部分での路面の傾斜を 4.5°以内におさまるような曲

率半径を求めよう。円運動する物体に働く向心力と遠心力の釣り合いから

(向心力) tan θ × mg =mv2

R(遠心力)

が成り立たねばならない。

片勾配を 4.5°以内にするためには、

100 km/h =100036

m/sec また

θ = 4.5°のとき tan θ = 0.0785 であることから、上の式を利用して曲率半径

R km は

R =v2

tan θ × g

=( 1000

36 )2

0.0785 × 9.8× 1

1000= 1.003

となる。

したがって片勾配を 4.5°以内にする

ためには R≧ 1.003 (km) でなけれ

ばならないことがわかる。よって

R = 1.003 (km)として考えることと

曲率半径 R kmと勾配 θ度の関係  (時速 100 km/h)

する。ここで x(s) =∫ s

0

cosθ2

2dθ, y(s) =

∫ s

0

sinθ2

2dθ のとき曲率 k(s) = sである。

曲率半径 R に対して R =1sとかける。R =

1sより Rs = 1である。

R = 1.003 (km) を代入してs × 1.003 = 1

s = 1.0 (km−1)

よってクロソイド曲線が円周の前後に少なくとも 1000mは必要となることがわかる。

なので、90°曲がる道のりのクロソイド曲線部分だけで 2.0km は必要なのでが 2km に満たない

34

Page 38: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

道のりでは走ることができないということになる。

さらに、計算

通路

(

OABTの長さ =π

2s+ s ≥ 2.5

からは、 2.5 km に満たない道のりでは走ることが

できないということがわかる。

(右図は s = 1.0 の場合)

C

A 

B

T

このような考えだけでカーブを考えることは非現実的かもしれない (―実際的な数学計算がどのよ

うになっているかは興味深く、社会的には重要な話題である)と思う。実際の道路については、道

路面の摩擦や車の重心の周りの回転モーメント等、物理的また工学的いろいろなことを配慮した

設計指針が道路構造令の中に規定されている。

6.6 カーブに円のみが使われた場合についての注意

まず、円の特徴ついて調べる。

半径 rの円周上を速度 c (c > 0)で走る車の軌道は P(t) = (x(t), y(t)) =(r cos

ct

r, r sin

ct

r

)(t ∈ R)

で表される。(x(t), y(t)) =(r cos

ct

r, r sin

ct

r

)を時間 t に関して微分すると

P ′(t) = (x′(t), y′(t)) =(−c sin

ct

r, c cos

ct

r

)となる。

(進行方向の傾き角) k(t)を時刻 tにおける (円周の)接線が x軸となす角として、時刻 tから t+Δt

の間に進行方向が Δk だけ変わったとすると

cosΔk =p′(t + Δt)·p′(t)

‖p(t + Δt)‖·‖p(t)‖

=c2 sin

c(t + Δt)r

· sin ct

r+ c2 cos

c(t + Δt)r

· cosct

rc2

= sinc(t + Δt)

r· sin ct

r+ cos

c(t + Δt)r

· cosct

r

= cosc · Δt

r

35

Page 39: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

なので、 Δk =c · Δt

r. よって

Δk

Δt=

c

r(一定) .

Δk

Δtは角速度である。 よって、円周上を速度 c (c > 0) で走る車の角速度は

c

rで一定である。

ちなみに、円の曲率を求めてみる。円周上の点は、半径を rとして

P (s) = (r coss

r, r sin

s

r) = (x(s), y(s)) (0 ≤ s ≤ 2πr)

と表すことができる。

P ′(s) = (− sins

r, cos

s

r)

P ′′(s) = (−1r

coss

r,−1

rsin

s

r)

曲率は

K(s) =x′(s)y′′(s) − x′′(s)y′(s)

(x′(s)2 + y′(s)2)32

=1r

sin2 s

r+

1r

cos2s

r

=1r

(一定)

よって円の曲率は一定であることがわかる。

ここでカーブに円のみが使われた場合を考えてみる。

高速道路のカーブにおいてクロソイド曲線を使うことなく直線部分から円周に入ったとすると

運転手は円周に入った途端にハンドルを急に切り、一定の角度を保持していなければならない。

次に円周から出るときには、一瞬でハンドルを元に戻さなければならない。

このように円周に沿ったカーブを曲がるには、不自然なハンドル操作が必要になる。

また、車にはカーブに入った途端に大きな遠心力がかかるので乗っている人は不快に思うだろう。

このようなカーブは道路としてふさわしくない設計と言える。

参考文献

[1] http://www2s.biglobe.ne.jp/~tsu_home/road/my_road2.htm

[2] http://ja.wikipedia.org/wiki/クロソイド曲線

[3] 小林昭七著 曲線と曲面の微分幾何 裳華房  1995年

[4] 佐藤伊助著 いろいろな曲線と曲面 裳華房  1979年

36

Page 40: 二重振り子に関わる計算 - 土屋漁洋...となり、角振動数は ω = g となる。したがって、振動の周期T/secは T =2π g で、周期は糸の長さにのみに関係し、振幅やおもりの質量には無関係であることがわかる。2.2

付録 重力質量 (gravitational mass) と 慣性質量 (inertial mass)

二つの星の間には万有引力と呼ばれる力が働いている、この力はあらゆる物体の間にも同じよう

に働く力だと考えられていてその力の大きさ F は二物体間の距離を L とし物体それぞれの重さ

(重力質量という)を M および m とするとき

F = GMm

L2

で表される、ここで G は (物体に依存しない)定数である。

一方、動物の筋肉の働きや化学物質の爆発などを使う様々なエンジンによる力の利用を通して、物

体に運動速度の変化をもたらす効果としての力は、時刻 t における位置 P (t) から

F = Md2P

dt2

という関係式で計算される; 係数 M がこの物体の慣性質量である。

ある物体の重力質量を m 、慣性質量を m とおく。重力質量と慣性質量が等しいかどうか、す

なわち、m = m であるかどうかについて、考えてみる。

1 m の距離で 1 kg重 の物体に働く重力を 1 g (g : 重力加速度)とすると、この物体に働く重力は

m × g (g :重力加速度)

であり、m kg重の錘をつけた長さ L の単振り子の中心 (法線)方向加速度を a とおくと

m × g cos θ = m × a.

また、

a = ω2 × L (ω =d θ

dt:角速度, L :単振り子の糸の長さ)

が成り立っているから

m g cos θ = mω2 ×L.

従って ω =

√m

m· g cos θ

Lから周期は T = 2π

√m

m· L

g cos θとなる。角 θ が小さいときは、単振動

の周期 T は T ∼ 2π

√m

m· L

gを満たす。

m �= m ならば、この振り子の周期 T は慣性質量と重力質量の比によることになる、すくなくと

も、周期 T は 2π

√L

gからずれるはずである。実験においては、このような周期 T のずれは見つ

からなかったのである。すなわち、慣性質量重力質量

= 1 と考えざるを得ないのである。こうして重力

質量と慣性質量が等しいことが認められるのである:

(弱い)等価原理「慣性質量と重力質量は等しい」 または 自由落下する物体の軌跡は、物体の種類

によらず一定である.」

37