Skip to main content

設定

Ketinit3d()​

KeTCindy3Dの使用宣言.

説明​

Cinderellaの画面を3Dモードにする.

Cinderellaの画面に視点移動のための2つのスライドを作る. スライダーは初期位置が左端になる. スライダーTHで角THETAを, スライダーFIで角PHIを内部変数として定義する. 引数に0を入れてKetinit3d(0)とすると, 副画面を表示しない.

この関数はInitializationスロットに置く. Ketinit()も平面の場合と異なりInitializationスロットに置く. KeTCindy3Dにおける変数の初期化などを行うStart3d()はDrawスロットに書く.

Setangle(TH, FI)​

回転角の指定.

説明​

スライダーで設定できる回転角(視点の位置)THとFIを度数法で指定する. 例えばSetangle(70, 40)とするとTH, FIがその位置になる. スライダーは固定されるので再度スライダーを有効にしたい場合はコメント化して再実行する. 初期状態だけを決めたい場合は

if(!Ptselected(), Setangle(70, 40));

または

if(!Isangle(), Setangle(70, 40));

とすると, スライダーは有効となりスライダーのいずれかの点を選択した状態であればFigureボタンも有効である. 画面上の何もないところをクリックして, 点の選択状態を解除すると元に戻る (回転角の取得については, Getangle()を参照).

Start3d(option)​

3Dの画面設定と空間点の認識

説明​

副画面を作り, 幾何点を3Dの点として認識する. この関数は必須で, Drawスロットの先端に書く.

Cinderellaの作図ツールで点・線分を作図すると, 内部関数のPtseg3data() によってそれらを空間の点として認識し, 副画面上に対応する点をとる. 但し, 始めはz座標をを0とする. 点の名前がAであれば副画面上の点はAzとなる. 点をポイントとして選択すると副画面の上に座標が表示される.

作図した点の名称をインスペクタで変更した場合, 新しい名称に対応する点を副画面上に作成するが, 以前の点は消えないので要注意. 例えば点Aを作図した後, 主画面上の点Aをインスペクタで点Dに変えた場合, 副画面上に新たにDzができるが, 以前のAzも残る. 残ったAzは洗濯しておいて作図ツールの消去ボタンで消すことができる. optionに除外点のリストを与えるとその点は空間点としない(スライダーで視点を移動しても位置は変わらない).

Startsurf(options)​

曲面描画の初期化と定数の設定.

説明​

optionsで定数を設定する. 定数としては分割数, Cのサイズ, 誤差の限界を設定する.

optionsがないときは以下の初期設定を用いる.

  • 分割数: [50, 50]
  • Cのサイズ: [1500, 500, 200]
  • 誤差の限界: [0.01, 0.1]

設定後に初期値にリセットするときは文字列resetを引数に与える. これにより陰線処理を伴う面の描画手順は, 次のようになる.

  1. Startsurf()で面描画の宣言をする.
  2. 描画関数でプロットデータを作る.
  3. ExeccmdC()でC言語を用いてまとめて描画する.

Xyzaz3data(name, range_x, range_y, range_z, options)​

座標軸を描く.

説明​

画面に座標軸を描き, プロットデータax3dを作成する. nameは空文字列でよい.

optionsは次の2つ.

  • 矢じりan: nは数字で矢じりの大きさ(nはなくてもよい).
  • 原点O\mathrm{O}Onesw: neswは微小位置. 数字も付けられる(neswをつけない場合, 初期値はsw).

【例】初期設定の座標軸.

Xyzax3data("", "x=[-5, 5]", "y=[-5, 5]", "z=[-5, 5]");

矢じりをつける.

Xyzax3data("", "x=[-5, 5]", "y=[-5, 5]", "z=[-5, 5]", "a");

矢じりを大きくする.

Xyzax3data("", "x=[-5, 5]", "y=[-5, 5]", "z=[-5, 5]", ["a2"]);

原点O\mathrm{O}を表示する.

Xyzax3data("", "x=[-5, 5]", "y=[-5, 5]", "z=[-5, 5]", ["O"]);

原点O\mathrm{O}の位置を調整して右上に表示する. 矢じりもつける.

Xyzax3data("", "x=[-5, 5]", "y=[-5, 5]", "z=[-5, 5]", ["a", "Oe2n2"]);
note

Putaxes3d()で点を取ると原点に点O\mathrm{O}が作成される. この点の名前と表示が重複するのが煩わしい場合は, 作図後にこのoptionつけてから出力すればよい.