問題タブ [polygon]
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.
java - ポリゴンの交差が失敗しました。衝突の「サイズ」が大きすぎます
よし、簡単な小惑星のクローンを作ろうとしている。衝突検出を除いて、すべて正常に動作します。
私は2つの異なるバージョンを持っています.最初のものはjava.awt.geom.Areaを使用しています:
これは魅力のように機能します...たった120個の小惑星に対して40%のCPUを気にしないなら:(
そこで、有名な分離軸定理をネットで検索しました。数学が苦手なので、ここから実装を取得し、Java のニーズに合わせて変換しました。
それは動作します...ちょっと。実際、このコードを使用すると、小惑星の「衝突船体」が大きすぎて、小惑星の 1.2 倍のサイズになるようです。そして、私には理由がわかりません。
うまくいけばわかるように、写真 1 の小惑星は、SAT コードを使用している写真 2 の小惑星よりもはるかに密度が高いです。
アイデアはありますか?または、私が使用できる交差テストを備えた Java の Polygon 実装を知っている人はいますか?
google-maps - Google マップ - ポリゴンの読み込みが遅い
127 個の単純なポリゴンを含む KML があります。
GGeoXml を介してそれらをすべて読み込むと、非常に高速になり、ズームイン/ズームアウトすると、すべてのポリゴンが (ほぼ) 瞬時に再描画されます。
EGeoXml または CsGeoXml クラスを使用すると、一度に 20 ~ 30 程度のポリゴンを再描画するため、ズームイン/ズームアウトが遅くなります (約 4 ~ 6 秒)。
カスタム情報ウィンドウを各マーカーに配置する必要があるため、GGeoXML ではうまくいきません。
GGeoXML は、何らかの方法で上記のクラスとは異なる方法でポリゴンをロードしますか? それとも、EGeoXml/CsGeoXml は GGeoXml がロード/アタッチしないものをロード/アタッチするため、動作が大幅に遅くなりますか?
また、KML ファイルから形状を取得し、それらを JSON ファイルに入れて解析しようとしましたが、同じ問題です。
考えや提案はありますか?
path - SVGパスの「中央」にラベルを配置します
svgファイルのポリゴンにラベルを描画しようとしています。私が直面している問題は、パスの座標がsvg形式であり、解析する必要があるため、ラベルを配置するためにこのポリゴンのほぼ中央を見つけることです。svgポリゴンの中心を決定する簡単な方法はありますか(誰かがjavascriptライブラリまたはスニペットを指摘できるかもしれません)?Raphael javascriptライブラリを使用してsvgを操作していますが、標準のsvg機能を超えていないようです。
matlab - 領域マスクで表されるポリゴンのコーナーを見つけます
BW = poly2mask(x, y, m, n)
ベクトルxおよびyで表されるROIポリゴンからバイナリ関心領域(ROI)マスクBWを計算します。BWのサイズはm-x-nです。
poly2mask
ポリゴン(X、Y)の内側にあるBWのピクセルを1に設定し、ポリゴンの外側のピクセルを0に設定します。
問題:凸四角形の
そのようなバイナリマスクBW
を考えると、四隅を決定するための最も効率的な方法は何でしょうか?
例えば、
これまでの最善の解決策:境界線を見つけるために
使用edge
し、ハフ変換を使用してエッジ画像内の4本の線を見つけ、次にそれらの4本の線の交点を見つけるか、エッジ画像上でコーナー検出器を使用します。複雑なようで、もっと簡単な解決策があると感じずにはいられません。
ところで、convhull
常に4ポイントを返すわけではありません(おそらく誰かがqhull
それを防ぐためのオプションを提案することができます):エッジに沿っていくつかのポイントも返します。
編集:
アムロの答えは非常にエレガントで効率的なようです。ただし、ピークは一意ではないため、実際の各コーナーに複数の「コーナー」が存在する可能性があります。θに基づいてそれらをクラスター化し、実際の角の周りの「コーナー」を平均化することもできますが、主な問題はの使用ですorder(1:10)
。
すべてのコーナーを説明するのに十分です10
か、それとも実際のコーナーの「コーナー」を除外しますか?
geometry - ポリゴンの穴を削除する
ポイントの配列によって決定されるポリゴンがあります。
このポリゴンはそれ自体と交差しており、ポリゴン自体にいくつかの穴を開けています。
私の質問は次のとおりです。この穴を省略して、ポリゴンの外側の点を取得するにはどうすればよいですか?
または、何が同じでおそらく簡単になるでしょう:ポイントがポリゴンの内側にあるかどうかをチェックするためのどのアルゴリズムを使用して、ポリゴンの穴のポイントを内側のポイントとして検出する必要がありますか?
前もって感謝します、
/ roger
iphone - iPhone 用の無料のポリゴン ライブラリはありますか?
ポリゴン モデリングと、回転や平行移動などの基本的な変換を管理できるライブラリが必要です。すべてをゼロから再開発したくありません ありがとう
algorithm - カット ポリゴン (2D) から新しいポリゴンを生成する
私はこの小さな問題に悩まされており、これを解決するためのアルゴリズムはすべてのケースに当てはまるわけではありません。これを解決する方法を知っている人はいますか?
ポリゴンの例を次に示します。
例 http://img148.imageshack.us/img148/8804/poly.png
正式な説明
多角形を定義する CW 順の点のリストがあります。ポイントが切断ポイントであるかどうかをクエリすることもできます。is_cut(p)
ここp
で、 は特定のポイントです。次に、この「カット」によって生じる新しいポリゴンを計算します。
アルゴリズムはこれを行う必要があります。
入力:{a, c1, b, c4, c, c5, d, c6, e, c3, f, c2}
出力: {a, c1, c2}
, {b, c4, c3, f, c2, c1}
, {d, c6, c5}
,{e, c3, c4, c, c5, c6}
ここに私の現在のアルゴリズム:
c
またはで開始した場合、このアルゴリズムは成立しませんf
。
c - Cでポリゴンを描く
数学を吸うだけで、2つのポイント(中心と頂点の1つ)が与えられた「n」辺のポリゴンを描画する必要があります。私はたくさん読んでいます、そしてこれは私がそれを理解することができたものです(私はそれが正しいかどうかわかりません):
わかりました。ピタゴラスの定理を使用して、2点(半径)間の距離を取ります。
そして、この2つのポイント間の角度は次のようにatan2を使用します。
ここで、xc、ycは中心点であり、x、yは既知の唯一の頂点です。
そしてそのデータで私はします:
問題は、ポリゴンのように線を描画しないため、プログラムが正しく機能しないことです。
誰かが手を差し伸べるのに十分な数学をどのように知っていますか?このグラフィックスプリミティブでCおよびturboCを使用して作業しています。
編集:ポリゴンを塗りつぶしたくないので、描画するだけです。
algorithm - エリアに 2D ポリゴンをフィッティングするためのアルゴリズム?
これには基準がありますか?アルゴリズム名?
説明: サイズの異なる 10 個のポリゴンがあります。特定のサイズの領域があります。
その領域で最も多くのポリゴンを塗りつぶす方法と、それらがどのように適合されているかを知りたいです。
注: 制限セットによっては、ポリゴンが回転する場合があります。
mysql - 正方形ではなくmysql多角形の円を描くにはどうすればよいですか?
以下の関数は、4 つの点から多角形の正方形を作成します。最後の 5 番目の点が正方形を閉じていると仮定します。少なくとも 24 個の点があり、円を構成する必要があります。何か案は?
jsバージョンの下で、これは完璧に機能します