ホーム ] コンポーネント開発 ] グリッドコントロール ] レギュラープレーヤ ] 数学関数表示コントロール ]

上へ
関数引継ぎ
陰関数の高速描画
陰関数の高速描画U
曲線解析
導関数
描画領域

技術解説

陰関数の高速描画U

最終更新日:2007/05/15  新規

●概要 

 関数を文字式で与えた場合、関数の演算に時間が掛かる(コードのコールバックの数十倍以上)ので、まともに描画すると、時間が掛かりすぎる。

 陰関数の場合、関数値を求める回数は、陽関数の場合の凡そ自乗倍になる。つまり、陽関数で1000点とすれば、陰関数では、1000 X 1000 = 100万となってしまう。陽関数の1000倍の演算数に加え、文字式演算なので、コードによる関数のコールバックより数十倍の時間がかかる。

●原理

 下図参照。

○粗描画

 全体像を早く掴む意味で、先ず、粗い描画を試みる。縦横で 200 X 200 として関数値を求め、符号反転を検出する。この状態ではそれなりの速度となるので、インタラクティブ処理が可能となる。 全体としての傾向を表せるが、分解能以下の変化は検出できない。

○高精細

 粗描画では、曲線としては未完成なので、高精細で描画する。高精細では、刻みは、1200 X 1200 で、通常と同じ精度となる。しかし、まともに演算すると時間が掛かるので、粗描画で求められた符号反転座標を中心にし、1200刻みで -10〜+10 の矩形領域を高精細で符号反転位置を検出する。この方法では、全域を走査するより演算数が数分の1から数十分の1になると期待できる。但し、粗描画にない座標点は走査されないので、部分的に抜けが生じる場合もある。この方法でも時間は掛かるので演算途中経過を表示する。