Qu'est-ce que & & 8282; contient exactement & # 8221; signifie en XNA?
Question
Une question assez spécifique si quelqu'un connaît la réponse: que contient exactement "contient" " signifie, dans le contexte de BoundingSphere1.Contains (BoundingSphere2)?
Si j’ai une sphère plus petite à l’intérieur d’une sphère plus grande, la plus petite sphère contient-elle " la plus grande sphère comme dans l'ensemble de son volume est-elle aussi le volume de la plus grande sphère? Est-ce que cela retournerait un ContainmentType.Contains?
Merci!
La solution
A partir de la page MSDN pour la méthode BoundingSphere.Contains qui prend un paramètre BoundingSphere:
Vérifie si le courant BoundingSphere contient le spécifié BoundingSphere.
Il retourne un énumération ContainmentType . qui
Indique dans quelle mesure la liaison les volumes se croisent ou en contiennent un un autre.
Spécifiquement:
Contient: indique qu'une limite le volume contient complètement l'autre.
Disjoint: indique qu'il n'y a pas de chevauchement entre les volumes englobants.
Intersects: Indique que le les volumes englobants se chevauchent partiellement.
Si BoundingSphere1 est plus petit que BoundingSphere2, alors je suppose que BoundingSphere1.Contains (BoundingSphere2)
renvoie un résultat ContainmentType.Intersects au lieu d'un ContainmentType.Contains résultat car il n'est pas "complètement" contenir l'autre. D'autre part, BoundingSphere2.Contains (BoundingSphere1)
doit renvoyer ContainmentType.Contains car il "contient complètement l'autre".
MODIFIER: j'ai mis à jour ma réponse après avoir relu la documentation. Au départ, quelque chose semblait vague, mais je pense que l’accent est mis dans les détails de l’énumération de "complètement". et " partiellement " pour Contains et Intersects, respectivement, renforcent mes attentes. Je ne peux pas tester cela, mais cela semble raisonnable.
Autres conseils
Autant que je sache, voici comment j'interprète vos hypothèses.
BoundingSphere1 est un grand cercle. BoundingSphere2 est un petit cercle.
Disons que BoundingSphere2 est entièrement contenu dans BoundingSphere1. D'après ce que j'ai compris, vous pensez que BoundingSphere2 " contient " BoundingSphere1.
En réalité, BoundingSphere1 " contient " BoundingSphere2 parce que tout BoundingSphere2 est dans BoundingSphere1.
Vous essayez essentiellement de savoir si une sphère se trouve dans une autre sphère.
donc BoundingSphere1.contains (BoundingSphere2) sera vrai, mais BoundingSphere2.contains (BoundingSphere1) sera faux.