正確に何が“「含む」” XNAで意味ですか?

StackOverflow https://stackoverflow.com/questions/1210895

  •  06-07-2019
  •  | 
  •  

質問

答えを知っている人がいる場合は、かなり具体的な質問です。つまり、BoundingSphere1.Contains(BoundingSphere2)のコンテキストでは?

大きい球の中に小さい球がある場合、小さい球は「含む」かボリューム全体のように大きな球体は、大きな球体の体積でもありますか?それはContainmentType.Containsを返しますか?

ありがとう!

役に立ちましたか?

解決

MSDNページから BoundingSphere.Containsメソッド BoundingSphereパラメーターを受け取ります:

  

現在の   BoundingSphereには、指定された   BoundingSphere。

ContainmentType列挙を返します

  

境界の範囲を示します   ボリュームが交差するか、1つを含む   別。

具体的に:

  

含む:1つの境界を示します   ボリュームにはもう一方が完全に含まれています。

     

Disjoint:存在しないことを示します   境界ボリューム間のオーバーラップ。

     

Intersects:は   境界ボリュームは部分的に重なります。

BoundingSphere1がBoundingSphere2より小さい場合、 BoundingSphere1.Contains(BoundingSphere2) ContainmentType.Contains ContainmentType.Intersects の結果を返すと思いますem>結果は「完全」ではないため他を含む。一方、 BoundingSphere2.Contains(BoundingSphere1)は、「もう一方を完全に含む」ため、 ContainmentType.Contains を返す必要があります。

編集:ドキュメントを再度確認した後、回答を更新しました。最初はあいまいに聞こえましたが、今では「完全に」の列挙の詳細に重点を置いていると思います。および「部分的に」 「含む」と「交差する」はそれぞれ、私の期待を高めます。これをテストすることはできませんが、これは理にかなっています。

他のヒント

私が知る限り、これはあなたの仮定をどのように解釈しているかです。

BoundingSphere1は大きな円です。 BoundingSphere2は小さな円です。

BoundingSphere2がBoundingSphere1に完全に含まれているとしましょう。 私が理解していることから、あなたはBoundingSphere2が「含む」と思う。 BoundingSphere1。

実際には、BoundingSphere1は「含む」 BoundingSphere2のすべてがBoundingSphere1内にあるため、BoundingSphere2。

基本的に、ある球体が別の球体内にあるかどうかを確認しようとしています。

so BoundingSphere1.contains(BoundingSphere2)はtrueになりますが、BoundingSphere2.contains(BoundingSphere1)はfalseになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top