GraphicLibrary  0.5.0
GCurve 名前空間

曲線描画用関数 [詳解]

関数

void StrokeFergusonCoonsSpline (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, const std::vector< Coord< double > > &dp, double rate)
 Ferguson/Coons曲線を描画する [詳解]
 
void StrokeCatmullRomSpline (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, double d, double rate)
 Catmull-Rom曲線を描画する [詳解]
 
void StrokeBezierSpline (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 任意の次数のベジェ曲線によるスプライン曲線描画 [詳解]
 
void StrokeDeCasteljauSpline (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 任意の次数のベジェ曲線によるスプライン曲線描画 ( De Casteljau のアルゴリズムを使用 ) [詳解]
 
void StrokeBSpline (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, const std::vector< double > &knot, size_t n, double rate)
 任意のノット列を使った非一様 B-スプライン曲線描画 [詳解]
 
void StrokeDeBoorCox (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, const std::vector< double > &knot, size_t n, double rate)
 任意のノット列を使った非一様 B-スプライン曲線描画 ( De Boor Cox のアルゴリズムを使用) [詳解]
 
void StrokeUniformBSpline (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 一様 B-スプライン曲線描画 [詳解]
 
void StrokeUniformDeBoorCox (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 一様 B-スプライン曲線描画 ( De Boor Cox のアルゴリズムを使用) [詳解]
 
void StrokeOpenUniformBSpline (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 開一様 B-スプライン曲線描画 [詳解]
 
void StrokeOpenUniformDeBoorCox (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 開一様 B-スプライン曲線描画 ( De Boor Cox のアルゴリズムを使用) [詳解]
 
void StrokeNurbs (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &p, const std::vector< double > &knot, const std::vector< double > &w, size_t n, double rate)
 Nurbs 曲線描画 [詳解]
 

詳解

曲線描画用関数

関数詳解

◆ StrokeBezierSpline()

void GCurve::StrokeBezierSpline ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
size_t  n,
double  rate 
)

任意の次数のベジェ曲線によるスプライン曲線描画

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p が未定義の場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画オブジェクト
pixelOp描画用関数オブジェクト
p描画する曲線上の点の座標
n次数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし

◆ StrokeBSpline()

void GCurve::StrokeBSpline ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
const std::vector< double > &  knot,
size_t  n,
double  rate 
)

任意のノット列を使った非一様 B-スプライン曲線描画

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p、ノット列 knot が未定義の場合は assert を実行する。

ノット列 knot は点列 p のサイズ + 次数 + 1 以上のサイズでなければならない。この条件を満たしていない場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画オブジェクト
pixelOp描画用関数オブジェクト
p描画する曲線上の点の座標
knotノット列
n次数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし

◆ StrokeCatmullRomSpline()

void GCurve::StrokeCatmullRomSpline ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
double  d,
double  rate 
)

Catmull-Rom曲線を描画する

p の最初と最後の要素は描画対象の点には含まれない(微分係数の計算のみに使用)

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p が未定義の場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画領域
pixelOp描画処理関数オブジェクト
p描画する曲線上の点の座標
d微分係数計算時の補正係数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし

◆ StrokeDeBoorCox()

void GCurve::StrokeDeBoorCox ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
const std::vector< double > &  knot,
size_t  n,
double  rate 
)

任意のノット列を使った非一様 B-スプライン曲線描画 ( De Boor Cox のアルゴリズムを使用)

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p が未定義の場合は assert を実行する。

ノット列 knot は点列 p のサイズ + 次数 + 1 以上のサイズでなければならない。この条件を満たしていない場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画オブジェクト
pixelOp描画用関数オブジェクト
p描画する曲線上の点の座標
knotノット列
n次数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし

◆ StrokeDeCasteljauSpline()

void GCurve::StrokeDeCasteljauSpline ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
size_t  n,
double  rate 
)

任意の次数のベジェ曲線によるスプライン曲線描画 ( De Casteljau のアルゴリズムを使用 )

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p が未定義の場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画オブジェクト
pixelOp描画用関数オブジェクト
p描画する曲線上の点の座標
n次数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし

◆ StrokeFergusonCoonsSpline()

void GCurve::StrokeFergusonCoonsSpline ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
const std::vector< Coord< double > > &  dp,
double  rate 
)

Ferguson/Coons曲線を描画する

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p、微分係数列 dp が未定義の場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画領域
pixelOp描画処理関数オブジェクト
p描画する曲線上の点の座標
dp各点に対する微分係数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし

◆ StrokeNurbs()

void GCurve::StrokeNurbs ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
const std::vector< double > &  knot,
const std::vector< double > &  w,
size_t  n,
double  rate 
)

Nurbs 曲線描画

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p、ノット列 knot、重み値 w が未定義の場合は assert を実行する。

ノット列 knot は点列 p のサイズ + 次数 + 1 以上のサイズでなければならない。この条件を満たしていない場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画オブジェクト
pixelOp描画用関数オブジェクト
p描画する曲線上の点の座標
knotノット列
w重み値
n次数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし

◆ StrokeOpenUniformBSpline()

void GCurve::StrokeOpenUniformBSpline ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
size_t  n,
double  rate 
)

開一様 B-スプライン曲線描画

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p が未定義の場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画オブジェクト
pixelOp描画用関数オブジェクト
p描画する曲線上の点の座標
n次数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし

◆ StrokeOpenUniformDeBoorCox()

void GCurve::StrokeOpenUniformDeBoorCox ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
size_t  n,
double  rate 
)

開一様 B-スプライン曲線描画 ( De Boor Cox のアルゴリズムを使用)

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p が未定義の場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画オブジェクト
pixelOp描画用関数オブジェクト
p描画する曲線上の点の座標
n次数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし

◆ StrokeUniformBSpline()

void GCurve::StrokeUniformBSpline ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
size_t  n,
double  rate 
)

一様 B-スプライン曲線描画

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p が未定義の場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画オブジェクト
pixelOp描画用関数オブジェクト
p描画する曲線上の点の座標
n次数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし

◆ StrokeUniformDeBoorCox()

void GCurve::StrokeUniformDeBoorCox ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  p,
size_t  n,
double  rate 
)

一様 B-スプライン曲線描画 ( De Boor Cox のアルゴリズムを使用)

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

点列 p が未定義の場合は assert を実行する。

内点の位置 rate は 1 より小さい正数である必要がある。そうでない場合は assert を実行する。

引数
draw描画オブジェクト
pixelOp描画用関数オブジェクト
p描画する曲線上の点の座標
n次数
rate再帰的に内点を描画するときの内点の位置(比率)
戻り値
なし