9

私はモデリングソフトウェアを作成しています。私のモデルはすべて平らなポリゴンで構成されています。これは、OpenGL で表示している頂点の順序付けられたセットです。かなり検索しましたが、驚いたことに、探しているアプリケーションに関する情報があまり見つかりませんでした。

長方形のボックスを使用してサーフェスを選択しようとしています。これは単純に思えますが、この方法が多くのプログラムで機能するのと同じように機能することを望んでいます。これらは私が探している要件です:

  1. ボックス内に完全に含まれているオブジェクトのみを選択するために、左から右に移動する長方形が必要です。
  2. 右から始まり左に向かう長方形は、接触している任意の面を選択する必要があります (完全に囲まれている必要はありません。
  3. 長方形内/長方形に接するすべてのオブジェクトを選択する必要があります。つまり、オブジェクトが表示されているかどうかにかかわらず、オブジェクトを選択したいと考えています。別のサーフェスで覆われていても、ボックス内に収まるものはすべて選択する必要があります。

リストの 3 番目が最も重要です。オプション 1 と 2 の両方を使用することをお勧めしますが、実装が非常に難しいことが判明した場合は、どちらか 1 つだけで十分です。

3D ピッキングに関する他のさまざまな投稿を見てきましたが、カラー ピッキングまたはレイ キャスティングが最も示唆されているようです。通常のクリック選択にはカラー ピッキングを使用しますが、ボックス選択に非表示のサーフェスを含めたいため、これはオプションではありません。また、レイ キャスティングは、ボックスではなく 1 回のクリック ポイントでのみ機能するようです。私の目標を達成するためのかなり簡単な方法は他にありますか? 多くのモデリング ソフトウェアに存在するように見えるため、これはかなり一般的なタスクであると考えましたが、残念ながら、自分のニーズに合った方法を見つけることができませんでした。

アルゴリズムの疑似コードは歓迎されますが、必須ではありません。少なくとも、自分で調査していくつかの例を見つけることができる方法を探しています。どこを見ればいいのかさっぱりわからない。

4

3 に答える 3