FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» bouton dans autre form que 0
Calcul du périmètre de l’ellipse Emptypar leclode Aujourd'hui à 13:59

» KGF_dll - nouvelles versions
Calcul du périmètre de l’ellipse Emptypar Klaus Aujourd'hui à 11:41

» Gestion d'un système client-serveur.
Calcul du périmètre de l’ellipse Emptypar Klaus Aujourd'hui à 10:23

» PANORAMIC V 1
Calcul du périmètre de l’ellipse Emptypar papydall Sam 4 Mai 2024 - 3:43

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Calcul du périmètre de l’ellipse Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Calcul du périmètre de l’ellipse Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Calcul du périmètre de l’ellipse Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Calcul du périmètre de l’ellipse Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Calcul du périmètre de l’ellipse Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Calcul du périmètre de l’ellipse Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Calcul du périmètre de l’ellipse Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Calcul du périmètre de l’ellipse Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Calcul du périmètre de l’ellipse Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Calcul du périmètre de l’ellipse Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Calcul du périmètre de l’ellipse Emptypar papydall Dim 21 Avr 2024 - 23:30

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -39%
Pack Home Cinéma Magnat Monitor : Ampli DENON ...
Voir le deal
1190 €

 

 Calcul du périmètre de l’ellipse

Aller en bas 
2 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7002
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Calcul du périmètre de l’ellipse Empty
MessageSujet: Calcul du périmètre de l’ellipse   Calcul du périmètre de l’ellipse EmptyDim 14 Avr 2019 - 20:50

Suite à une discussion sur le calcul du périmètre de l’ellipse sur un post de JL35, je vous propose ce code.

Code:

rem ============================================================================
rem                    Calcul du périmètre de l’ellipse
rem ============================================================================
' Paramètres de l'ellipse :
' dim a,b : ' respectivement demi-grand axe et demi-petit axe de l'ellipse
' dim f   : ' focale       =   sqr(a*a - b*b)
' dim h   : ' rapport      =   ((a-b)*(a-b)) / ((a+b)*(a+b))
' dim e   : ' excentricité =   sqr((1-(b*b)/(a*a)))
' dim s   : ' aire         =   pi*a*b
' dim p   : ' périmètre    =   ??????
rem ============================================================================
rem Le calcul du périmètre de l’ellipse n’est pas une chose facile.
rem La formule de la valeur exacte est une intégrale elliptique du second ordre.
rem Elle est transcendante et n’a pas de solution analytique.
rem On la calcule par intégration numérique ou par approximations rationnelles.
rem
rem Pour une ellipse donnée par son équation paramètrique :
rem                      __________________
rem                     |                  |
rem                     |  x = a * cos(t)  |
rem                     |  y = b * sin(t)  |
rem                     |  0 <= t <= 2*pi  |
rem                     |__________________|
rem                                
rem La formule exacte qui donne le périmètre est : (elle n’est pas facile à calculer)
rem   ________________________________________________________________________
rem  |                                                                        |
rem  |  p = 4*a*intégrale de 0 à pi/2 de la racine carrée de (1-e²*sin²t) dt  |  
rem  |________________________________________________________________________|
rem
rem ============================================================================
rem Heureusement, il existe plusieurs approximations de la circonférence de
rem l’ellipse dont celle de Ramanujan qui donne une très bonne appoximation.
rem
rem    __________________________________________________
rem   |                                                  |
rem   |   Formule de Ramanujan :                         |
rem   |                                                  |
rem   |   p = pi * (3*(a+b) - sqr((3*a+b) * (a+3*b)))    |
rem   |__________________________________________________|

rem ============================================================================
dim t$
dim a,b
' Application :
' Calcul de la longueur du méridien terrestre par les différentes formules avec
 a = 6378137         : ' Rayon à l'équateur terrestre.
 b = 6356752.3141    : ' Rayon au pôle.
 
application_title "Calcul du périmètre de l’ellipse"
rem ============================================================================
t$ = "Approximation de Ramanujan :" + chr$(13)
t$ = t$ + "Longueur calculée du méridien terrestre : "
t$ = t$ + str$(Circonference_Ellipse_Ramanujan(a,b)) + " m" + chr$(13)
t$ = t$ + "Longueur réelle du méridien terrestre      : 40007862.9164813 m"
Message t$

