Trigonométrie : sonde planétaire ... ;-)

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
Dexterin
Messages: 6
Enregistré le: 04 Oct 2007, 13:17

Trigonométrie : sonde planétaire ... ;-)

par Dexterin » 04 Oct 2007, 13:49

Bonjour à tous !

Ca fait bien ... pfiou ... au moins 10 ans que je n'ai pas touché à de la trigonométrie et je suis confronté à un petit problème. Je suis certain que certains ici trouveront la solution en 2 temps 3 mouvements, tellement la réponse doit etre simple !

Dans le cadre de la programmation d'un jeu de simulation spatiale online (un browser game), je suis confronté au petit calcul suivant.

(pour ceux que ca interesse, la version de dévelloppement actuellement non jouable (!) est à http://frog.born2play.org/~dexterin/astoria/ )

Imaginons un système solaire dont le centre est le soleil O, et deux planètes qui tournent autour A et B à deux orbites différentes. On connait les orbites (circulaires) de A et B, leur révolution (donc leur vitesse) et leur positions.
A et B tournent dans le meme sens autour de O, c'est à dire dans le sens inverse des aiguilles d'une montre.

Je désire envoyer une sonde de A vers B. Bien entendu, la sonde à sa propre vitesse et il me faut calculer la position de B (que l'on va nommer B') lorsque la sonde arrive sur la planète B.

:dodo: vous suivez ?

Mon but est de trouver par le calcul la position de B' dans le système solaire...

Et :cry: je n'y arrive point !!!

:marteau: HELP ! ;-)))))

Voici une image du bazard :

Image

J'ai déjà commencé ces calculs (sont-ils bons ? Est-ce le bon début ?)

Code: Tout sélectionner
Durée (du trajet) = distance AB' / vitesse sonde = arc BB' / vitesse planète


Donc on peut écrire que

Code: Tout sélectionner
AB' = ( vitesse sonde / vitesse planète ) x arc BB'


On sait que l'arc BB' rapporté au péririmètre est proportionnel à l'angle BOB' rapporté sur 360° ...

Code: Tout sélectionner
arc BB' / orbite totale de B = angle B0B' / 360°


En plus le pérmitère est égal à 2 Pi R, sachant que R est le rayon de l'orbite de B donc OB

Code: Tout sélectionner
 arc BB' = ( 2 x Pi x OB ) x angle BOB' / 360° 


Ai-je bon jusque la ?

Donc on tire l'équation suivante

Code: Tout sélectionner
 
AB' = ( vitesse sonde / vitesse planète B ) x ( 2 x Pi x OB / 360° ) x angle BOB'


Dans cette équation, seuls AB' et l'angle BOB' sont inconnus ...

je me retrouve donc avec une équation à deux inconnues et la ... je bloque !

Je pense qu'il faut de la trigonométrie pour aller plus loin ...

Merci de votre aide !

Voici une dernière image résumant l'endroit ou je bloque :

Image

Les traits noirs et épais sont des valeurs connues, ainsi que l'angle AOB...
et on recherche les traits bleus c'est à dire l'angle BOB' et la distance AB'

Merci de votre (éventuelle) aide !

En tout cas, merci d'avoir lu ceci jusqu'au bout !

++



masterman
Membre Naturel
Messages: 72
Enregistré le: 16 Sep 2007, 12:27

par masterman » 04 Oct 2007, 16:46

En effet l'angle de al sonde et le meme que celui du départ
si tu connais un angle les deux sont égaux car ils interceptent le meme arc de cercle
donne moi ton équation
si elle est a 2 inconnu c'est un systeme...
en quelle classe est tu ?

rene38
Membre Légendaire
Messages: 7136
Enregistré le: 01 Mai 2005, 12:00

par rene38 » 04 Oct 2007, 17:21

Bonjour
masterman a écrit:En effet l'angle de al sonde et le meme que celui du départ
De quels angles parles-tu ? (nomme-les)

Dexterin
Messages: 6
Enregistré le: 04 Oct 2007, 13:17

par Dexterin » 05 Oct 2007, 00:03

