...

補足A Excel によって連なりら せん を点で描く

by user

on
Category: Documents
13

views

Report

Comments

Transcript

補足A Excel によって連なりら せん を点で描く
補足A
・
・
・
Excel によって連なりらせんを点で描く
本文と同じ円盤のモデルでひまわりの種子を点として描く方法を考える。
タウ
ファイ
シータ
極座標での表示点は (r , ) のため,c  1 とすれば,描画点は (n1 / 2 , n ) になる。このため,
n=1, 2, …と順に描けばよい。注意することは,角度はラジアン単位であること,また,画
面の表示場所は x,y 座標なので x  r  cos  , y  r  sin  の座標変換が必要なことである。
計算手順とグラフ化
方法は最初に p=0.5 として,座標の中心からの距離 r  n 0.5 と 360°(2  ラジアン)を黄金
分割する角度   n  2 n  (または  2 n(1  1  ) で決まる点(r,  )を次の手順で描
けばよい。表での,番地とは Excel での列記号と行番号で決まるセルの位置で,A1 は A
列 1 行目を意味する。“ ”内はキーボード入力である。
① A1 番地は通常の文字”τ=”を入力して右詰めにする。
② A2 番地も文字”φ=”を入力して右詰めにする。
③ B1 番地は黄金比”=(1+ 5 )/2”の計算式を入力すれば,結果の 1.618…が表示される。
④ B2 番地はφ=2  ラジアン/  の”=2*PI()/B1” を入力して,3.88322…が表示される。
PI()は 3.14159…の値の意味である。Excel の三角関数の角度はラジアン(180°=  ラジ
アン)単位で計算される。
⑤ B3 と E3 番地は”p=”の文字入力,C3 番地は”=0.5”,F3 番地は”=1.0”を入力する。
⑥ A4~H4 番地は表に表示されている文字を入力して中央揃えにする。
⑦ B5~H5 は計算式を入力する。
B5 番地は”=A5*$B$2” ,C5 番地は”=A5^$C$3”, D5 番地は”=C5*cos(B5)”,E5 番地
は ”=C5*sin(B5)” を 入 力 す る 。 F5 , G5 , H5 番 地 は C5,D5,E5 番 地 と 同 様
に”=A5^$F$3”, ”=F5*cos(B5)”, ”=F5*sin(B5)”をそれぞれ入力する。
Excel の表
1
⑧ データ数 n=200 点は A 列に n=0,1,2,3,・・・・・のステップで順に増えるようにする。
⑨ ここで三角関数の cos と sin を使用するはディスプレイに表示させる必要性から極座
標(r,θ)を直交座標(x-y 座標)に変換するためである。
n=200 の場合
⑩ 計算して求めた n=200 点の(x,y)について散布図を使って描く。
(上の散布図は(x,y)=(0,0)点を含めていない)
⑪ p の値を 0.5 前後,及びマイナスでの任意の値に変えて図の変化をシミュレーション
してみる。
⑫ n=10000 点以上についても同様に描く。
⑬  の計算内容を変えた場合の図の変化もシミュレーションできる。
55/89
377/610
p=0.5, n =1000
p=0.5, n =65536
2
[課題]パイナップルの鱗片も表面にほぼ均等に付いているので,その目立つ連なりを一周
して数えるとフィボナッチ数になっている(下図の白線で示した例では 8 本と 13 本)。
このパイナップル鱗片を真似る場合,図左のように円柱で近似し,それを切り開いて矩
形 に 表 示 す る ( 中 央 )。 そ の 際 , コ ン ピ ュ ー タ で の 表 示 位 置 ( , l ) は 座 標 を
( x, y )  ( , l )  (n , n) , (n  1,2,.....) に直すことになるが , 横軸 (x 軸 ) は最大が 2  ラジアン
(360°)になるように,n を Mod[n*  , 2*Pi()](Mod は n  を 2  で割った余りを求める関
数)で置き換えて利用する。
13
l
8
l
3
φ
φ
2
1
φ
θ
2π
円柱で近似したパイナップルモデル
ひまわりの場合の計算式を変形し,パイナップルの場合の n=1000 点を充填して矩形表示
できるようにしてみよう。
この問題は埼玉工業大学・情報システム学科・1 年生の「科学基礎実習」での課題にも
なっていますので,公開もここまでです。
個々での問い合わせがありましたら,トップページ最下段の連絡先にお願いします。
(根岸)
3
Fly UP