Distance euclidienne maximale

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
Enzymatic
Messages: 5
Enregistré le: 29 Jan 2007, 05:14

Distance euclidienne maximale

par Enzymatic » 29 Jan 2007, 05:48

Bonjour,

mon probleme est la simulation d'un jeu. Nous sommes dans un plan "discret" de 6000x6000 points. Les 2 joueurs A et B sont donc a des positions entieres, e.g. x=3, y=900 (et pas x=3.1415 par ex.).

A veut se rapprocher le plus possible de B, et doit avancer par pas de 100 en distance euclidienne.

Donc si A est à (Ax, Ay) et B est à (Bx, By), je cherche les nouvelles coordonnees de A (Ax', Ay') apres avoir avancé (au max) de 100 en distance euclidienne ; donc

[INDENT](Ax'-Ax)^2 + (Ay'-Ay)^2 <= 10000[/INDENT]

Pour déterminer (Ax',Ay') je calcule

[INDENT]dx = |Bx-Ax|[/INDENT]
[INDENT]dy = |By-Ay|[/INDENT]
je sais que l'équation de la droite passant par A et B (depuis A) est
[INDENT]y = ax[/INDENT]
avec
[INDENT]a = dy / dx[/INDENT]
et je veux
[INDENT](Ax'-Ax)^2 + (Ay'-Ay)^2 <= 10000[/INDENT]

donc je résous et obtiens
[INDENT]Ax' = sqrt (10000 / (1+a^2))[/INDENT]
[INDENT]Ay' = a * Ax'[/INDENT]
en prenant la partie entière de Ax' et Ay'.


Mon problème est que je veux me rapprocher au maximum de B,
Et il y a des points <= au cercle de centre A et de rayon 100 plus proches de B que celui que je trouve par la formule ci-dessus.

Par exemple, si B est à (5000, 5000) et A = (4950, 4000), la formule me donne
en delta : x +4.993762 et y +99.875234, arrondis à (+4, +99), mon A se retrouve donc en
[INDENT]A = (4954, 4099)[/INDENT]
ce qui est une proche de 100 (distance euclidienne de 99), mais pas 100.


Mais avec simplement (+0, +100) A se retrouve en (4950, 4100), il a avancé de exactement 100 en distance euclidienne...
Ce point (4950, 4100) n'est pas exactement sur la droite A B mais est plus proche de B que par la formule, et est exactement 100 points plus loin en distance euclidienne.


Question : connaissant A et B, comment trouver le point suivant A' le plus proche de B de distance euclidienne 100 exactement?
(par une formule ou un algorithme...)

Merci



Enzymatic
Messages: 5
Enregistré le: 29 Jan 2007, 05:14

par Enzymatic » 29 Jan 2007, 23:33

Bon c'est un probleme mathematico-informatique, peut-etre devrais-je le poster dans une autre categorie que "Lycee"?

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 69 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite