English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Toutes les catégories

Voici le probleme, sur un plan 2D j'ai un segment AB qui représente le trajet d'une personne (de A vers B), et un rectangle CDEF qui représente un immeuble (vu de dessus).
Comment calculer le premier point d'intersection entre la personne et l'immeuble cad entre le segment et le rectangle?
Merci

2007-06-26 06:09:14 · 6 réponses · demandé par Anonymous dans Sciences et mathématiques Mathématiques

6 réponses

ca depend de la direction et la trajectoire de ton bonhomme par rapport à l'immeuble.

2007-06-26 06:13:52 · answer #1 · answered by bob111 7 · 2 0

on va supposer que tu écris un programme qui fait le calcul, parce que sinon, la question n'a pas de sens

en premier, il faut (éventuellement) faire un changement de repère (par rotation), de telle sorte que ton rectangle soit aligné par rapport aux axes x et y
évidemment, il faut redéfinir tes points a et b dans ce même repère

ensuite, tu vas définir virtuellement 9 surfaces par les prolongements des côtés du rectangle
une à l'extérieur de chaque coin (c, d, e, f,)
une sur chaque côté extérieur (cd, de, ef, fd)
et une dernière à l'intérieur (cdef)

pour simplifier, on numérote les surfaces de s1 à s9 en partant éventuellement du haut à gauche et en terminant en bas à droite, ce qui fait que s5 est au centre
(on peut partir d'où on veut, puisque c'est virtuel)

par des tests entre les coordonnées de a et b et les positions des côtés (qui ne sont définis que par des distances aux axes du fait de la rotation de repère) tu vas déterminer dans laquelle de tes 9 surfaces se trouve chacun de ces deux points

si les deux points se trouvent dans la même surface, inutile d'aller plus loin, il n'y a pas d'intersection
s'ils sont tous les deux en haut (s1 ou s2 ou s3) pareil
s'ils sont tous les deux à gauche, à droite, en bas ou au millieu, pareil

(déjà, tu élimines 21 calculs d'intersections sur les 45 possibles)

après, tu fais le calcul d'intersections en fonction des surfaces dans lesquelles sont tes deux points
en fait, il peut y avoir deux points d'intersections mais tu les trouveras forcément car la méthode est systématique

si par rapport au côté qui est en haut, tu as un point au dessus (s1 ou s2 ou s3) et l'autre au dessous (tout sauf s1, s2 ou s3)
à ce moment là, tu calcules l'intersection de ton segment ab et la ligne du haut et tu vérifies si le point trouvé est bien entre les côtés gauche et droite
et tu fais pareil pour les côtés droit, gauche et bas



l'intérêt d'avoir fait le changement de repère dès le début c'est qu'après coup les tests sont très simplifiés et les calculs moins nombreux
l'intersection entre un segment et une horizontale ou une verticale peut se résumer à une règle de trois
inutile donc de passer par des déterminants de droites et tout le toutim
en définitive, le plus compliqué c'est le changement de repère du début

2007-06-26 15:18:49 · answer #2 · answered by jam63112 6 · 0 0

Chaque côté du rectangle est une droite du type y=ax+b pour laquelle tu devras déterminer a et b grâce aux coordonnées des deux points du segment et encadrer la valeur de x.
Tu obtiens donc 4 équations.E1 E2 E3 E4
Tu fais de même pour le segment AB tu obtiens E5.
Il y a intersection lorsque :
E1=E5
E2=E5
E3=E5
E4=E5
à chaque fois vérifier que l'intersection se trouve bien dans l'encadrement correspondant.
L'ami pythogore te permettra de calculer la distance entre A et le point d'intersection. La plus petite distance t'indiquera le premier point d'intersection.
Deux dolipranes après....

2007-06-26 13:48:08 · answer #3 · answered by francine d 2 · 0 0

Intersection: = boum!

2007-06-26 13:23:01 · answer #4 · answered by ec 5 · 0 0

tu prend la médiatrice du segment et le résultat sera l'intersection du la médiatrice et du rectangle

2007-06-26 13:13:24 · answer #5 · answered by jean.dos21 2 · 0 0

Un rectangle c'est 4 segments, 4 fois l'intersection d'un segment avec un segment, et tu prends l'intersection la plus proche !

2007-06-26 13:13:21 · answer #6 · answered by Anonymous · 0 0

fedest.com, questions and answers