現在、Bresenham のアルゴリズムを使用して線を描画していますが、線は (当然ですが) 1 ピクセルの太さです。任意の太さの線を描画する最も効率的な方法は何か、というのが私の質問です。
私が使用している言語はCです。
ベストアンサー1
別の Bresenham ループを使用して、元の線の開始位置と終了位置を直角方向に変更します。問題は、適切な開始点を効率的に見つけ、次の線を描画するときにピクセルを 2 回描画しない (またはピクセルをスキップしない) ことです。
動作およびテスト済みのCコードはGithubから入手可能です。Cコード。
以下は、このコードによって作成されたいくつかのサンプル行を含むテスト ページです。黒いピクセルはアルゴリズムの開始点です。