GraphicLibrary  0.5.0
tadah_fussy::gl::shape::curve::CatmullRom_Spline クラス

Catmull-Rom 曲線 [詳解]

tadah_fussy::gl::shape::curve::CatmullRom_Spline の継承関係図
tadah_fussy::gl::shape::curve::FergusonCoons_Spline tadah_fussy::gl::shape::curve::ParametricEquation

公開メンバ関数

template<class T >
 CatmullRom_Spline (const Coord< T > &before, const Coord< T > &p0, const Coord< T > &p1, const Coord< T > &after, double d=1)
 対象の 2 点の前後も含めた 4 点を指定して構築 [詳解]
 
- 基底クラス tadah_fussy::gl::shape::curve::FergusonCoons_Spline に属する継承公開メンバ関数
template<class T , class D >
 FergusonCoons_Spline (const Coord< T > &p0, const Coord< T > &p1, const Coord< D > &dp0, const Coord< D > &dp1)
 曲線の両端の点とその導関数の値を指定して構築 [詳解]
 
virtual double x (double t)
 x(t) の値を求める [詳解]
 
virtual double y (double t)
 y(t) の値を求める [詳解]
 
- 基底クラス tadah_fussy::gl::shape::curve::ParametricEquation に属する継承公開メンバ関数
virtual ~ParametricEquation ()
 仮想デストラクタ(何もしない)
 

詳解

Catmull-Rom 曲線

FergusonCoons/Spline 曲線において導関数を以下の式で固定したものを Catmull-Rom 曲線という。

x_i'(0) = d * ( x_i+1 - x_i-1 ) / 2

但し、d は補正係数とする。

構築子と解体子

◆ CatmullRom_Spline()

template<class T >
tadah_fussy::gl::shape::curve::CatmullRom_Spline::CatmullRom_Spline ( const Coord< T > &  before,
const Coord< T > &  p0,
const Coord< T > &  p1,
const Coord< T > &  after,
double  d = 1 
)
inline

対象の 2 点の前後も含めた 4 点を指定して構築

点 p の導関数の値は、前後の点 pa, pb と補正係数 d を使って以下の式で計算する

d( pb - pa ) / 2

引数
beforep0 の前の点の座標
p0,p1曲線の両端の点の座標
afterp1 の後の点の座標
d補正係数

このクラス詳解は次のファイルから抽出されました: