SSブログ

ふい~なんとかでけた [仕事]

 ここ三日ばかり篭って仕事してた。もう2年くらいGUIベースの仕事してなかったから忘れちまっただよ。なんとかスプライン補完のグラフができました。
 ポイントは標本点をマウスドラッグで移動したときスプラインのラバーバンドを作成するとこですね。ベジェスプラインと違って結局全点再計算しなきゃならないから、果たしてマウスの動きに追随してくるかどうかが問題だったけどあっさりできたよ。あとは、もう少しチラツキを押えるために、ラバーバンド表示もバッファ化することじゃね。そうすれば恐ろしく美しくなるであろー。
 実画面の座標系、実データの座標系の変換だけでなく、表示上のオートスケーリング変換およびY軸のみの倍率変換もかましてるからわけわかんなくなってしまった。軸描画のためにさらにオフセットもしてるからねー。
 ちゃんとじゃなくていいんだけどクリッピング処理を入れないと異常に遅くなる。特に拡大してるときはX方向のサンプリングが細かいから数百万座標の計算をするはめになってしまう。これを画面表示部分だけに押えることがミソ。だからといってちゃんとクリッピング処理するとこれまた遅くなるのでやや画面サイズよりオーバー気味に計算して、あとは直線描画下位関数で実クリッピング。
 実際にはメモリビットマップに描画、最後に実画面にメモリビットマップ内容を転送。
 ラバーバンド描画は今は簡易的に、直接実画面に描画してるけど、NOTXORで処理してるから、前のを消して次のを書くといったことで二度書いてるので処理が重く、どうしてもチラツキが出てしまう。これもメモリビットマップに処理して最後に一回だけ実画面に転送すればチラツキはなくなる。
 さて、せっかくだから完璧にするか。

 あ。あとヒットテストか。うーん。スプラインヒットテストもやってみるかな。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0

HOMESTAR見れないよお昨日は嵐 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。