曲線の描画について

解決


かかし  2011-03-16 15:04:37  No: 72451  IP: 192.*.*.*

お世話になります。

VS2005 VC++にてGDI+を用いてピクチャーコントロールに
ベジェ曲線を描画しています。
ピクチャーコントロールの縦横256 x 256に256ポイント分の
座標を指定してベジェ曲線を描画しているのでが
曲線にならず、折れ線になってしまいます。

どのようにすれば曲線になるのでしょうか。

編集 削除
仲澤@失業者  2011-03-16 15:43:09  No: 72452  IP: 192.*.*.*

ベジエスプラインの仕組みはわかってますでしょうか。
最初は、始終点2点と、それぞれの制御点2点の、計4点で
実験してみるのが良いと思います。
例えば四角の対角点を始終点に、それ以外の2点を、それぞれの
制御点として、指定してみるのがわかりやすいでしょう。

編集 削除
かかし  2011-03-17 12:27:40  No: 72453  IP: 192.*.*.*

おせわになります。

GDI+のDrawBeziersを使えば、複数座標から曲線を描画できると思っていました。

現在は、DrawLinesに変更して描画しています。
これでは、折れ線になってしまいす。
曲線を描画するときは各座標間の補間を行う必要があるのでしょうか。

編集 削除
仲澤@失業者  2011-03-17 16:31:51  No: 72454  IP: 192.*.*.*

DrawBeziersの「解説」の部分を読みましたでしょうか。
これで意味がわからなければ「ベジエ」をヘルプの
キーワードに入れてみてください。ちょっと詳しい説明が
見つかるはずです(vv;)。

編集 削除
かかし  2011-03-23 12:26:56  No: 72455  IP: 192.*.*.*

お世話になります。


256ポイント分の座標をそれぞれ、始終点2点と、制御点2点に分けて
みることにしました。

編集 削除
仲澤@失業者  2011-03-23 13:57:48  No: 72456  IP: 192.*.*.*

256点も使わなくて済むように設計されたのがベジエなんですけどね(vv;)。

編集 削除
かかし  2011-03-23 15:10:24  No: 72457  IP: 192.*.*.*

お世話になります。

説明不足でした。

0〜255ポイントの間を5ポイント間隔に、それぞれ、始終点2点と、制御点2点に分けてみることにしました。
始点=0ポイント目
制御点1=5ポイント目
制御点2=10ポイント目
終点=15ポイント目

編集 削除