Che cosa fa esattamente & # 8220; Contiene & # 8221; intendi in XNA?
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!
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.