Bresenham を使用して任意の太さの線を作成するにはどうすればいいですか? 質問する

Bresenham を使用して任意の太さの線を作成するにはどうすればいいですか? 質問する

現在、Bresenham のアルゴリズムを使用して線を描画していますが、線は (当然ですが) 1 ピクセルの太さです。任意の太さの線を描画する最も効率的な方法は何か、というのが私の質問です。

私が使用している言語はCです。

ベストアンサー1

別の Bresenham ループを使用して、元の線の開始位置と終了位置を直角方向に変更します。問題は、適切な開始点を効率的に見つけ、次の線を描画するときにピクセルを 2 回描画しない (またはピクセルをスキップしない) ことです。

動作およびテスト済みのCコードはGithubから入手可能です。Cコード

以下は、このコードによって作成されたいくつかのサンプル行を含むテスト ページです。黒いピクセルはアルゴリズムの開始点です。

異なる太さのブレゼンハム線を含むテストページ

おすすめ記事