1

2 点を結ぶ線を描く必要があります。

私はJavaでそれをやっています。パラメータとして 2 つのポイントを受け取り、それらの間の直線が黒い図形の内側にあるかどうかを計算する必要があります。

直線方程式を使用して独自のソリューションを開発しましたが、私の結果は「プロフェッショナル」プログラム (GIMP や MS ペイントなど) を使用した場合とは異なります。

これが私が欲しいものの例です:

代替テキスト http://img411.imageshack.us/img411/788/img1q.png

しかし、私のアルゴリズムはこれを行います:

代替テキスト http://img267.imageshack.us/img267/1908/img2d.png

※緑の点は図外であり不可です。

何か案は?「プロフェッショナル」アプリで、これに使用されているコードを知っている人はいますか?

ありがとう!ダニエル。

編集:画像

4

4 に答える 4

3

「プロフェッショナル」プログラムは、ブレゼンハムのライン アルゴリズムを使用する可能性が最も高いです。

于 2010-06-14T17:01:50.313 に答える
3

最も近いピクセルに丸めるのではなく、切り捨てているようです。それらの小さな黒いインクの斑点で見るのは難しい. コードを投稿できますか?

于 2010-06-14T17:02:55.710 に答える
1

Bresenhamの線画アルゴリズムを見てください

于 2010-06-14T17:02:12.880 に答える
1

通常、直線はブレゼンハムのアルゴリズムを使用して描画されます。緑色の点が図の外にあるというあなたの主張はわかりませんでした.可視領域の外に描画するのに時間を無駄にしないようにクリッピングがあります.

于 2010-06-14T17:02:19.853 に答える