t$ = "Approximation de Kepler :" + chr$(13)
t$ = t$ + "Longueur calculée du méridien terrestre : "
t$ = t$ + str$(Circonference_Ellipse_Kepler(a,b)) + " m" + chr$(13)
t$ = t$ + "Longueur réelle du méridien terrestre      : 40007862.9164813 m"
Message t$

t$ = "Approximation de Sipos :" + chr$(13)
t$ = t$ + "Longueur calculée du méridien terrestre : "
t$ = t$ + str$(Circonference_Ellipse_Sipos(a,b)) + " m" + chr$(13)
t$ = t$ + "Longueur réelle du méridien terrestre      : 40007862.9164813 m"
Message t$

t$ = "Approximation naïve :" + chr$(13)
t$ = t$ + "Longueur calculée du méridien terrestre : "
t$ = t$ + str$(Circonference_Ellipse_Naive(a,b)) + " m" + chr$(13)
t$ = t$ + "Longueur réelle du méridien terrestre      : 40007862.9164813 m"
Message t$

t$ = "Approximation de Peano :" + chr$(13)
t$ = t$ + "Longueur calculée du méridien terrestre : "
t$ = t$ + str$(Circonference_Ellipse_Peano(a,b)) + " m" + chr$(13)
t$ = t$ + "Longueur réelle du méridien terrestre      : 40007862.9164813 m"
Message t$

t$ = "Approximation d'Euler :" + chr$(13)
t$ = t$ + "Longueur calculée du méridien terrestre : "
t$ = t$ + str$(Circonference_Ellipse_Euler(a,b)) + " m" + chr$(13)
t$ = t$ + "Longueur réelle du méridien terrestre      : 40007862.9164813 m"
Message t$

terminate
rem ============================================================================
' Très bonne approximation
FNC Circonference_Ellipse_Ramanujan(a,b)
    result pi * (3*(a+b) - sqr((3*a+b) * (a+3*b)))
END_FNC
rem ============================================================================
' C'ést la 1ère approximation utilisée par Johannes Kepler
FNC Circonference_Ellipse_Kepler(a,b)
    result 2*pi*sqr(a*b)
END_FNC
rem ============================================================================
' Meilleure approximation que celle de Kepler
FNC Circonference_Ellipse_Sipos(a,b)
    dim_local n,d
    n = (a+b) : n = n*n
    d = sqr(a)+sqr(b) : d = d*d
    result 2*pi*(n/d)
END_FNC
rem ============================================================================
' Approximation naïve mais meilleure que celle de Kepler
FNC Circonference_Ellipse_Naive(a,b)
    result pi*(a+b)
END_FNC
rem ============================================================================
' Très bonne approximation
FNC Circonference_Ellipse_Peano(a,b)
    result pi*(3*(a+b)/2 - sqr(a*b))
END_FNC
rem ============================================================================
FNC Circonference_Ellipse_Euler(a,b)
    result pi * sqr(2*(a*a+b*b))
END_FNC
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2389
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Calcul du périmètre de l’ellipse Empty
MessageSujet: Re: Calcul du périmètre de l’ellipse   Calcul du périmètre de l’ellipse EmptyLun 15 Avr 2019 - 15:48

Merci Papydall pour ce cours ! cheers


Si vous avez un problème avec les maths, suivez la flèche !
Calcul du périmètre de l’ellipse 1_bmp14
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7002
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Calcul du périmètre de l’ellipse Empty
MessageSujet: Re: Calcul du périmètre de l’ellipse   Calcul du périmètre de l’ellipse EmptyLun 15 Avr 2019 - 17:49

Merci Marc.
Ça fait plaisir de voir le nom de sa petite ville sur une photo !
Quant à trouver chaussures à ses pieds (je veux dire solution à son problème de maths) au bout de la flèche, c’est un autre problème.

sunny sunny sunny
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Calcul du périmètre de l’ellipse Empty
MessageSujet: Re: Calcul du périmètre de l’ellipse   Calcul du périmètre de l’ellipse Empty

Revenir en haut Aller en bas
 
Calcul du périmètre de l’ellipse
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Calcul d’angle ALIAS Question de calcul de moyenne : RESOLU
» Traçage d'un arc d'ellipse
» TCM : calcul mental
» Dessin rapide d'une ellipse.
» Un cœur incliné, une ellipse inclinée.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: