ligne rectangle de détection de collision
J'ai une ligne (deux point (x,y) (x1,y1)) et un rectangle avec le point de mise au point (rx,ry). J'ai besoin d'aide pour trouver le point de collision entre la ligne et le rectangle, un exemple en C++ sera aider.
c'est un rectangle avec centré sur le point (rx, ry)
qu'en largeur, la hauteur ou de la rotation?
Voir stackoverflow.com/questions/1585525/...
paxdiablo que le lien est pour une boîte qui est centrée sur un point d'extrémité de la ligne. Ce n'est pas le cas dans cette question
qu'en largeur, la hauteur ou de la rotation?
Voir stackoverflow.com/questions/1585525/...
paxdiablo que le lien est pour une boîte qui est centrée sur un point d'extrémité de la ligne. Ce n'est pas le cas dans cette question
OriginalL'auteur complez | 2010-03-03
Vous devez vous connecter pour publier un commentaire.
Je ne vois pas comment vous pouvez représenter un rectangle avec juste un "point focal". Vous aurez besoin soit les deux points de coin ou d'un point d'angle avec une largeur/hauteur/rotation de l'ensemble de données.
Cependant, une fois que vous ont un rectangle, je voudrais tout simplement de le décomposer en quatre lignes et ne l'ordonnée à l'origine contrôles entre chacun de ces quatre lignes et la ligne que vous souhaitez vérifier.
De faire une recherche sur DONC, pour "l'intersection" tourne à de nombreuses questions, y compris cette une, qui semble prometteuse. En fait, la recherche pour "ligne rectangle intersection" vous donne cette une, ce qui semble être exactement ce que vous êtes après.
OriginalL'auteur
Theres beaucoup d'informations là-bas sur les interectioning formes.
http://www.geometrictools.com/LibFoundation/Intersection/Intersection.html est probablement un très bon point de départ. En fait, il contient un code C++ pour la ligne d'rectangle intersection. Et ses par Dave Eberly qui est assez bien connue dans l'infographie monde.
Avoir dit que ce que je ferais si je nécessaire mon propre algorithme est quelque chose comme ceci:
Cela devrait fonctionner pour arbitraire des polygones. Et ainsi de rotation de rectangles ne sera pas un problème.
Si vous avez besoin d'accélérer un peu les choses, vous pouvez améliorer les critères de rejet en 3, en utilisant axis-aligned bounding des rectangles pour le segment de ligne et le rectangle.
OriginalL'auteur Michael Anderson