GraphicLibrary
0.5.0
|
Ferguson/Coons曲線 [詳解]
公開メンバ関数 | |
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) の値を求める [詳解] | |
![]() | |
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) ) を描画することで曲線を得る。
|
inline |
曲線の両端の点とその導関数の値を指定して構築
p0,p1 | 曲線の両端の点の座標 |
dp0,dp1 | p0,p1 での微分係数 |
|
inlinevirtual |
|
inlinevirtual |