masterman a écrit:En effet l'angle de al sonde et le meme que celui du départ
si tu connais un angle les deux sont égaux car ils interceptent le meme arc de cercle
donne moi ton équation
si elle est a 2 inconnu c'est un systeme...
en quelle classe est tu ?



Hello !

1) De quel angle parle tu ? Je pige pas trop ton explication ...

2) Je suis ... étudiant en Médecine ! Et j'ai 29 ans ...
Autant te dire que la trigo ca fait un sacré bail que j'ai quitté cela !

Dans tous les cas, merci de ton aide !!

Maeredhel
Membre Naturel
Messages: 26
Enregistré le: 01 Oct 2007, 12:39

par Maeredhel » 05 Oct 2007, 13:20

En tout cas chapeau pour ton jeu, t'as fais le plus gros :p
Pour ce qui est de ton problème, ça depend beaucoup de comment tu envoie ta sonde ; en ligne droite vers le point d'impact, qui suit la planete cible (donc trajectoire certainement elliptique)....
Car n'oublie pas que si tu fais en ligne droite et que les deux planètes sont a l'opposé l'une de l'autre par rapport au soleil, ta sonde risque fort de griller ^^
Je reflechis aux calculs et post ça quand j'aurai avancé :p

Dexterin
Messages: 6
Enregistré le: 04 Oct 2007, 13:17

par Dexterin » 05 Oct 2007, 13:53

Maeredhel a écrit:En tout cas chapeau pour ton jeu, t'as fais le plus gros :p


Je me suis atelé à travailler sur une joli interface qui tourne ... avant d'aller plus loin. Et comme j'arrive un peu au bout de l'interface, j'anticipe ! Et ce probleme mathematique va etre un blocage pour moi dans tres peu de temps ... ;-)

Pour ce qui est de ton problème, ça depend beaucoup de comment tu envoie ta sonde ; en ligne droite vers le point d'impact, qui suit la planete cible (donc trajectoire certainement elliptique)....


En fait j'ai la position des planètes A et B à l'instant Temps_depart.
Je peux te donner la position des planètes A et B (B en l'occurence nous interesse uniquement) à l'instant t que tu veux. Ca, j'ai dans mon programme.
J'ai aussi la vitesse de la sonde stockée dans la base de donnée du jeu.

Je désire au moment de l'expédition de la sonde, avec ces données, calculer la position de la planète B à l'arrivée de la sonde. Sachant deux choses : la vitesse de la sonde est fixe, ainsi que la vitesse de rotation de la planete B sur son orbite. D'apres mon équation, il en sort un rapport Vplanete/Vsonde qui va déterminer la durée du trajet.

Dans une hypothèse ou Vsonde est infinie (pure théorie), le trajet est instantané et donc t=0 et ... B et B' sont superposés. Plus Vsonde ralenti, plus l'angle entre B et B' augmente, etc. et ainsi de suite. Voilà pourquoi comme la seule variante est Vsonde (dans le jeu) je pense que c'est l'élément qui va me donner par une équation (que je recherche) la position de B au moment de l'impact (que l'on nomme B', vous n'avez pas oublié !).

Bha, je peux me contenter à la rigueur d'une équation me donnant la distance AB', sauf qu'il y aura deux possibilités pour la position B' (si on trace un cercle de rayon AB' autour de A, ce cercle croisera l'orbite de B en deux points), et qu'il sera facile par le programme d'en éliminer une... et ne garder que la distance AB' coohérente.

C'est pour cette raison (ce que je viens de dire sur le rapport Vsonde/Vplanete) que je pense que je suis sur la bonne voie pour mes calculs ! ;-) Mais je peux me tromper, et c'est pour cela que j'ai besoin de l'aide d'un mathématicien ... digne de ce nom ! ;-)

Car n'oublie pas que si tu fais en ligne droite et que les deux planètes sont a l'opposé l'une de l'autre par rapport au soleil, ta sonde risque fort de griller ^^


hum ... j'y avais pas pensé, mais c'est le genre de détail que je vais négliger ;-)))))
Deja que les flottes font des bonds en hyperespace, on va pas non plus chipoter sur la cohérence de certains faits "physiques". ;-)

