A 基本的な設定

3D表示をするための基本的な設定をします。

「3. SpaceCindy」のページでダウンロードできる SpaceCindy.cdy では,Drawスロットで以下の設定がされています。

投影法

立体を平面に「投影」して表示するとき,遠近感をどのように出すかがひとつの問題になります。

「遠くにあるものは小さく見える」のが自然ですので,そのようにするのがよさそうですが,そうでないものもよくあります。

次の左図が,遠近感を出したもの(透視投影)右図が教科書などによくあるもの(平行投影)です。

4つの立方体はどれも同じ大きさの立方体ですが,透視投影では一つが奥にあるように見えます。

SpaceCindyでは setview3d() という関数で,この設定をします。

setview3d() には3つの引数があり,第1引数が投影法で,1なら透視投影,0なら平行投影とします。

第2,第3引数は,視点の位置(原点からの距離),拡大率 です。

初期設定は setview(1,15,30) ですが,一度実行しただけでは視点移動ができないので,Drawスロットの最初に書く方がよいでしょう。

座標軸

座標軸を描画するときは,setaxis3d(範囲リスト,option)で描画する範囲を設定します。範囲リストはx軸,y軸,z軸の順にコンマで区切って書きます。たとえば,

setaxis3d([-4,4],[-4,4],[0,3]);

のようにします。option は原点のOの表示位置です。(マニュアルを参照してください)

なお,これは「設定」なので,これだけでは座標軸は表示されません。座標軸を表示するには,スクリプトの最後に

axisdisp();

を書きます。最後に書く理由は,陰線処理で立体に隠れた部分を点線にするためです。

回転(視点移動)

3Dで描かれた図は視点移動をすると立体感がよくわかります。その方法につぎのようなものがあります。

(1) 画面上でマウスをドラッグする

(2) 直線のスライダを2本作る

(3) 円形のスライダを2個作る

GeoGebraやMacのGrapher,Cindy3Dでは(1) の方法を使っています。

SpaceCindyではいろいろ検討した結果(3)の方法を用いています。画面左に2つの円形スライダがあります。中心をドラッグすると位置を変えることができます。