# param3d1

パラメータ表現の曲線の3次元プロット

## 呼び出し手順

    param3d1(x,y,z,[theta,alpha,leg,flag,ebox])
                param3d1(x,y,list(z,colors),[theta,alpha,leg,flag,ebox])

## 引数

x,y,z

  同じ大きさ (nl,nc)の曲線.

  行列のi列目はi番目の曲線の座標に対応します. `z`の代わりに `list(z,colors)`により各曲線の色を 指定することができます. ただし,`colors` は大きさ `nc` のベクトルです. `color(i)`が負の場合,曲線はID `abs(style(i))`のマーカを用いてプロットされます; `style(i)` が正の場合, 色ID `style(i)` の実線または破線ID `style(i)`の破線が使用されます.

theta,alpha

  観測点の球座標を指定する実数値(単位:度). デフォルト値はT 35 度および 45度です.

leg

  各軸のラベルを定義する文字列. @ をフィールドセパレータとし, "X@Y@Z"のようになります.

flag=[type,box]

  `type` および `box` は `plot3d`における意味と同じになります:

  type

    整数 (スケール).

    type=0

      プロットは (前の`param3d`, `plot3d`, `contour` または `plot3d1`のコールで設定された) カレントの3次元スケールで行われます.

    type=1

      3次元ボックスのスケールがアスペクト比の最大値に基づき 自動的に調整され, 境界はオプションの引数`ebox`の値で 指定されます.

    type=2

      3次元ボックスのスケールがアスペクト比の最大値に基づき 自動的に調整され, 境界は指令したデータにより計算されます. これがデフォルト値です.

    type=3

      オプション`ebox`で指定したボックス境界を有する 3次元等軸プロットで,`type=1`に似ています.

    type=4

      データで定義された境界に基づく3次元等軸プロットで, `type=2`に似ています.

    type=5

      オプション`ebox`で指定されたボックス境界で 定義された境界に基づく3次元拡張等軸プロットで, `type=1`に似ています.

    type=6

      データで定義された境界に基づく3次元拡張等軸プロットで, `type=2`に似ています. 軸の境界は axes エンティティプロパティによりカスタマイズできる ことに注意してください(axes_properties参照).

  box

    整数 (プロットの周囲のフレーム).

    box=0

      プロットの周囲に何も描画されませ.

    box=1

      実装されていません (box=0と同様).

    box=2

      曲面の背後の軸のみが描画されます.

    box=3

      曲面を囲うボックスが描画され,キャプションが追加されます.

    box=4

      曲面を囲うボックスが描画され,キャプションと軸が追加されます. 軸のアスペクトもaxesエンティティのプロパティによりカスタマイズ できることに注意してください (axes_properties参照). これがデフォルト値です.

ebox

  プロットの境界をベクトル `[xmin,xmax,ymin,ymax,zmin,zmax]`で指定します. この引数は,`flag`の`type`が`1`, `3` または `5`に設定された場合, 使用されます (対応する動作については上記参照). `flag` が指定されない場合 `ebox` は無視されます. 指定された場合, `ebox`引数は, `data_bounds`に基づいて動作し, axesエンティティのプロパティ (axes_properties参照) によりリセットすることも可能であることに 注意してください. `ebox`のデフォルト値は `[0,1,0,1,0,1]`です.

## 説明

`param3d1` は座標 `x`, `y` および `z`で定義される3次元曲線をプロットする際に使用されます. データは surface エンティティのプロパティにより取得または修正できることに 注意してください (surface_propertiesを参照ください).

プロットされる曲線の `rotation angles`, `colors` および `thickness` のような プロパティも polyline エンティティプロパティにより取得または修正することが できます (polyline_properties参照).

コマンド `param3d1()` を入力するとデモを参照できます.

## 例

param3d1();

## 例

    xset('window',20) // ウインドウ番号 20を作成
    t=[0:0.1:5*%pi]';
    param3d1([sin(t),sin(2*t)],[cos(t),cos(2*t)],..
             list([t/10,sin(t)],[3,2]),35,45,"X@Y@Z",[2,3])

    xdel(20);
    a=get("current_axes");//新規に作成された軸のハンドルを取得
    t=[0:0.1:5*%pi]';
    param3d1([sin(t),sin(2*t)],[cos(t),cos(2*t)],[t/10,sin(t)])
    a.rotation_angles=[65,75];
    a.data_bounds=[-1,-1,-1;1,1,2]; //data_boundsにより指定された境界
    a.thickness = 2;
    h=a.children //param3dエンティティのハンドルを取得: 2つの曲線からなるCompound
    h.children(1).foreground = 3 // 最初の曲線
    curve2 = h.children(2);
    curve2.foreground = 6;
    curve2.mark_style = 2;

## 参照

- param3d
- plot3d
- plot2d
- gca
- xdel
- delete