Qu'est-ce que & & 8282; contient exactement & # 8221; signifie en XNA?

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

  •  06-07-2019
  •  | 
  •  

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!

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top