2000.5.17 KPC 情報技術科 関谷
稜線を表示する角度や、特定の角度の線の色を変えるとか、実験をしてみると、プログラムの解析ができて良い。
回転体・柱体の独自のデータを作ることで、立体のデータとその投影がよく分かる。(鍋田さんや宝満さんの考察から)
立体の基本図形で、比較的簡単に作れるものは、錐体、柱体、回転体がある。
回転体は、断面の2次元図形を、y軸の回りに回転させることにより生成できる。
それだけでは、複数個の楕円が描けるだけで、とても立体には見えない。そこで、断面を表す直線(稜線)をある回転角度ごとに何箇所かに描くことにする。
x軸回りの回転量-回転の向き(符号)-は関係しないことになる。(投影対象の回転体がy軸に対称なため)陰影を付けない場合、投影図からは、x軸回りの回転の向きをどちらか区別できない。
これは、回転体と違い、x軸回りの回転量-向き(符号)-は投影図で判別できる。
グラフィックスの世界を解析的に表現せず、再起的に表現する。
リカーシブ・グラフィックスのおもしろさは、驚くほど自然の形に近い図形がいとも簡単に表現でき、自然や生命の神秘的な美しさを解き明かせるのではないかという錯覚を髣髴とさせるところにある。
今回は、河西の8.2、8.3から、例題62 コッホ曲線と例題63 樹木曲線を学習する。
0次のコッホ曲線は長さlの直線である。1次のコッホ曲線は、1辺の長さがl/3の大きさの正3角形状の出っ張りを出す。2次のコッホ曲線は、1次のコッホ曲線の各辺に対し、1辺の長さがl/9の大きさの正3角形状の出っ張りを出す。これを無限回繰り返せば、無限小の長さの線分が無限本つながった曲線となる。
次数は、0から8次までの9図を3段にならべた。 このためには、window(), view()の関数を使い、繰り返しを行っている。
例題62 コッホ曲線を表示(1 View)
樹木曲線は、木が枝を伸ばしていく形をした図形である。
次の規則に従う。
樹木曲線は、親の枝から2本の子の枝を出していくので、2分木の木構造とまったく同じと考えることができる。
n次の木を描くアルゴリズムは次のようになる。
1)(x0,y0)から角度angleで長さlengの枝を1つ引く。引き終わった点の座標を新しい(x0,y0)とする。
2)n−1次の右部分木を再帰呼び出し
3)n−1次の左部分木を再帰呼び出し
次数n、角度branch、縮小率scaleは、キーインする。 3組をスクリーンでは、縦に並べて表示する。 3組を表示したら、色の反転をする。
例題63 樹木曲線を表示(3 View)
リカーシブ・グラフィックスのプログラムを解析しなさい。
次にそれらを改造し、作品を作りなさい。
例)樹木のデータ・色などを変える。配置を変える。(林になる?)
1)WordあるいはFrontPageExpressに、考察、ソースリスト、実行グラフィックス画面を貼り付けたものを「Webページ」の形式(拡張子はhtml)で、各自のMyHomeに、cg_05などの名前をつけて保存する。
2)情報系Webサーバが、Turbolinuxで再構築されたので、そのWebページにindex.htmlからのハイパーリンクを作って、登録する。(注を参照のこと。概略は以下のとおり。))
htmlファイルは、WordやFrontPageExpressなどで、Webページとして保存する(前述)。そして、ホームページindex.htmlから、今回のレポートページへのリンクを張る。それらを各自のWebサーバのホームディレクトリの直ぐ下のpublic_htmlフォルダ(サブディレクトリ)にftpすること。
注) Webページの作り方については、関谷のWebページの「個人ホームページの作成と更新」のページを参照のこと。(Webサーバの再構築が完了した。)
(なお、ローカルのホームページフォルダは、c:\でなく、各自のサーバのホーム(H:)ドライブに作ること。)
作業としては、public_htmlフォルダでのindex_htmlファイルの変更−名前を表示したり、今回のページに対するリンクを作る−が必要になる。