GraphicLibrary
0.5.0
|
多項式による補間法 [詳解]
公開型 | |
typedef RGB(* | PolynomialFunc) (const std::vector< RGB > &col, double t) |
多項式関数の型 | |
公開メンバ関数 | |
GInterpolation_Polynomial (unsigned int n, PolynomialFunc pf) | |
利用する多項式を指定して構築 [詳解] | |
virtual bool | operator() (const canvas::DrawingArea_IF &draw, Coord< double > p, RGB *rgb) const |
多項式によるサンプル補間処理 [詳解] | |
![]() | |
virtual | ~GInterpolation_IF () |
仮想デストラクタ (何もしない) | |
多項式による補間法
指定した範囲のピクセルの色コードを通る多項式を求めて補間処理を行う。
GInterpolation::LagrangePolynomial と GInterpolation::NewtonPolynomial の利用を想定している。 次のコードで、Lagrange 多項式を利用した補間をしながら、パターン pattern を描画領域 draw に c0 - c1 の大きさで拡大・縮小貼り付けすることができる。
|
inline |
利用する多項式を指定して構築
変数の範囲 n は 2 以上でなければならない。2 より小さい場合は assert を実行する。
n | 多項式関数の係数を求めるための変数の範囲 |
pf | 利用する補間関数 |
|
virtual |
多項式によるサンプル補間処理
描画領域 draw、補間関数 pf、補間結果へのポインタ rgb が未定義の場合は assert を実行する
draw | 描画領域 |
p | 補間対象のピクセル座標 |
rgb | 求めた色コードを返す変数へのポインタ |