Domanda

Una domanda piuttosto specifica se qualcuno conosce la risposta: cosa contiene esattamente " " " nel contesto di BoundingSphere1.Contains (BoundingSphere2)?

Se ho una sfera più piccola all'interno di una sfera più grande, la sfera più piccola "contiene"? la sfera più grande come in tutto il suo volume è anche il volume della sfera più grande? Restituirebbe un ContainmentType.Contains?

Grazie!

È stato utile?

Soluzione

Dalla pagina MSDN per il metodo BoundingSphere.Contains che accetta un parametro BoundingSphere:

  

Verifica se la corrente   BoundingSphere contiene il specificato   BoundingSphere.

Restituisce una enumerazione ContainmentType che

  

Indica fino a che punto il limite   i volumi si intersecano o ne contengono uno   un'altra.

In particolare:

  

Contiene: indica che un limite   il volume contiene completamente l'altro.

     

Disgiunto: indica che non è presente   si sovrappongono tra i volumi limite.

     

Intersezioni: indica che il   i volumi di delimitazione si sovrappongono parzialmente.

Se BoundingSphere1 è più piccolo di BoundingSphere2, suppongo che BoundingSphere1.Contains (BoundingSphere2) restituisca un risultato ContainmentType.Intersects invece di ContainmentType.Contains risultato poiché non " completamente " contenere l'altro. D'altra parte, BoundingSphere2.Contains (BoundingSphere1) dovrebbe restituire ContainmentType.Contains poiché " contiene completamente l'altro. & Quot;

MODIFICA: ho aggiornato la mia risposta dopo aver riesaminato nuovamente la documentazione. Inizialmente qualcosa sembrava vago ma ora penso che l'enfasi nei dettagli di enumerazione di "completamente" e "parzialmente" per Contains e Intersects, rispettivamente, rafforzare le mie aspettative. Non posso provarlo ma sembra ragionevole.

Altri suggerimenti

Per quanto ne so, sto interpretando i tuoi presupposti.

BoundingSphere1 è un grande cerchio. BoundingSphere2 è un piccolo cerchio.

Diciamo che BoundingSphere2 è interamente contenuto in BoundingSphere1. Da quello che ho capito, pensi che BoundingSphere2 "contenga " BoundingSphere1.

In realtà, BoundingSphere1 "contiene " BoundingSphere2 perché tutto BoundingSphere2 è all'interno di BoundingSphere1.

In pratica stai cercando di scoprire se una Sfera si trova all'interno di un'altra Sfera.

quindi BoundingSphere1.contains (BoundingSphere2) sarà vero, ma BoundingSphere2.contains (BoundingSphere1) sarebbe falso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top