Bezier曲線を生成、管理するクラス [詳細]
Public メソッド | |
fk_BezCurve (void) | |
コンストラクタ [詳細] | |
virtual | ~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階微分ベクトル算出関数 [詳細] | |
![]() | |
fk_Curve (void) | |
コンストラクタ [詳細] | |
virtual | ~fk_Curve () |
デストラクタ [詳細] | |
void | setDiv (int div) |
曲線キャッシュ分割数設定関数 [詳細] | |
int | getDiv (void) |
曲線キャッシュ分割数参照関数 [詳細] | |
![]() | |
fk_BaseObject (fk_ObjectType type=FK_BASEOBJECT) | |
コンストラクタ [詳細] | |
fk_ObjectType | getObjectType (void) const |
タイプ取得関数 [詳細] | |
Additional Inherited Members | |
![]() | |
bool | changeFlg |
修正告知用フラグ [詳細] | |
Bezier曲線を生成、管理するクラス
このクラスは、形状として Bezier 曲線を制御する機能を提供します。 初期状態は 3 次式で、制御点が全て原点にある状態となります。 現状では、2,3,4次式のいずれかのみしか生成できません。
fk_BezCurve::fk_BezCurve | ( | void | ) |
コンストラクタ
|
virtual |
デストラクタ
void fk_BezCurve::init | ( | void | ) |
初期化用関数
この関数は、曲線を初期状態(3次式、全ての制御点が原点にある状態)にします。
bool fk_BezCurve::setDegree | ( | int | deg | ) |
次数設定関数
この関数は、曲線の次数を設定します。 現状では、2,3,4のいずれかのみ以外は設定できません。 次数が増加した場合は、これまで保持されていた制御点位置ベクトルは保持され、 新たな制御点は原点に配置されます。 次数が減少した場合は、末尾の制御点が消失しますが、 存続している制御点の位置ベクトルは保持されます。
[in] | deg | 次数 |
bool fk_BezCurve::setCtrl | ( | int | ID, |
const fk_Vector & | pos | ||
) |
制御点設定関数
曲線の制御点位置ベクトルを設定します。
[in] | ID | 設定する制御点の ID。先頭は 0 になります。 |
[in] | pos | 制御点位置ベクトル |
int fk_BezCurve::getDegree | ( | void | ) |
次数参照関数
曲線の次数を参照します。
fk_Vector fk_BezCurve::getCtrl | ( | int | ID | ) |
制御点参照関数
曲線の制御点位置ベクトルを参照します。
[in] | ID | 制御点 ID |
|
virtual |
曲線算出関数
パラメータに対応する曲線上の点の位置ベクトルを返します。 Bezier 曲線の幾何的定義ではパラメータの定義域は 0 から 1 までですが、 本関数はそれ以外の範囲であっても式の演算結果を返します。
[in] | t | 曲線上のパラメータ |
fk_Curveを実装しています。