Pour ma demande, je dois calculer un angle entre deux lignes différentes: p>
1) La première ligne est comprise entre un point de la terre qui est défini par la longitude et la latitude et le centre du soleil. P>
2) La deuxième ligne est comprise entre une pointe de la terre qui est définie par la longitude et la latitude et la surface sur la lune avec la distance des petits de la terre. P>
Je ne sais pas comment je devrais commencer là-bas. Toute astuce? P>
5 Réponses :
Eh bien d'abord, les questions sont à quel moment. La lune tourne autour de la terre qui tourne à son tour autour du soleil de sorte que les distances et les angles que vous mentionnez sont différents à un point différent à temps. P>
Par exemple, lorsque vous avez une éclipse, l'angle est proche de zéro. p>
Donc, sans l'information du temps et de la connaissance exacte des terres, des lunes et des soluins de soleil à ce moment donné, le calcul est impossible. P>
supposant que vous avez déjà obtenu les trois points d'intérêt calculés déjà [*], où ou, en d'autres termes, pour calculer [*] Votre question Demande uniquement l'angle entre deux lignes - si vous voulez que vous souhaitiez savoir comment calculer les lignes réelles pendant un moment donné, vous devez réécrire votre question. P> P> o code> est la position de l'observateur (sur la Terre), s code> est La position du soleil et m code> est le point sur la lune, puis: theta code> , prenez le produit DOT des deux vecteurs, divisez cela résultant de la magnitude de ces deux vecteurs, puis prenez ensuite le cosinus inverse du résultat. P>
Par intérêts, les bibliothèques communes (Thinkignent les standard plutôt que des tiers) font des produits DOT ou avez-vous besoin de faire les mathématiques pour cela vous-même? Je n'ai jamais eu à m'essayer ...
C'est courant dans les bibliothèques de mathématiques, mais c'est trivial de toute façon. Si vous avez deux vecteurs 3D A et B, il est juste (hax * bx) + (ay * by) + (az * bz) code>
Merci mais sur le problème est d'obtenir la position du soleil et de la lune.
Avec 7K Rep, vous devez savoir comment écrire une question précise dès maintenant ... suggère de modifier celui-ci pour devenir une question sur l'angle entre deux vecteurs arbitraires, puis écrivez un nouveau pour demander comment calculer les positions solaires et lunaires.
Je suggérerais de suivre: transformer toutes les coordonnées en un système de coordonnées unique (par exemple la position du soleil et de la lune dans la longitude / la latitude des points liés à la terre). Ensuite, vous pouvez calculer facilement l'angle dans ce système de coordonnées. P>
Je suggérerais que vous essayiez d'imaginer le faire sans cette étape. : P
Vous voudrez peut-être creuser par les sources de Celestia pour rechercher des équations qui vous permettraient de déterminer la position du point sur la terre par rapport au centre de la lune et du soleil. P>
Lorsque vous avez ces coordonnées, appliquez la suggestion d'Alnitak sur le vecteur produit DOT S P >
comme une réponse connexe à ce problème. Saviez-vous que wolframalpha.com peut résoudre ce problème? P>
Par exemple, si vous regardez: p>
Sun Altitude 9 heures à New York code> li>
Altitude du soleil 16h00 12.12.2012 à Tallinn, Harju Code> Li>
ul>
Vous pouvez faire la même chose avec le noyau Mathematica et appeler Java. P>
Ou encore mieux "angle entre le soleil et la lune à 21 heures à New York". Excellent!
Eh bien, une petite information de base: physiquegoography.net/fundamentals/6h.html
Quel est l'angle entre deux points, s'il vous plaît?
Je pense que Java vient en dernier dans ce cas.
Désolé je l'ai confondu dans ma question. L'angle entre les deux chemins.
Vos définitions des angles sont un peu déroutant. Dans le premier, vous définissez une ligne (point sur terre et centre du soleil) mais pas ce que l'autre ligne est celle qui constitue l'angle. De même dans la seconde (bien que la note, je pense que si vous supposez que la lune est sphérique, une ligne au centre de la lune passera toujours à travers le point le plus proche de la surface de la lune - cela peut faciliter les choses).
@ADARSHR Ce n'est pas ma commande;)
@Chris oui j'ai vu le problème, je l'ai malheureusement confondu dans ma question. Je veux calculer l'angle entre la ligne 1) et 2)
Je suppose que vous avez l'heure exacte comme une entrée à cela? Le temps de la journée aura un effet et bien sûr plus important encore du mois du mois. Cela a été dit que les orbites lunaires sont des choses assez compliquées de ce que je me souviens de la dernière fois que je l'ai examiné.
La date sera importante ici, car les trois objets sont en mouvement. C'est vraiment une question mathématique, pas une question Java.
Cela devrait être déplacé vers des mathématiques ( math.stackexchange.com ) ou physique ( Physique.stackexchange.com )
Il y a des problèmes de programmation pratique ici. Peut-être qu'il y a une bibliothèque qui fait cela.