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つけてから出力すればよい.