logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 23-12-2009 16:09:53

damien
Modo / Rédacteur Wiki
Distrib. : Gentoo & Debian 12
(G)UI : Xfce4
Inscription : 22-09-2008
Site Web

Calendrier lunaire en langage c + gtk+2

Bonjour,

Je me décide enfin à poster.
Ceci devrait intéresser tous les passionnés d'astronomie, mathématiques et physique.
Vous allez me prendre pour un fou de créer un programme comme celui-ci.
Des centaines de paramètres à prendre en compte... Oups
En plus il éxiste déjà glunarclock et wmoonclock.
On peux aussi trouver de très bons sites sur les phases lunaires.

Je suis tétu et continuerai à vouloir espérer arriver un jour à un programme "fiable".

Dans un premier temps, j'ai créé un programme en utilisant la formule de copernic (Le mois synodique)

ms=(1/((1/27,322)-(1/365,257)))
ms=29.530589 jours


Sauf que ms est une moyenne.
Concrètement la lunaison peux varier entre 29j 6h et 29j 20h (+ ou - 7heures).
Je ne peux donc pas utiliser Copernic.
Ce premier programme me donnait une date décalée d'un jour pour certaines phases lunaires.

J'ai trouvé un algorithme sur le calcul des phases lunaires qui semble bizarre aussi
http://zpag.net/Calendrier/calculer_phases_lune.htm
Vous pouvez vous amuser à vérifier
Pour Mai 2009, il est noté Plaine Lune = 10 Mai (Plaine ???)
Faites le test sur ce puissant site
http://portail.imcce.fr/page.php?nav=fr … /index.php
Il vous donnera
PLEINE   LUNE     9  mai  2009 à 04h01m UTC
Hallucinant non ? lol
Cet algorithme donne donc une fausse date pour cette plEine lune.
J'ai donc le même genre de bug (un écart d'une journée).

Donc je me suis décidé à créer un nouveau programme qui intègre le mouvement de la lune.
Merci donc à Newton, Kepler et euler.
Grâce à l'équation du temps je trouve donc la position de la terre (xT,yT,zT) par rapport au soleil à un instant tn+1.
Pour infos la terre accélére et ralenti de + ou - 15 minutes pour une rotation autour du soleil donc sur 365.257 jours.
Il n'éxiste pas d'équation du temps pour celle de la lune ! hem hmm
Le mouvement de la lune peux être décrit avec cette équation

/* Le repère de la terre est le repère de réfèrence */
/* en x */
/* d²x/dt²=-G*(MT+ML)*xL/rL³+G*MS*Ax */
/* Avec Ax=((xS-xL)/delta³)-(xS/rT³) */
/* Avec d²x/dt² accélération de la lune */
/* G Constante gravitationnelle en m³.Kg-¹.s-² (Newton) */
/* MT Masse de la terre */
/* ML Masse de la lune */
/* MS Masse du soleil */
/* rL Distance Lune-Terre */
/* rT Distance Terre-Soleil */
/* xL position de la lune par rapport à la terre */
/* xS position du soleil par rapport à la terre */
/* delta Distance Lune-Soleil */

/* Cette équation s'écrit de façon analogue en y et z */


C'est beau, non ?

Donc cette équation me donne la vitesse (ou bien l'accélération) en fonction de :
1- La position en coordonnées cartésiennes de la lune par rapport au repère de la terre (xL,yL,zL)
2- La position en coordonnées cartésiennes du soleil par rapport au repère de la terre (xS,yS,zS)
3- La distance Lune-Terre et Terre Soleil (rL, rT)
4- La distance Lune-Soleil (delta)
Est-il possible d'écrire une sorte d'équation du temps de la lune autour de la terre ?
J'utilise cette équation pour calculer la vitesse de la lune et euler me permet de la calculer à un instant tn+1. C'est déjà un bon début smile

L'équation du temps me donnait une valeur d'angle tétaT en fonction du temps.
Plutôt intéressant pour calculer la position de la terre autour du soleil.
xT=r*cos(tétaT)
yT=r*sin(tétaT)

Pour connaître LA position (xL,yL,zL) il me faut intégrer la rotation de la lune autour de la terre
Donc il me faudrait un angle (tétaL) en fonction du temps.
Téta=wL*t avec wL vitesse de rotation autour de la terre.
En plus l'orbite de la lune est vraiment complexe.
En fait il éxiste 2 rotations suplémentaires de pertubations et sa trajectoire elliptique est orientée à 5°9' en moyenne.

J'ai comme l'impression de tourner en rond ????
A mon avis l'équation vue plus haut est la clé.
La troisième loi de Kepler peux sûrement m'aider.

J'ai besoin d'y voir plus clair (Comme en phase de pleine la nuit lol ).
Je suis un peu désorienté (Dans la lune quoi)
Quelqu'un est-il intérressé par ce programme ?

Merci

damien


signature.jpg

Hors ligne

#2 23-12-2009 17:07:47

bjm
Membre
Distrib. : Wheezy 7.1
(G)UI : AWESOME ; Ratpoison
Inscription : 23-02-2008

Re : Calendrier lunaire en langage c + gtk+2

Bonjour damien
Y a t'il moyen de connaitre les heures lunaires ?

Hors ligne

#3 23-12-2009 20:30:06

damien
Modo / Rédacteur Wiki
Distrib. : Gentoo & Debian 12
(G)UI : Xfce4
Inscription : 22-09-2008
Site Web

Re : Calendrier lunaire en langage c + gtk+2

Salut bjm

Oui tout est possible en c.
Il suffit de convertir les jours en HH:MM:SS
Exemple
Pour 365.257 jours
Les 0.257 jours peuvent être convertis en heures dans un premier temps.
0.257*24=6.168 heures
etc... pour les minutes et secondes.

Dans mon premier programme je pouvais avoir la date exacte JJ HH:MM:SS d'une pleine lune par exemple.

Si je choisi la bonne position de départ Lune-Terre-Soleil et que mon programme fonctionne wink alors je n'aurais aucun soucis à convertir des décimales de jours en HH:MM:SS.

@+

signature.jpg

Hors ligne

#4 24-12-2009 12:42:39

phlinux
Membre
Distrib. : Buster
Noyau : 5.10
(G)UI : Openbox (+Rox+Feh)
Inscription : 09-05-2009

Re : Calendrier lunaire en langage c + gtk+2

Bjr,
Bon j'y comprends rien mais j'encourage la démarche

Pages perso : feh, omegat, udisks, passerelle, schroot vraiment transparent

Hors ligne

#5 24-12-2009 19:05:12

guilhem91
Membre
Lieu : Essonne
Distrib. : Squeeze 6.0.1
Noyau : 2.6.32-5-amd64
(G)UI : KDE 4.4.5
Inscription : 26-06-2009
Site Web

Re : Calendrier lunaire en langage c + gtk+2

Salut

moi non plus je n'ai pas compris grand chose hmm Mais bon courage en tout cas smile

Étant passionné d'astronomie, je suis quand même le projet avec un certain intérêt wink

Bonnes fêtes et bonne continuation,

Guilhem

Debian Squeeze 6.0.1 64 bits sur AMD Phenom II X4 3GHz + Nvidia Geforce 9600 GT

Mon site : GNU/Linux et conseils en vrac...

Hors ligne

#6 25-12-2009 07:04:47

bjm
Membre
Distrib. : Wheezy 7.1
(G)UI : AWESOME ; Ratpoison
Inscription : 23-02-2008

Re : Calendrier lunaire en langage c + gtk+2

Moi j'ai compris que damien veux écrire un programme en c avec une interface GTK , qui donne la position de la lune à l'instant T. Pour le reste il faut s'y connaitre en astronomie .
Peu être çà serai bien de précisé là ou vous comprennez pas smile

Hors ligne

#7 25-12-2009 14:12:19

phlinux
Membre
Distrib. : Buster
Noyau : 5.10
(G)UI : Openbox (+Rox+Feh)
Inscription : 09-05-2009

Re : Calendrier lunaire en langage c + gtk+2

re-
Perso je ne comprends rien à l'informatique en général.
Alors à l'astronomie .....

Mais en fait il s'agit plus ici, d'astrologie : en effet, quel intérêt de déterminer la position exacte d'un "astre" si ce n'est pour en tirer des renseignements sur l'influence qu'il exerce ?

Pages perso : feh, omegat, udisks, passerelle, schroot vraiment transparent

Hors ligne

#8 25-12-2009 15:58:54

damien
Modo / Rédacteur Wiki
Distrib. : Gentoo & Debian 12
(G)UI : Xfce4
Inscription : 22-09-2008
Site Web

Re : Calendrier lunaire en langage c + gtk+2

Salut phlinux

phlinux a écrit :

Mais en fait il s'agit plus ici, d'astrologie : en effet, quel intérêt de déterminer la position exacte d'un "astre" si ce n'est pour en tirer des renseignements sur l'influence qu'il exerce ?


Astrologie ? non. Je ne suis pas madame Irma. Je ne joue pas avec les cartes.
Et puis l'Horoscope c'est du vent pour moi. C'est marrant mais ce n'est pas mon délire.
Tous mes calculs sont pûrement scientifique.

Forcément la lune éxerce une influence.
L'intérêt de déterminer la position éxacte de la lune et de pouvoir trouver son accélération.
Cette accélération pourra me permettre de prédire les lunes montantes ou descendantes, éclipses de lune, éclipses de soleil, même il me semble le mouvement des marrées.
L'intérêt principal est de donner une date précise pour une phase lunaire donnée.
(Pleine lune du 10 mai 2009 alors qu'elle est en vérité le 9)
Cf. algorithme qui ne fonctionne pas de Jean Meeus http://zpag.net/Calendrier/calculer_phases_lune.htm qui utilise Copernic

damien a écrit :

la lunaison peux varier entre 29j 6h et 29j 20h (+ ou - 7heures).


J'espère avoir été clair.

cu

ps : Je vais bientôt vous envoyer un gif du véritable mouvement de la lune autour de la terre.
Merci POV-Ray (Blender beeeerk tongue)


signature.jpg

Hors ligne

#9 25-12-2009 19:37:31

bjm
Membre
Distrib. : Wheezy 7.1
(G)UI : AWESOME ; Ratpoison
Inscription : 23-02-2008

Re : Calendrier lunaire en langage c + gtk+2

On ce server autrefois de la lune pour choisir le moment ou il faut couper les arbres .

Hors ligne

#10 29-12-2009 12:47:10

damien
Modo / Rédacteur Wiki
Distrib. : Gentoo & Debian 12
(G)UI : Xfce4
Inscription : 22-09-2008
Site Web

Re : Calendrier lunaire en langage c + gtk+2

Comme promis voici une animation réalisée avec POV-Ray.
http://www.dailymotion.com/video/xboazy … -lune_tech

- Le repère vert indique l'angle d'inclinaison de l'orbite lunaire.
- Le repère Jaune indique la rotation de la lignes de noeuds.
- Le repère rouge lui montre la rotation du demi-grand axe de l'orbite de la lune.

Ca à l'air tout simple à première vue.

Mon programme avance petit à petit smile

@+
damien
Et vive POV-Ray !

signature.jpg

Hors ligne

#11 29-12-2009 13:05:19

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Calendrier lunaire en langage c + gtk+2

Salut damien,

Désolé, j'ai pas les outils pour lire dailymotion. Tu as un autre moyen pour diffuser lisible par mplayer ?
En tout cas, félicitation pour ta volonté et les rapports de tes difficultés rencontrées, quelle belle leçon pour tous !

A l'alpiniste on demande :
- Mais pourquoi vous voulez gravir ce pic ?
Il répond :
- Parce que c'est lui, parce que c'est moi.

Amitié, Joel

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#12 29-12-2009 14:51:59

guilhem91
Membre
Lieu : Essonne
Distrib. : Squeeze 6.0.1
Noyau : 2.6.32-5-amd64
(G)UI : KDE 4.4.5
Inscription : 26-06-2009
Site Web

Re : Calendrier lunaire en langage c + gtk+2

D'accord, avec la vidéo je comprends mieux maintenant. Je te souhaite bonne chance pour la suite smile

Debian Squeeze 6.0.1 64 bits sur AMD Phenom II X4 3GHz + Nvidia Geforce 9600 GT

Mon site : GNU/Linux et conseils en vrac...

Hors ligne

#13 29-12-2009 17:15:36

damien
Modo / Rédacteur Wiki
Distrib. : Gentoo & Debian 12
(G)UI : Xfce4
Inscription : 22-09-2008
Site Web

Re : Calendrier lunaire en langage c + gtk+2

Salut

@ smolski
Tu n'a donc pas installé le flash et je comprends tout à fait ton point de vue.
Pour moi dans ce cas dailymotion est bien pratique.
Je n'ai aucun autre moyen de diffuser cette vidéo désolé.

@ guilhem91
Il faut beaucoup de courage tout seul pour créer un algorithme pareil wink

signature.jpg

Hors ligne

#14 01-01-2010 00:30:38

damien
Modo / Rédacteur Wiki
Distrib. : Gentoo & Debian 12
(G)UI : Xfce4
Inscription : 22-09-2008
Site Web

Re : Calendrier lunaire en langage c + gtk+2

Voici ma dernière animation.
http://www.dailymotion.com/video/xbpi2p … aires_tech
Le mouvement est presque réaliste. Encore quelques améliorations et modifications de code me permettra peut-être un jour de simuler son vrai mouvement.
Il y a deux gros défauts. Lesquels ? A vous de les trouver.
Il y en a deux autres aussi qui ne sont pas perçevable.

Bonne visu cool
A bientôt

damien

signature.jpg

Hors ligne

#15 01-01-2010 14:57:03

phlinux
Membre
Distrib. : Buster
Noyau : 5.10
(G)UI : Openbox (+Rox+Feh)
Inscription : 09-05-2009

Re : Calendrier lunaire en langage c + gtk+2

Bjr,
je trouve ce sujet intéressant pour un début de nouveau cycle : tous mes vœux de réussite.

Tiens un lien pour un prog astro :
sous dos en utilisant dosemu pour l'avoir en console Skyglobe

Pages perso : feh, omegat, udisks, passerelle, schroot vraiment transparent

Hors ligne

#16 18-02-2010 16:16:56

anonyme
Invité

Re : Calendrier lunaire en langage c + gtk+2

Bonjour,

J'ai lu le fil en croix, donc je suis peut-être totalement à côté de la plaque, mais le décalage ne pourrait-il pas être introduit par les nombreux changements de calendrier au cours du temps?

#17 19-02-2010 12:41:22

damien
Modo / Rédacteur Wiki
Distrib. : Gentoo & Debian 12
(G)UI : Xfce4
Inscription : 22-09-2008
Site Web

Re : Calendrier lunaire en langage c + gtk+2

Salut Tux12

C'est possible.
L'équation du temps (Terre-Soleil) donne des variations de + ou - 15 minutes.
La lune elle varie de + ou - 7 heures.

Il éxiste 5 mois différents cf. http://3dminfographie.hd.free.fr/info_l … el-UMH.pdf

Il faut trouver un moyen mathématiques de relier ces 5 mois.
Les varaiables d'accélération, vitesse, position, temps doivent être contrôlées.
Pas facile...
J'ai résolu l'équation de Képler.
C'est déjà un début.
cf. http://3dminfographie.hd.free.fr/images … e3-cin.mpg

Si tu es intéressé j'ai créé 4 programmes de 800 lignes chacun relié entre eux par des fonctions.
Je m'en suis arrêté au code du mouvement (mvt.c)
Seul je n'y arriverais pas. J'ai besoin d'aide.

@+

signature.jpg

Hors ligne

#18 19-02-2010 17:50:42

anonyme
Invité

Re : Calendrier lunaire en langage c + gtk+2

Salut Damien,

Pour être franc, je n'ai pas vraiment envie de me pencher trop longuement sur un problème sans aucun doute très intéressant mais trop consommateur de temps, ne serait-ce justement qu'à cause des changements de calendrier et de la gestion des dates que j'évoquais. smile

Je suppose que tu as essayé de voir sur des forums d'astronomie, ou plus globalement des forums scientifiques?

Bon courage en tout cas. Quelques jours de recul permettent souvent de revenir au problème avec une vision plus détachée, et de trouver de nouvelles pistes. C'est en tout cas une méthode que j'emploie quand ça coince.

@+

#19 02-03-2010 15:38:45

NuDub
Membre
Lieu : OISE
Distrib. : Debian Testing
Noyau : 3.16 amd64
(G)UI : LXDE-GNOME-KDE
Inscription : 31-05-2009

Re : Calendrier lunaire en langage c + gtk+2

smolski a écrit :

Salut damien,

Désolé, j'ai pas les outils pour lire dailymotion. Tu as un autre moyen pour diffuser lisible par mplayer ?
[...]

Amitié, Joel


Allez Smolski laisse toi tenter par flash big_smile

Il y a une version Libre je crois.


VM Debian Testing sur Win7

Hors ligne

#20 02-03-2010 15:51:51

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Calendrier lunaire en langage c + gtk+2

J'suis sur le net avec epiphany NuDub !

Dinosaure un jour...

Tchibâââ ! lol

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#21 03-03-2010 12:43:11

damien
Modo / Rédacteur Wiki
Distrib. : Gentoo & Debian 12
(G)UI : Xfce4
Inscription : 22-09-2008
Site Web

Re : Calendrier lunaire en langage c + gtk+2

Salut Nudub et smolski

Pour tout ceux qui ne veulent pas de flash et je comprends très bien.
Tout est sur mon site web.
3dminfographie

signature.jpg

Hors ligne

#22 03-03-2010 15:51:02

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Calendrier lunaire en langage c + gtk+2

Salut damien !

Je vois que tu n'hésites pas à mettre et remettre ton ouvrage sur le tapis. C'est super !

J'aime l'harmonie des verts et jaunes que tu déploies.

Je te propose de revoir la rédaction de tes titres dans le premier bandeau, plutôt que de mettre tout en MAJUSCULE, d'utiliser plutôt la Majuscule sur la première lettre, cela me paraît plus agréable, non ?

Félicitation, amicalement, Joel

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#23 03-03-2010 17:46:55

NuDub
Membre
Lieu : OISE
Distrib. : Debian Testing
Noyau : 3.16 amd64
(G)UI : LXDE-GNOME-KDE
Inscription : 31-05-2009

Re : Calendrier lunaire en langage c + gtk+2

smolski a écrit :

J'suis sur le net avec epiphany NuDub !

Dinosaure un jour...

Tchibâââ ! lol


Dinosaure toujours........
YeeeeeeeeeeeePPPP lol

J'ai tenté de t'attiré du côté obscure de la force tongue sa pô marché wink

@damien : Merci, sinon j'utilise flash(proprio) mais cool.
Je pourrai pas t'aidé sur ton projet pour deux raison :

1) Je débute et le fait sur mon temps Libre du C++(/QT)
2) C'est pas du tous un domaine que je maitrise (entre autre les math etc...)

Par contre il peut être intéressant d'ouvrir un projet sur Sourcesforge ou GoogleCode pour ouvrir ton projet aux dev qui donne des coup de pouce aux projet dans des domaine qu'ils apprécient.

Une remarque:
Avec GTK ton appli sera moins facilement portable, je pense entre autre aux Windowsiens (reconnaissons qu'ils sont encore nombreux)

Dernière modification par NuDub (03-03-2010 17:53:53)


VM Debian Testing sur Win7

Hors ligne

#24 21-12-2010 00:47:03

sidobrianpenguin
Membre
Inscription : 21-12-2010

Re : Calendrier lunaire en langage c + gtk+2

Salut à tous.
Je viens de découvrir ce fil qui me semble fort intéressant.
Que devient ce projet Damien ? As-tu abouti ?
Je suis curieux.

Hors ligne

#25 21-12-2010 05:33:25

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Calendrier lunaire en langage c + gtk+2

Bonjour sidobrianpenguin et bienvenue sur df !

Pour ta curiosité, Damien maintien un lien vers son site perso dans toutes ses interventions sur le forum !

Yeaaaaaah ! Trop facile. wink

Amité, Joel

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

Pied de page des forums