問題タブ [bresenham]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
946 参照

algorithm - ウィキペディアのブレゼンハムのアルゴリズムに誤りはありますか?

Bresenham のアルゴリズムは、ピクセルなどの正方形のグリッドに線を描画するために使用されます。

このアルゴリズムの一部は、平面をオクタントと呼ばれる 8 つの部分に分割することに基づいています。

オクタント

トリックは、対称性を使用して、2 番目のポイントがどこにあるかに関係なく、アルゴリズムを一般化することです。まず、最初の八分円に「移動」し、次に計算が行われ、最後に、生成されたポイントが元の八分円に変換されます。

ウィキペディアは、トリックを実行するための基本的な機能を提供します。

さらに、次のことを行う必要があると書かれています。

入力と出力の座標系を反転する

これは、これらの転置が実際には退縮であるという事実に基づいています。f(f(x)) = x

あまり気にせずに、最初はうまくいくと思いました。

ただし、ケース 3 と 7 の場合は、退縮ではないため機能しません。

例えば:

もう一度トリックを実行する必要があります。

それで、私は何かを誤解しましたか?

それとも、ウィキペディアの記事の草稿の正確さの欠如であり、誰かがそれを改善する必要がありますか?

switchToOctant_onInput2 つの関数を使用せずにこれらの遷移を行うより良い方法はありませんswitchToOctant_onOutputか?

0 投票する
1 に答える
211 参照

java - Bresenham のライン アルゴリズムのエラー

Bresenham の線を描画するためにマトリックスを星 (*) で埋めようとしていますが、印刷すると、マトリックスが 1 つの星でしか満たされず、何が悪いのかわかりません。言語はJavaです

}

次のコードは、マトリックスを印刷しようとしているときです

}

0 投票する
0 に答える
193 参照

drawing - フラッドフィルとブレゼンハムのコーナー

ブレゼンハム ラインアルゴリズムを使用してレンダリングした図形を塗りつぶそうとしています。

残念ながら、塗りつぶしをシェイプの内側から狭いコーナーに到達させることはできません。そのようなシナリオを処理する方法はありますか?

http://i.stack.imgur.com/XlZty.png

私が思いついた唯一の解決策は、線を太くし、8方向の塗りつぶしを使用することです。これは最適ではありません。また、フィル フラッド アルゴリズムの開始点が複数あると、パフォーマンスが低下します。

0 投票する
1 に答える
1392 参照

java - Java でアンチエイリアスをプログラムする方法

Simple line drawaing クラスに Bresenham Algorithm を実装しましたが、その上にアンチエイリアシングを設定したいので、表示に JavaFX を使用します。

ライブラリを使用せずにアンチエイリアスを実装するにはどうすればよいですか?

0 投票する
1 に答える
1098 参照

bresenham - Bresenhamの円描画アルゴリズムのどこが間違っていますか?

うーん、これはばかげているように聞こえますが、この例で何が間違っているのかを確認しようとしているのは今では 10 回以上です。Web でチュートリアルを見たことがあります。例を以下に示します。

ここに画像の説明を入力

ステージ3Yiで : 9にデクリメントすることは想定されていませんか? 私がこれを言っているのは、決定変数が以下に示すPi=13条件を満たしているからです。if Pi>=0, Yi +1=Yi-1ここに画像の説明を入力

質問:どこが間違っていますか? お願いします、誰か私にこれを説明してください。

PS:より多くの実用的な例に感謝します。

0 投票する
1 に答える
734 参照

c++ - ブレゼンハム ライン アルゴリズムを使用して 2 次元配列を循環させる

私は現在、サイズ 21x21 の 2 次元配列を 0 ~ 2pi の角度の線として循環できるブレセンハム ライン アルゴリズムを使用して、いくつかの角度の付いた線を描画しようとしています。

ブレゼンハムからのライン

したがって、プログラムは、線がグリッド内を通過する値を出力する必要があるという考えです..

5x5の例

等々..

ここでの問題は、私のプログラムがそれを行うように見えないことです..エンドポイントは、指定された半径の長さの範囲内にあります..

私は数学を台無しにしていると確信しています..だから、あなたの何人かがここで私を助けてくれることを願っています..

これが出力です。

私は何を間違っていますか?... ブレゼンハム アルゴリズムを修正して、1 より大きく 0 よりも小さい勾配を克服する必要があることを知っています。

--更新 問題を明確に --

Bresenham line algorithm を使用して、2次元配列を循環的に反復しようとしています。

アルゴリズムは 2 次元配列の中心から開始し、0 ~ 2pi の角度でビームを「発射」する必要があります。ビームはマトリックスの中心から始まり、端で終わる必要があります。

0 投票する
0 に答える
167 参照

algorithm - グラフ/ツリー検索の見通しアルゴリズム

私は Python で Bresenham のライン アルゴリズムを実装し、グリッド ワールドのグリッド セルの注目リスト間のグリッドの占有率を識別しました ([(1,1), (3,2),(5,6),(8,4 など) ) いくつかの占有されたグリッドがある 10X10 グリッドの世界で) 次に、視線アルゴリズムを適用して、合計距離を減らすために頂点リストをスキップできるかどうかを確認しました。

しかし、グラフベースの検索の見通し線を実行するにはどうすればよいですか? 座標形式 (x,y) でグリッド セルを表したように、ツリー/グラフ ノードをどのように表すことができるのでしょうか。提案/アイデアは大歓迎です。