タグ付けされた質問 「computational-geometry」

8
回転/傾斜した長方形の角の位置/マークを計算する方法は?
2つの要素、2Dポイントと長方形の領域があります。ポイントはそのエリアの中央を表します。その領域の幅と高さも知っています。そして、エリアはグリッドに対して40°傾斜しています。 次に、このデータのみを使用して、その傾斜領域の各コーナーマークの絶対位置を計算します。それは可能ですか?

1
SATを使用して複合形状の衝突を解決する方法は?
SATは、任意の凸多角形間の衝突を判断する適切な方法です。衝突を解決するために必要なベクトルも取得します。 複雑な(非凸)形状間の衝突を解決するために、私はいくつかの凸多角形で構成されるある種の複合形状について考えていました。衝突がブロードフェーズで発生する場合(たとえば、円対円またはAABB対AABB)、衝突は、複合形状の各ポリゴンと他の複合形状の各ポリゴンをチェックすることで解決されます。 オブジェクトを実際に分離する最良の方法は何でしょうか?素朴なアプローチは、最高の大きさのベクトルを取得し、それを分離に使用することです。次の図では、これはV 2になります ただし、分離ベクトルが異なる方向を指している場合、衝突をすぐに解決することはできず、何度か繰り返す必要があります。したがって、次の図ではV 1を使用して分離し、別の反復ではV 2(または形状がV 1の量だけ移動したためV 2に近いもの)で分離します。 このアプローチは、互いに反対方向を指すベクトルを分離する場合、または次の図に示すような場合に失敗します。 ここでは、左側の状態と右側の状態の間で無限に反復します。 ここで実際の質問をする:この問題に対する合理的なアプローチは何ですか?複雑な形状に複合ポリゴンを使用することは合理的な考えだと思いますが、その場合、衝突をどのように解決する必要があるのでしょうか?3番目の画像に示すように、行き止まりを検出するにはどうすればよいですか?

6
2つの移動するAABBが交差するかどうかを確認する最も速い方法は何ですか?
移動している2つのAABBがありますが、フレームの下で交差するかどうかを確認する最も速い方法は何ですか? 移動するということは、通常の矩形交差法で確認するだけではなく、ブール値のみを返し、ヒット時間などを返さない、単純で簡単なスイープテストを意味します。 私が思うのは、単純に次のようにすることです。 しかし、その六角形は非常に複雑であり、AABB-ポリゴンの交差を計算する方法がわかりませんが、もっと簡単な方法はありますか? あなたが最も気に入っているプログラミング言語であれば、簡単に移植できます。 ありがとう。

1
手続き型ジオメトリの生成
私は最近、OS XのSceneKitを調べて、次のような幾何学的形状を作成するファクトリーメソッドがいくつかあることに気づきました。 ボックス、カプセル、コーン、シリンダー、平面、ピラミッド、球、トーラス、チューブ。 このようなプリミティブシェイプをレンダラーに追加することに興味がありますが、手続き型生成の理解を集めるための適切なソースを見つけるのに苦労しています。理論を詳しく説明しているリソースはいくつかありますが、それをバックアップするための適切なソースコードがありません。 SceneKitは、そのような形状の属性を動的に設定できるファクトリメソッドを提供します。ボックスの場合、各面を分割する幅、高さ、および深さのセグメントの数に整数値を指定できます。 理論は理解していますが、目的の効果を実現するためにジオメトリ面を細分割し始める知識がありません。 各形状の頂点は、単純なループで生成するのが非常に簡単です。私が困惑しているのは、面の作成方法、つまり各面の適切なテクスチャ座標を知っていることです。法線は面ごとに計算できるため、自分がやりたいことを達成できると確信しています。 誰でも手続き型ジオメトリの詳細を提供できますか?私が本当に必要なのは、情報を収集するためのソースコードです。私はチュートリアルを求めて高低を検索しましたが、これまでにいくつかの妥当なサイトまたはブログしか思いつきませんでした。優れた本、チュートリアル、ブログ、研究論文をいただければ幸いです。 コメントに基づいて編集 基本的な形状の頂点を作成する方法を知っていることを明確にしておく必要があります。これらのほとんどは、おそらく単純なループで実現できます。私が理解していないのは、生成された頂点の配列から面を作成する方法です。どうやら順序付けられていないように見える頂点の配列から三角形ストリップを作成するにはどうすればよいですか? このポイントを通過すると、各面から法線を作成できると思います。これについてはまだ詳しく説明していませんが、これへの多くの参照があり、実装するのは簡単です。 理想的には、SceneKitが提供する方法など、特定のプロパティセットからジオメトリを生成できるようにしたいと考えています。SceneKitがそれを実行し、BlenderやMayaなどで同様のことができることを考えると、私は不可能を実装しようとしているのではないと思います。 最後の側面は、テクスチャの適用です。繰り返しますが、これは私が実装したものではありませんが、要件を読んで認識しています。 ここでの主な問題は、私が達成したいことはわかっているが、前述のプリミティブの実装方法を解読するのに苦労していることです。ソースコードを使っていくつかの知識の類似点を見つけることができると期待していましたが、今のところ適切なものに出会ったことはありません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.