タグ

2010年9月9日のブックマーク (1件)

  • ブレゼンハム(Blesenham)

    画面上で 始点(x1, y1) から 終点(x2, y2) まで直線を描く手順を考えます。 あ、もちろん直線コマンド使わずに、直線上の点を一点づつ打っていく手順です。(^^) あと、話を簡単にするために画面の左上から右下に直線を描くとします。また直線の傾きは45°以下とします。(すみませんね。条件多くて。) ブレゼンハムアルゴリズムでの手順は以下のような感じになります。 (手順1) 始点(x1, y1) に点を打つ。 (手順2)  x1+1に移動する (手順3)  直線とy1 との誤差 σ1 を計算する (手順4)  σ1 が 0.5 より小さいので、(x1+1, y1) に点を打つ。 --- (手順5)  x1+2 に移動する。 (手順6) 直線とy1 との誤差 σ2 を計算する (手順7)  σ2 が 0.5 以上なので、(x1+2, y1+1) に点を打つ。 --- (手順8)  x