Bonjour à tous, je suis un poil dans la panade, noyé par des Sinus et des Cosinus à n'en plus finir...
J'ai réalisé un petit logiciel de cartographie qui me permet de tracer n'importe quelle zone du Globe terrestre à partir des cordonnées géographiques des cotes, des frontières, des fleuves, etc...
La projection que j'ai utilisé est on ne peu plus simple : on appelle celà une projection "cylindrique equidistante" (voir ici si vous voulez approfondir : http://mathworld.wolfram.com/Cylindr...rojection.html)
En fait, c'est plus précisemment une projection Equirectangulaire étant donné que ma Latitude de référence est l'équateur (Phi=0).
Donc, bref et en résumé, voici le système d'équation que j'utilise pour passer de mes (longitudes,latitudes) à des coordonnées euclidiennes (x,y) :
Maintenant, imaginez que sur ma carte, je souhaites tracer un cercle (donc en forme de cercle sur ma sphere, mais pas sur ma carte) de rayon 50km autour d'un point (Paris par exemple, que l'on représentera par un point ayant pour Longitude et Latitude (Lamda1,Phi1), donc sur ma carte (x1,y1)).x=Longitude=Lambda
y=Latitude=Phi
Pour avoi la distance sur une sphère entre deux points (Lamda1,Phi1) et (Lamda2,Phi2) on utilise les distances de deux points sur un "Grand cercle) de la sphère (l'Equateur et le méridiens sont des grands cercles) :
D'après l'équation (5) de cette page (attention ils ont représenté la latitude par la lettre grecque Delta cette fois ci)
http://mathworld.wolfram.com/GreatCircle.html
...j'obtiens comme équation pour mon "cercle" de centre (x1,y1) et de rayon (r) sur ma carte :
Mon problème est que je voudrais tracer ma courbe correspondant à mon cercle, non pas avec y en fonction de x (y=f(x), ni avec x en fonction de y (x=f(y)) qui m'obligerais à déterminer les bornes inférieures et supérieures de mes fonctions, mais plutot avec une fonction paramétrique du genre :les inconnues :
x et y
les constantes :
r=50 km
a=6378 km (rayon terrestre)
C=cos(r/a)
A=cos(Phi1)
B=Sin(Phi1)
et la relation :
A.cos(y).cos(x1-x)+B.sin(y)=C
x, y, x1 et y1 sont en degrés
Pour avoir y=f(x) ou x=f(y), pas de problèmes, mais à tracer sur la carte c'est galère.x=R.cos(alpha)+x1
y=R.sin(alpha)+y1
où R est une fonction de x1,y1, A, B et C, et alpha avec alpha compris entre 0 et 2.Pi
pour le système d'équations paramétrées, là, je sèche. (et ce serait pourtant tellement plus simple à coder)
En fait, tou mon problème consiste à isoler R dans l'équation
A.cos(y).cos(x1-x)+B.sin(y)=C, ou on a remplacé x et y par leur formes paramétrées respective.
Je n'y arrive pas.
Y aurait-il un mathématcien dans la salle qui pourrais m'aider siouplé ?
Merci par avance.
-----