# クラス fk_BezCurve

Bezier曲線を生成、管理するクラス. [詳細]

fk_BezCurveに対する継承グラフ
[凡例]
fk_BezCurveのコラボレーション図
[凡例]

すべてのメンバ一覧

## Public メソッド
| fk_BezCurve (void)
| コンストラクタ
| ~fk_BezCurve ()
| デストラクタ
void | init (void)
| 初期化用関数
bool | setDegree (int deg)
| 次数設定関数
bool | setCtrl (int ID, const fk_Vector &pos)
| 制御点設定関数
int | getDegree (void)
| 次数参照関数
fk_Vector | getCtrl (int ID)
| 制御点参照関数
fk_Vector | pos (double t)
| 曲線算出関数
fk_Vector | diff (double t)
| 曲線1階微分ベクトル算出関数

## 説明

Bezier曲線を生成、管理するクラス.

このクラスは、形状として Bezier 曲線を制御する機能を提供します。 初期状態は 3 次式で、制御点が全て原点にある状態となります。 現状では、2,3,4次式のいずれかのみしか生成できません。

意見:
  本クラスは現在ベータ機能としての位置づけであり、 ユーザーズマニュアルには記載されていません。 また、今後のバージョンアップにおいて仕様が変更される可能性があります。

## コンストラクタとデストラクタ

fk_BezCurve::fk_BezCurve | ( | void |  | ) |

コンストラクタ

fk_BezCurve::~fk_BezCurve | ( |  | ) |

デストラクタ

## 関数

void fk_BezCurve::init | ( | void |  | ) |

初期化用関数

この関数は、曲線を初期状態(3次式、全ての制御点が原点にある状態)にします。

bool fk_BezCurve::setDegree | ( | int | deg | ) |

次数設定関数

この関数は、曲線の次数を設定します。 現状では、2,3,4のいずれかのみ以外は設定できません。 次数が増加した場合は、これまで保持されていた制御点位置ベクトルは保持され、 新たな制御点は原点に配置されます。 次数が減少した場合は、末尾の制御点が消失しますが、 存続している制御点の位置ベクトルは保持されます。

引数:

  `[in]` | deg | 次数

戻り値:
  次数設定に成功した場合 true、失敗した場合 false を返します。

bool fk_BezCurve::setCtrl | ( | int | ID,
|  | const fk_Vector & | pos |
| ) |  |  |

制御点設定関数

曲線の制御点位置ベクトルを設定します。

引数:

  `[in]` | ID | 設定する制御点の ID。先頭は 0 になります。
  `[in]` | pos | 制御点位置ベクトル

戻り値:
  設定に成功した場合 true、失敗した場合 false を返します。

int fk_BezCurve::getDegree | ( | void |  | ) |

次数参照関数

曲線の次数を参照します。

戻り値:
  次数

fk_Vector fk_BezCurve::getCtrl | ( | int | ID | ) |

制御点参照関数

曲線の制御点位置ベクトルを参照します。

引数:

  `[in]` | ID | 制御点 ID

戻り値:
  制御点位置ベクトル。IDが不正だった場合、零ベクトルを返します。

fk_Vector fk_BezCurve::pos | ( | double | t | ) | `[virtual]`

曲線算出関数

パラメータに対応する曲線上の点の位置ベクトルを返します。 Bezier 曲線の幾何的定義ではパラメータの定義域は 0 から 1 までですが、 本関数はそれ以外の範囲であっても式の演算結果を返します。

引数:

  `[in]` | t | 曲線上のパラメータ

戻り値:
  曲線上の点の位置ベクトル

fk_Curveを実装しています。

fk_Vector fk_BezCurve::diff | ( | double | t | ) | `[virtual]`

曲線1階微分ベクトル算出関数

パラメータに対応する曲線上の点の1階微分ベクトルを返します。 Bezier 曲線の幾何的定義ではパラメータの定義域は 0 から 1 までですが、 本関数はそれ以外の範囲であっても式の演算結果を返します。

引数:

  `[in]` | t | 曲線上のパラメータ

戻り値:
  曲線上の点の1階微分ベクトル

fk_Curveを実装しています。