Je reflechis aux calculs et post ça quand j'aurai avancé :p


T'es un chef !
;-)

Dans tous les cas, merci d'avance !

Dexterin
Messages: 6
Enregistré le: 04 Oct 2007, 13:17

par Dexterin » 08 Oct 2007, 00:32

Maeredhel a écrit:En tout cas chapeau pour ton jeu, t'as fais le plus gros :p
Pour ce qui est de ton problème, ça depend beaucoup de comment tu envoie ta sonde ; en ligne droite vers le point d'impact, qui suit la planete cible (donc trajectoire certainement elliptique)....
Car n'oublie pas que si tu fais en ligne droite et que les deux planètes sont a l'opposé l'une de l'autre par rapport au soleil, ta sonde risque fort de griller ^^
Je reflechis aux calculs et post ça quand j'aurai avancé :p


Un ami m'a parlé de la formule d'Al-Kashi (formule de Pythagore généralisée) dans le triangle (AOB') :

(t.Vsonde)²=a²+b²-2.a.b.[cos(theta).cos(t.Vb/b)-sin(theta).sin(t.Vb/b)]

t : durée du trajet
Vsonde : vitesse de la sonde
a : distance OA
b : distance OB
theta : angle AOB (AB²=a²+b²-2.a.b.cos(theta))
Vb : vitesse de la planète B

Et dans cette équation, on connait tout sauf t.
Donc il y a une seule inconnue ...

Est-ce que c'est bon d'après vous ?

(je ne me suis pas encore lancé dans la résolution, qui se fera par un programme informatique ...)

Maeredhel
Membre Naturel
Messages: 26
Enregistré le: 01 Oct 2007, 12:39

par Maeredhel » 08 Oct 2007, 17:28

Je suis ok pour l'utilisation d'al kashi et je pense que ta formule est bonne. quant à l'utilisation qu'on peut en faire, je ne sais pas trop, même de manière informatique, la résolution de ton équation n'est pas particulièrement facile.
A mon avis ton ordi n'arrivera pas a résoudre une équation du type x^2=c+cos(a+x)
Tu pourrai a la limite utilisé des DL pour résoudre "à la physicienne" mais il faudrait etre dans des conditions bien spéciales (qui ne se réaliseront pas tjs d'ailleurs...). Par contre ce que tu pourrai faire c'est résoudre le problème (général) de manière informatique. C'est a dire que ta sonde soit un objet qui "suive" la planète B. C'est a dire qu'on ne calcule pas la trajectoire totale d'un instant t à t+(durée du trajet) mais qu'on calcule à chaque instant la nouvelle position de la sonde. Je ne sais pas trop si :
1° Tu vois ce que je veux dire, c'est pas forcement clair :/
2° C'est adaptable a ton jeu.

Sinon j'aurai p-e une piste plus calculatoire, mais plus faisable. Mais la, on passe dans le domaine de la physique des points(je ne suis pas un expert, ni en math d'ailleurs) j'essaie ça, je post quand (si?... :s ) je trouve ^^
Bon courage


[EDIT] J'ai pas fait gaffe mais ton rapport Vb/Vsonde ne determine pas la durée du trajet, du moins pas entièrment (de tte façon ça ne peut pas etre un temps c'est pas homogène aux niveaux des dimensions.)
De plus, je ne comprend pas bien comment ton angle BOB' peut te donner t.Vb/b Je me trompe p-e mais faut m'expliquer :p

Maeredhel
Membre Naturel
Messages: 26
Enregistré le: 01 Oct 2007, 12:39

par Maeredhel » 08 Oct 2007, 18:40

Bon alors tout bien considéré, je pense qu'on a ici l'équation de notre problème :

(V.T.alpha/2Pi)^2=R1^2+R2^2-2.R1.R2.cos(alpha)

Avec V=Vsonde
T=période de la planete B
R1, R2 = les rayons
alpha = angle AOB'
Ce qui est plus ou moins (au erreurs de calcul près) équivalent a ton équation, mon inconnue étant alpha.
Cette équation n'est pas résolvable formellement. La seul solution est d'approximer la solution mais ça je sais pas trop comment faire. A ta place je ferai la technique de la sonde suiveuse, cad à chaque instant elle se dirige vers la planete et non vers le point d'impact. On a plus une ligne droite (ça évite les brulures au passage) et comme de tte façon il faudra calculer la solution de manière informatique, je prendrais ça. Si t'as besoin d'aide ou de complement d'info pour programmer ça demande (et precise en quoi tu programmes ton truc. est ce que c'est juste du html ou associé, ou bien du java etc...)
A tte ^^

(ps : perso le java je ne sais pas programmer avec mais bon ça doit s'apprendre, cf le site du zéro).

Dexterin
Messages: 6
Enregistré le: 04 Oct 2007, 13:17

par Dexterin » 18 Oct 2007, 11:12

On a plus une ligne droite (ça évite les brulures au passage) et comme de tte façon il faudra calculer la solution de manière informatique, je prendrais ça. Si t'as besoin d'aide ou de complement d'info pour programmer ça demande (et precise en quoi tu programmes ton truc. est ce que c'est juste du html ou associé, ou bien du java etc...)
A tte ^^

(ps : perso le java je ne sais pas programmer avec mais bon ça doit s'apprendre, cf le site du zéro).



java, etc... ;-)
En fait, tout en PHP principalement pour le coté serveur et javascript pour le coté client (mais tres peu dans le fond).

J'ai donc procédé de la manière suivante :

Je peux déjà borner les distances :

distance min = | Ra - Rb |
distance max = | Ra + Rb |

avec Ra et Rb le rayon de chaque planete, A étant l'origine, B la destination

Ensuite je transforme ces distances min et max en durée min et max, car je connais la vitesse de la sonde !

Donc j'ai un interval de temps entre lequel je sais que le trajet va se faire...

Je divise cet interval en un nombre fini (arbitrairement je vais prendre 100). Je me retrouve avec 100 temps différents (Tx), entre Tmin et Tmax pour lesquels je vais calculer :
- la position de la planète B en Tx que l'on va nommer B'
- la distance AB'
- le temps pour la planète B pour atteindre B' (Tx en fait ...)
- le temps pour la sonde pour atteindre ce point B' en partant de A (que l'on nomme Ty)

Et c'est justement la différence entre ces deux derniers temps qui m'interessent.

Avec une petite boucle for, je fais défiler les valeurs et je calcule Ty - Tx

Au début, Ty - Tx > 0 et largement d'ailleurs, la sonde est donc pour un instant Tx, en retard puisqu'il lui faut plus de temps pour atteindre B' que la planete B pour atteindre B' ...

et on constante que ce rapport diminue et à un moment, il s'inverse :
Ty - Tx < 0 : la sonde est donc en avance sur la planete !

Il ne me reste plus qu'à borne les deux Tx entre lesquel se fait l'inversion et de refaire la manip, jusqu'à la prévision désirée !

Ainsi, j'ai calculé le temps du trajet, ce qui me permet de recalculer la position de B' à ce moment là !

Et j'ai tout bon ...

Merci dans tous les cas de vos aides, qui me furent bien utiles !
J'allais passer des heures à résoudre des équations qui ne sont pas de mon niveau ... ;-)
Et j'ai en quelques minutes à peine trouvé la solution approchée (et largement approchée pour le niveau de précision demandé) grace à vos idées !

MERCI !

Maeredhel
Membre Naturel
Messages: 26
Enregistré le: 01 Oct 2007, 12:39

par Maeredhel » 18 Oct 2007, 12:41

Pas de problème, et bonne idée ton découpage d'intervalles :p Pour aller plus vite tu peux même travailler par dichotomie sur tes intervalles : tu essaie pour le 50eme si c positif tu cherche entre 0 et 50 sinon entre 50 et 100 et tu recommence a chaque fois, comme ça tu divise par 2 ton intervalle au lieu d'enlever une valeur.Mais bon, c pas obligatoire si ça marche comme ça :D
Bon courage pour la suite, et dis moi quand tu aura fini ^^

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 105 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