1

特定の幅の一連の線分として表されるオブジェクトを使用して、ベクトルベースのグラフィックスタイルを試しています(おそらくこれらを長方形と考える方が簡単でしょう)。問題は、これらのセグメントが中央で接続され、ギャップが生じることです (下図)。このギャップをカバーする最も効率的な方法は、単純に三角形でカバーすることであると判断しました.OpenGLで作業しているので、必要なのは他の長方形と重ならない2つのポイントのポイントだけです. 、3 番目の点は、2 つの線分 (長方形) が接続される中心点です。両方の長方形からすべての点がある場合、三角形に使用する必要がある点をどのように判断できますか?

例

編集:そのギャップをカバーする限り、代替ソリューションも受け入れます。

編集2:気にしないで、解決しました。インターネット接続が改善されたら、コードを投稿します。

4

2 に答える 2

0

質問を誤解しているかもしれませんが、赤い五角形の上隅を拡大すると、次のようになりますよね?

2 つのポリゴン エッジ間のジャンクション

ここで、A と B は edge1 の四角形のノードであり、C と D は edge2 の四角形のノードです。あなたはすでにこれらの座標を知っていると言います。そして、あなたの言うことから、辺は A と B の中間であり、C と D の中間でもある中心で交わっています。したがって、この点を X と呼ぶと、その座標を簡単に計算できると思います。

不足している三角形 AXC を描画するだけですよね?したがって、1 つの方法は、A と C がポリゴンの「外側」にあり (したがって塗りつぶしが必要)、B と D が「内側」にあるためそうでないと判断することです。しかし、害がないので、おそらく両方を描く方が簡単です. したがって、AXC と BXD を入力すると、次のようになります。

ここに画像の説明を入力

于 2013-03-28T09:29:11.583 に答える