問題タブ [convex-hull]

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 投票する
1 に答える
2231 参照

c++ - グラハム スキャン アルゴリズムを使用した C++ 凸包

だから私はグラハム スキャン アルゴリズムを使用して凸包を作成する必要がありますが、問題があります。

ここに画像の説明を入力

ここで、凸のランダムな点を追加します

ここで、開始する最初の最低点を見つけます。

ここで、残りのすべてのポイントを並べ替えます。

ここで凸を描きます。

誰かが私が間違っていることを教えてもらえますか?

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

perl - 3DPerlの凸包

xyz座標を使用した3Dのポイントのセットがあります。これらの点の凸包を計算したいと思います。私は利用可能なアルゴリズムを試しましたが、Perlではできませんでした。Perl Math:ConvextHullモジュールもチェックしましたが、これらの3Dポイントを入力として与える方法がわかりませんでした。私を助けてください。

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

computational-geometry - 点が 2d 凸包の面から見えるかどうかを確認します

平面内の一連の点の Delaunay Triangulation を生成するための Bowyer-Watson アルゴリズムを実装しようとしています。このアルゴリズムは、境界のある超三角形の存在を前提としていますが、点の集合の凸包を維持するなどの代替手段もいくつか言及されています。

したがって、インクリメンタル アルゴリズムで凸包を仮定して点のドロネー三角形分割を生成することを決定した場合、点が凸包の外側にある場合、その点から面を構成する凸包上のすべての頂点に頂点を描画する必要があります。ポイントが見える船体の。

どうすればこの問題にアプローチできるのだろうかと思っていました。ポイントが一度に 1 つずつ追加されるインクリメンタル アプローチですべてのポイントなどの凸包を最初に生成する必要がありますか? DCEL の形式で凸包を維持する必要がありますか?

編集: 上の画像では、平面内の一連の点の凸包の外側にある点 P がある場合、点が見える包のエッジを計算する必要があります。【船体の緑の縁】上の画像

画像が質問を明確にするのに役立つことを願っています。

前もって感謝します

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

xna - 2D 凸包衝突応答

離散物理システムでボリュームを境界付けるために凸包を使用して 2D ゲームを作成しようとしていますが、衝突応答を本来の動作の近くで動作させることができないようです。私の googlefu が欠けているのか、そこに何もないのかはわかりませんが、応答については何も見つかりません (ハルの生成についてはたくさんあります)。これを始めるためのヒントはありますか?

ありがとう。

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

image - openCVで輪郭と凸包を見つける際の問題

私は次のコードを書きました

if(waitKey(33)=='q')break; img1 = img2.clone(); }

}

1.)CV_RGB(255,0,0)で指定したのに、輪郭が赤色で表示されないのはなぜですか。2.)行のコメントを外すとconvexHull(Mat(cont)、hullPoints、false); 、プログラムは実行時エラーを示しています。なぜそれが起こっているのですか。凸包()の正確な形式とその引数の意味を誰かに教えてもらえますか?

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

image-processing - opencvを使用して凸状の欠陥を見つける方法は?

私は次のコードを持っています

このconvexHull..cvConvexityDefects()で凸包の欠陥を見つける方法には、引数としてconst cvArr *が必要です。しかし、convexHullからベクトルポイント型の結果が得られます。

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

c - OpenCV で cvConvexHull2() の結果に cvApproxPoly() を使用する

長方形の輪郭で凸包を実行する C (C++ ではない) コードを書いています。そのための(非常に単純化された)コードは次のようになります。

imgとはどちらcontoursも有効です。これらの行の間にはさらに多くのものがありますが、その FindContours 部分は動作することがテストされています。

このコードは例外をスローします: Error: Bad argument (Unsupported sequence type) in cvApproxPoly .

問題は、シーケンスをポリラインとして識別するフラグが設定されていないことであると言われ、提案を試みましたがhull->flags = hull->flags | 512、おそらく2008年から現在までの間にフラグが変更されたため、機能しません。

問題は、cvConvexHull2() の結果に対して cvApproxPoly() を使用するにはどうすればよいかということです。cvApproxPoly() の適切な引数は何ですか?

0 投票する
5 に答える
4264 参照

java - 線から最も遠い点を見つける

ポイントの配列と、さらに2つのポイント(AとB)があります。最後の2つのポイントは線を形成し、配列内のどのポイントが線から最も遠いのかを見つけようとしています。Javaでこれを行うにはどうすればよいですか?

AとBからの距離を見つけるという線に沿ったものなのだろうかと思いますが、それは私の頭の中にうまく収まりません。

追加情報:線分だと思います。これがQuickHullであることを考えると、それが違いを生むかどうかはわかりません。数学と数式に関しては、私はこれまで最高ではなかったので、説明が多ければ多いほどよいでしょう。ありがとう!

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

javascript - キャンバスに結合された長方形の輪郭を描く

複数の正方形 (それぞれに 4 つの x/y ポイントがある) を組み合わせて、結合されたキャンバスの輪郭を描くアルゴリズムの良い方法はありますか?

私が確認したい数値は次のとおりです。

  • 2 つの正方形を結合して長方形を作る
  • 4 つの正方形を結合してより大きな正方形を作る
  • 両端に 45 度の三角形がある長方形のような対角線の 2 つの正方形 - これはおそらく最も不規則/特殊なケースです...
  • テトリス(TM)のピース「L」のピースのように、3つまたは4つの正方形がくぼんだ形状を作るように結合されています

すべての四角形の点から線のパス (およびおそらく塗りつぶされた図) を描画するために使用する外側の点を計算する簡単な方法はありますか?

ありがとう!

更新:これを行う理由は、特に 2xn 配列で互いに隣り合っている同じグループの正方形を表示したいからです (ただし、場合によっては 1xn になることもあります)。さまざまな正方形を反復処理し、別の方法でグループを形成するだけなら、もっと簡単な答えがあるでしょうか?