Bonjour,
Je cherche à écrire un script dans le cadre d'un stage permettant de calculer un angle en fonction de deux (ou plus) couples longitudes latitude et je suis confronté à un petit problème de calcul. Pour positionner mon problème, voici le contexte :
Il s'agit de créer une automatisation pour orienter spécifiquement la caméra de google street via l'adresse url qui lui est passé. Par défaut, la caméra (en considérant que l'adresse gps qui lui est passée existe dans google street), se positionne orienté face au nord, alors que je voudrais qu'elle soit face à un point particulier. Et pour ce faire, j'ai besoin d'avoir l'angle de rotation de la caméra par rapport au nord.
J'ai donc prit un postulat de base relativement naif, considérant que les maisons sont toutes alignées, sans décrochés aucuns, sans courbes, etc.
Nous imaginons donc que nous avons une route droite, et les coordonnées (latitude et longitude) de trois habitations successives (le 38, le 40 et le 42, par exemple). Ce que je cherches à faire, c'est trouver l'angle qui existe entre cette "droite" et la seconde maison, afin de pouvoir positionner ma caméra correctement selon ce fameux angle.
Ci je n'ai pas été très clair, j'ai attaché un schéma qui, j'espère, le sera un peu plus. Quoique ><
En ce qui concerne les pistes, j'ai trouvé dans les archives de votre forum un problème relativement similaire ici :https://www.ilemaths.net/sujet-calcul-d-angle-a-partir-de-la-latitude-et-longitude-325978.html, mais je n'ai pas compris la réponse, sa mise en forme ayant été altéré.
Si quelqu'un se proposait pour m'aider un peu, je lui en serrais très reconnaissant. La géométrie dans l'espace et la trigonométrie n'ont jamais exactement été mon fort, et si je ne m'abuse, c'est ces deux notions dont on a besoin ici pour résoudre le problème. Si un point n'est pas clair, n'hésitez pas à me demander des précisions, ou des reformulations.
D'avance merci,
Kurk
Bonjour Kurk,
Je suggère que tu mettes des lettres sur ton schéma ==> l'angle sera clairement exprimé
En effet, "entre cette "droite" et la seconde maison" n'est pas clair
J'imagine que :
Les coordonnées de 38 40 42 déterminent un arc de grand cercle (assimilé à une droite sur le schéma)
C1 C2 C3 sont les positions successives de la caméra (alignée sur une droite parallèle à la précédente)
Tu souhaites connaitre l'angle C1,40,38 ? ou l'angle entre C1 40 et le Nord ?
A+
Bonjour,
Une proposition à vérifier!
Pour un calcul précis, il faut supposer que les maisons sont à la même altitude.La précision des données doit être extrème car les points en jeu sont très proches
Je traites le problème sur une sphère parfaite(le rayon n'a aucune importance évidement).
Soit les coordonnées sphériques de
(Longitude,latitude) en hémisphère nord.
Dans le repère géographique naturel R, tu obtiens les coordonnées ( des maisons
tu peux donc calculer les composantes normalisées du vecteur
De même si sont les coordonnées sphériques de la caméra, un vecteur normalisé
d'origine la caméra et dirigé vers le nord est colinéaire au vecteur ayant pour coordonnées:
j'utilise ici l'orientation indiquée par ton schéma.
L'angle de ces deux vecteurs est obtenu par le produit scalaire
après en s'apuyant sur ton schéma ta caméra doit effectuer une rotation de
Bonjour et merci à vous pour vos réponses.
Rumbafan : Effectivement, je n'ai pas été clair. Toutes mes excuses.
On a : C1,C2 et C3 les jeux de coordonnées gps permettant de localiser la caméra devant les maisons respectivement M38, M40 et M42
Ce que je cherche à obtenir est l'angle entre C2 (le couple de coordonnées correspondants à l'adresse gps ou va se positionner la caméra pour se placer en face de la maison), M40 (la maison portant le numéro 40 de la rue) et le Nord, qui est l'orientation de base de la caméra. Cet angle sera alors l'angle selon lequel il faudra que je fasse pivoter la caméra pour qu'elle soit face à la maison M40.
J'espère avoir été plus clair avec cette formulation qu'avec la précédente. Si ce n'est pas le cas, n'hésitez pas à me demander plus de précisions.
DOMOREA : Le schéma sert juste à donner un exemple de cas concret, mais il ne peut pas représenter tous les cas effectifs. Donc j'aimerais bien comprendre comment tu trouves ce décalage de /2 pour la longitude du vecteur caméra-Nord et de
pour sa latitude ? Cela me permettrait, enfin j'espère, de généraliser ta solution. En fait, je suppose que si tu ne l'as pas explicité, c'est qu'il doit être relativement évident, mais je ne vois pas en quoi ce vecteur est colinéaire, ni comment tu as obtenu ce résultat.
D'avance merci,
Kurk
Bonjour Kurk,
Pour la caméra, c'est très simple . Dans ce qui suit le point C représente la caméra
Si tu veux voir les choses concrètement, dessine deux cercles différents de centre respectifs O et N
Le cercle de centre O est une vision de la terre pour laquelle le cercle est le méridien de la caméra, C un point de ce cercle, le vecteur est porté par la tangente au cercle en C, il est dirigé vers le sens positif trigonométrique ( vers le nord). Si G est le point de l'équateur , tu as
et
Le cercle de centre N représente la terre vue du pôle nord, le cercle visualise donc l'équateur.
Le point G est toujours à la même place et le point C est sur un cercle de centre N donc concentrique au cercle de centre N.
On a et le vecteur u est dirigé vers N ( d'origine C si tu veux). tu vois bien que
Pour ce qui est du caractère géneral, la modifification est uniquement sur la rotation de la caméra qui est d'angle ou
selon que celle-ci estplacée à une latitude supérieur à celle de M2 ou inférieur à celle de M2.
les formules que je t'ai données sont valables , il me semble dans l'hémisphère nord et sud
Dans mes explications concrètes j'ai choisi l'hémisphère nord, donc u pour l'hémisphère sud est dirigé à l'opposé de N, cela ne change rien au caractère génerale des formules.
Bonjour Kurk,
Si θ désigne la longitude
Si ϕ désigne la latitude
Si R = rayon de la terre...
P1 = point C2 (R, θ, ϕ) ==> X1 Y1 Z1
Bonjour Kurk,
Sorry pour l'envoi intempestife ci-dessus...
Pour un point de la sphère
Si θ désigne la longitude
Si ϕ désigne la latitude
Si R = rayon de la terre...
Ses coordonnées dans un repère cartésien sont
X = R cosθ cosϕ
Y = R sinθ cosϕ
Z = R sinϕ
Dès lors
P1 = point C2 (R, θ, ϕ) ==> X1 Y1 Z1
P2 = point 40 ==> X2 Y2 Z2
O = Centre de la terre (0,0,0)
N = Pole nord (0,0,R)
L'angle entre les plans P1 P2 O et P1 N O est l'angle de rotation cherché...
A+
Bonjour Rumbafan,
Ta solution est fausse car tes deux plans se coupent selon or l'angle de deux plans sécants est l'angle de deux droites incluses dans les deux plans respectivement sécantes en un points I de l'intersection et orthogonales à l'intersection.
si la direction initiale de la caméra est bien orthogonale à ce n'est pas le cas de
à moins de considérer que le triangle
est rectangle en
mais alors pourquoi pas en
, ce qui fait un triangle avec deux angles droits sic!
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :