GraphicLibrary  0.5.0
tadah_fussy::gl::shape::curve 名前空間

曲線描画用関数 [詳解]

クラス

struct  ParametricEquation
 パラメトリック方程式用基底クラス [詳解]
 
class  FergusonCoons_Spline
 Ferguson/Coons曲線 [詳解]
 
class  CatmullRom_Spline
 Catmull-Rom 曲線 [詳解]
 
class  BezierCurveBase
 ベジェ曲線描画用基底クラス [詳解]
 
class  BezierCurve
 バーンスタイン多項式を使ったベジェ曲線 [詳解]
 
class  DeCasteljau
 De Casteljau のアルゴリズムを使ったベジェ曲線 [詳解]
 
class  BSplineCurveBase
 B-スプライン曲線描画用基底クラス [詳解]
 
class  BSplineCurve
 B-スプライン曲線描画用クラス [詳解]
 
class  DeBoorCox
 De Boor-Cox のアルゴリズムを使った B-スプライン曲線 [詳解]
 
class  NurbsCurve
 NURBS 曲線描画用クラス [詳解]
 

関数

void StrokeFergusonCoonsSpline (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &p, const std::vector< Coord< double > > &dp, double rate)
 Ferguson/Coons曲線を描画する [詳解]
 
void StrokeCatmullRomSpline (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &p, double d, double rate)
 Catmull-Rom曲線を描画する [詳解]
 
void StrokeBezierSpline (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 任意の次数のベジェ曲線によるスプライン曲線描画 [詳解]
 
void StrokeDeCasteljauSpline (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 任意の次数のベジェ曲線によるスプライン曲線描画 ( De Casteljau のアルゴリズムを使用 ) [詳解]
 
void StrokeBSpline (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &p, const std::vector< double > &knot, size_t n, double rate)
 任意のノット列を使った非一様 B-スプライン曲線描画 [詳解]
 
void StrokeDeBoorCox (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &p, const std::vector< double > &knot, size_t n, double rate)
 任意のノット列を使った非一様 B-スプライン曲線描画 ( De Boor Cox のアルゴリズムを使用) [詳解]
 
void StrokeUniformBSpline (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 一様 B-スプライン曲線描画 [詳解]
 
void StrokeUniformDeBoorCox (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 一様 B-スプライン曲線描画 ( De Boor Cox のアルゴリズムを使用) [詳解]
 
void StrokeOpenUniformBSpline (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 開一様 B-スプライン曲線描画 [詳解]
 
void StrokeOpenUniformDeBoorCox (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &p, size_t n, double rate)
 開一様 B-スプライン曲線描画 ( De Boor Cox のアルゴリズムを使用) [詳解]
 
void StrokeNurbs (canvas::DrawingArea_IF &draw, pen::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 tadah_fussy::gl::shape::curve::StrokeBezierSpline ( canvas::DrawingArea_IF draw,
pen::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 tadah_fussy::gl::shape::curve::StrokeBSpline ( canvas::DrawingArea_IF draw,
pen::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 tadah_fussy::gl::shape::curve::StrokeCatmullRomSpline ( canvas::DrawingArea_IF draw,
pen::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 tadah_fussy::gl::shape::curve::StrokeDeBoorCox ( canvas::DrawingArea_IF draw,
pen::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 tadah_fussy::gl::shape::curve::StrokeDeCasteljauSpline ( canvas::DrawingArea_IF draw,
pen::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 tadah_fussy::gl::shape::curve::StrokeFergusonCoonsSpline ( canvas::DrawingArea_IF draw,
pen::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 tadah_fussy::gl::shape::curve::StrokeNurbs ( canvas::DrawingArea_IF draw,
pen::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 tadah_fussy::gl::shape::curve::StrokeOpenUniformBSpline ( canvas::DrawingArea_IF draw,
pen::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 tadah_fussy::gl::shape::curve::StrokeOpenUniformDeBoorCox ( canvas::DrawingArea_IF draw,
pen::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 tadah_fussy::gl::shape::curve::StrokeUniformBSpline ( canvas::DrawingArea_IF draw,
pen::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 tadah_fussy::gl::shape::curve::StrokeUniformDeBoorCox ( canvas::DrawingArea_IF draw,
pen::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再帰的に内点を描画するときの内点の位置(比率)