GraphicLibrary  0.5.0
FergusonCoons_Spline クラス

Ferguson/Coons曲線 [詳解]

FergusonCoons_Spline の継承関係図
ParametricEquation CatmullRom_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) の値を求める [詳解]
 
- 基底クラス ParametricEquation に属する継承公開メンバ関数
virtual ~ParametricEquation ()
 仮想デストラクタ(何もしない)
 

詳解

Ferguson/Coons曲線

3 次式 x(t) = at^3 + bt^2 + ct + d に 2 点 x(0), x(1) とその導関数 x'(0), x'(1) を代入して 係数を連立方程式で解くと以下のようになる。

a = 2[ x(0) - x(1) ] + [ x'(0) + x'(1) ]
b = -3[ x(0) - x(1) ] - [ 2x'(0) + x'(1) ]
c = x'(0)
d = x(0)

y についても同様の式が得られる。この 3 次式を解いて ( x(t), y(t) ) を描画することで曲線を得る。

構築子と解体子

◆ FergusonCoons_Spline()

template<class T , class D >
FergusonCoons_Spline::FergusonCoons_Spline ( const Coord< T > &  p0,
const Coord< T > &  p1,
const Coord< D > &  dp0,
const Coord< D > &  dp1 
)
inline

曲線の両端の点とその導関数の値を指定して構築

引数
p0,p1曲線の両端の点の座標
dp0,dp1p0,p1 での微分係数

関数詳解

◆ x()

virtual double FergusonCoons_Spline::x ( double  t)
inlinevirtual

x(t) の値を求める

引数
t媒介変数
戻り値
x の値

ParametricEquationを実装しています。

◆ y()

virtual double FergusonCoons_Spline::y ( double  t)
inlinevirtual

y(t) の値を求める

引数
t媒介変数
戻り値
y の値

ParametricEquationを実装しています。


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