2017年3月11日土曜日

地図のミウラ折り

ミウラ折りをした時の出来上がりの大きさは次のように計算出来る.

図の下寄りの横長の長方形が, 元の紙の最上段である. この下に続く横長の部分は, 山折り谷折りの繰り返しで, この裏にぴったりと隠れてしまい, この部分と一緒に折られていくから, 出来上がりの大きさには関係しない.

前回のこのブログの最初の図で, 95, 85, 92,...などと数値で長さが記入してあるのが, この図ではa, b, c,...と文字にしてある. 上下の縁や折り目には, 左から0, 1, ..., 7と番号をつける.

ダッシュが付いている番号は, 折る前の位置を示す.

左端から見ていくと, 最初の折り目1-1までの長さが上下で違うから, この折り目は傾く. その傾きをθとする.

θ=tan-1(a-b)/c

である. するとこの折り目と下の縁との角は, 左が∠R+θ, 右が∠R-θである.

次の折り目, 2'-2'は, 折り目1-1で折り返すと, 2-2の位置へ来る. この時, 下の012の角は, 2θになる. 下の2と下の1との横方向, 縦方向の差を図のようにe, fとすると, 1,2の長さをdとして,

e=d cos 2θ
f=d sin 2θ

である. 従って, 下の2の位置は, 下の0を原点とすると,

(b-e, f )

これに横方向のdを足すと3の位置が得られ, 横方向からeを引き, 縦方向にfを足すと4が得られる. 以後この作業を繰り返し, 最後は横方向にaを足す. 上の縁の座標も同様にして得られる.

まとめると

θ=tan-1(a-b)/c,
e=d cos 2θ
f=d sin 2θ

上の座標
0 0, c
1 a, c
2 a-e, c+f
3 a-e+d, c+f
4 a-2e+d, c+2f
5 a-2e+2d, c+2f
6 a-3e+2d, c+3f
7 a-3e+2d+b, c+3f
下の座標
0 0, 0
1 b, 0
2 b-e, f
3 b-e+d, f
4 b-2e+d, 2f
5 b-2e+2d, 2f
6 b-3e+2d, 3f
7 b-3e+2d+a, 3f

前回の地図の値をいれて計算すると

(define a 95) (define b 85) (define c 92)
(define d 80) (define theta (atan (/ (- a b) c)))
(define e (* d (cos (* 2 theta))))
(define f (* d (sin (* 2 theta))))
(+ a (* -3 e) (* 2 d) b) => 105.60485754320413
(+ c (* 3 f)) => 143.56468939747782
ところで近所の体育館で下のような大宮アルディージャの選手名鑑みたいなものを貰った. やや! これはミウラ折りではないか? 山折り谷折りの関係もそっくりである.

しかしこれは上の図のθが0になっている. 従って上の図の横から見た時, 2,4,6が同一点になり, ミウラ折りとは似てはいるが, ミウラ折りではない.

前回の後, もう1枚の地形図をミウラ折りにした.

今回, 山折りのところは, 裏面にも折り目を記入して, 裏から谷折りにしたが, やはり手間は増えた. もう少し能率のよい方法はないだろうか.

0 件のコメント: