2017-07-26 26 views
-1

Bresenhamのラインアルゴリズムなどを使って4点から塗りつぶし矩形を作成して、滑らかな辺を取得したいと考えています。私は2つのポイント間の線を作成するために完璧に動作するスタックオーバーフロー[link]でこの答えに出くわしました。この関数を使って塗りつぶし矩形を作成するにはどうすればよいですか?私のニーズに合った他のアルゴリズムはありますか?任意の回転矩形についてBresenhamのラインアルゴリズムなどを使用して矩形を塗りつぶす

+0

矩形は常にピクセルに収まるため、アニメーションをスムーズにする必要はありません。四角形を意味するのでしょうか? – Gusman

+1

@Gus:回転している長方形はまだ長方形です。 – TaW

+0

まず矩形を作成してから、floodfillを実行します。 – TaW

答えて

0

:この説明は、OX軸に沿ったforループでwiki Wu's implementationに従うが、OY軸に沿ってエッジを描画し、水平線を埋めるために、より効果的です。

ソート頂点
上下縁を選択し、すべての間隔について頂点
によって分離された水平軸上に間隔を作るX座標
同時に実行する上縁ドローについて上下縁

ための図ウーのantaliasing上側半透明な画素

draw: plot(ipart(intery) , x, rfpart(intery)) 

及び底のピクセルを無視し、充填ライン

の開始としての地位を使用下縁について
LineFrom(ipart(intery)+1, x) 

底半透明のピクセルを描画し、充填ラインの端と上部コーナーに達したときに描画

再初期化のエッジを使用します。

関連する問題