J'ai une "boîte" faite de deux vecteurs tridimensionnels. Un pour le coin avant-inférieur gauche et un pour le coin arrière-haut-droit.Vérifier si un vecteur est entre deux autres
Existe-t-il un moyen simple de vérifier si un troisième vecteur tridimensionnel se trouve n'importe où dans cette "boîte"?
D'abord je l'ai écrit comme simething (psuedo):
p = pointToCompare;
a = frontLowerLeft;
b = backUpperRight;
if(p.x >= a.x && p.x <= b.x && p.y >= a.y ...
Mais cela ne fonctionne que si toutes les coordonnées sont positives, qu'ils ne seront pas toujours. Devrais-je faire quelque chose comme ce qui précède, ou y a-t-il une meilleure façon de faire ce calcul?
Si vous voulez savoir, c'est le vecteur et il est la méthode que je utilise: http://www.jmonkeyengine.com/doc/com/jme/math/Vector3f.html
Cette approche devrait fonctionner même pour les coordonnées négatives! Le seul cas où cela ne fonctionnera pas est si les coordonnées de votre boîte ne sont pas vraiment avant-bas-gauche et arrière-haut-droit. –
Cela semble sous-estimé pour moi. La boîte est-elle supposée être alignée sur l'axe? –
Erreur par moi. La méthode décrite fonctionne même avec des coordonnées négatives. Et oui, la boîte est alignée sur l'axe. – EClaesson