File:Foucault-rotz-de.gif

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Foucault-rotz-de.gif(540 × 405 pixels, file size: 319 KB, MIME type: image/gif, looped, 72 frames, 7.2 s)

Captions

Captions

Add a one-line explanation of what this file represents

Summary[edit]

Description
Français : Animation d'un pendule de Foucault de 67 mètres fictif laché à une distance de 50,25 mètres (3/4 de sa longueur) à l'est avec une vitesse nulle. La rotation de la Terre est également exagérée et correspond à une rotation en 110 secondes. Il s'agit de la vue prise depuis le plan d'oscillation : le référentiel terrestre tourne donc. Dans ce pseudo plan, le tracé au sol n'est pas linéaire mais correspond à une ellipse. Le programme de l'animation Gnuplot est fourni (GPL)
English: Animation of a fictitious pendulum of Foucault of 67 meters released at a distance of 50,25 meters (3/4 its length) in the east with a null speed. The rotation of the Earth is also exaggerated and corresponds to a rotation in 110 seconds. It corresponds to the view taken from the plane of oscillations: the terrestrial reference frame thus turns. In this pseudo plan, the trace is not linear but corresponds to an ellipse.Source of the Gnuplot animation is provide (GPL)
Deutsch: Belebung eines fiktiven Pendels von Foucault von 67 Metern, das an einer Distanz von 50,25 Metern (3/4 von ihrer Länge) im Osten mit einer Null-Geschwindigkeit befreit wurde. Die Rotation der Erde wird ebenfalls übertrieben und entspricht einer Umdrehung in 110 Sekunden. Dis Sich is von dem Oszillationsplan genommen: das Erdbezugssystem dreht also. In diesem Pseudoplan ist die Vorzeichnung am Boden nicht linear, aber entspricht einer Ellipse. Das Programm der Gnuplot-Belebung wird geliefert (GPL)
Date
Source Own work
Author wp:fr:Nbrouard
Other versions Media:Foucault-anim.gif and other langueages Media:Foucault-rotz.gif, Media:Foucault-rotz-de.gif
reset
set ter x11 # or windows on Windows
# Programme Gnuplot foucault-anim.gp, ne fonctionne qu'avec une version >=4.2 et une libgd récente
# Nbrouard 7 mars 2002 v1.0 Sous licence GPL. GNU General Public License
# Nbrouard 12 mars 2007 v1.1
#             Ajout de l'ellipse et simplification des équations
# Nbrouard 14 mars 2007 v1.2
#             Ajout du fil du pendule.
# Nbrouard 16 mars 2007 v1.4
#             Suppression des axes et ajout d'une coupole
#             Indication pour le traitement des caractères unicode UTF-8
# Nbrouard 21 mars 2007 v1.5
#             Ajout gifsicle pour réduire la taille. 
#
# Dernière version sous http://commons.wikimedia.org/wiki/Image:Foucault-rotz.gif
g=9.81 # gravité g/s2
l=67.   # longueur du pendule en mètres
omega=sqrt(g/l)

# Choisir la vitesse de rotation de la Terre
Omega=2.*pi/24./3600. # Rotation de la Terre, 24 heures par jour
Omega=2.*pi/(23.+(56./60.))/3600. # Rotation de la Terre, 23h56 jour sidéral (pour le 3e dessin)
Omega=2.*pi/3600.*60. # Rotation très rapide en 1/60e d'heure pour un dessin
Omega=2.*pi/3600./24.*24.*60./1.5 # Rotation très rapide en 2/3*1/60e d'heure 90 secondes pour le premier dessin 
Omega=2.*pi/3600./24.*24.*60./3.5 # Rotation très rapide en 3.5 1/60e d'heure soit 110 secondes pour le second dessin
print "Période de la Terre 2.*pi/Omega= ",2.*pi/Omega, " secondes"

theta=(48.+52./60.)/360*2.*pi   # latitude de 48 degrés 52 minutes
omegz=sqrt(omega*omega+Omega*Omega*sin(theta)*sin(theta))

complex(x,y)=x*{1,0}+y*{0,1} # fonction utile

# cas où le pendule est propulsé du centre avec une vitesse de 2m/s (cas irréaliste non dessiné)
z0={0,0}
vz=2         # Si propulsé au centre avec une vitesse de 2 m/s
zp0=complex(vz,0)

# cas 'historique' où le pendule est lancé sans vitesse
#   initiale à z0 mètres à l'est du centre.
z0={6.,0}  # pour le 3e dessin
z0=l*3./4.*{1,0}  # pour les premier et second dessins
zp0={0,0}
print "Vitesse initiale ",zp0

c1=z0/2.*(1+Omega/omegz*sin(theta))*{1,0}-zp0/2./omegz*{0,1}
c2=z0/2.*(1-Omega/omegz*sin(theta))*{1,0}+zp0/2./omegz*{0,1}
unset label 
eix(x)=cos(x)*{1,0}+sin(x)*{0,1}
#z(t)=c1*eix(-(Omega*sin(theta)-omegz)*t) + c2*eix(-(Omega*sin(theta)+omegz)*t)
z(t)=eix(-(Omega*sin(theta))*t)*(z0*(cos(omegz*t)*{1,0}+Omega*sin(theta)/omegz*sin(omegz*t)*{0,1})+zp0/omegz*sin(omegz*t))

set parametric
# Trace dans le pseudo plan d'oscillation (pas dessiné)
#plot real(c1*eix(omegz*t)+c2*eix(-omegz*t)), imag(c1*eix(omegz*t)+c2*eix(-omegz*t))
#plot [t=0:3.65*2.*pi/omegz] [-abs(z0):abs(z0)] [-abs(z0):abs(z0)] real(z(t)),imag(z(t))
h(t)=-sqrt(l*l-abs(z(t))*abs(z(t)))+l
hz=h(0)

# La coupole du Panthéon : nombre d'ogives 3 par défaut
# Il faut la tracer en paramétrique pour t variant de O à tf. 
nogives=3.
spx(t,tf)= l*(cos(floor(t/tf*nogives)*pi/nogives)*cos(t/tf*pi*nogives))
spy(t,tf)= l*(sin(floor(t/tf*nogives)*pi/nogives)*cos(t/tf*pi*nogives))
sph(t,tf)= l*abs(sin(t/tf*pi*nogives))

# Le fil
px(t,tf)= t/tf*real(z(tf))
py(t,tf) =t/tf*imag(z(tf))
ph(t,tf) =l+t/tf*(h(tf)-l)

#--- Paramètres
#   Langues
lang="de"
#lang="en"
#lang="fr" # par défaut

#   Type de repère
fixe=0 # Dessin dans le repère terrestre
fixe=1 # Dessin dans le plan du pendule

#   Taille des fichiers animés
thumb=-1 # X11 or Win
thumb=0 # 640x480
#thumb=1 # 180x135 Miniatures par défaut de Wikipédia

split=1  # Si on souhaite des fichiers images séparés (dans un sous-répertoire)
split=0

#utf8=1 # voir plus bas
#-- Fin des paramètres

# Pour traiter des caractères UTF-8, il faut obtenir par exemple des polices TrueType
# voir le site http://corefonts.sourceforge.net/
# Dans ce cas on peut faire set ter gif font "arial" 14 mais il faut
# que l'environnement GDFONTPATH pointe sur le répertoire TrueType :export GDFONTPATH="/usr/share/fonts/msttcorefonts/"
# export GNUPLOT_DEFAULT_GDFONT="arial"

if(lang ne "fr") ficlang=sprintf("-%s",lang); else ficlang="";
if (lang eq "de") Est="Osten"; Ouest="Westen"; Nord="Norden"; Sud="Süden"; \
else if (lang eq "en") Est="East";  Ouest="West"; Nord="North"; Sud="South"; \
else Est="Est"; Ouest="Ouest"; Nord="Nord"; Sud="Sud";

unset label
set label Est at l*1.2,0,0 center
set label Ouest at -l*1.2,0,0 center
set label Nord at 0,l*1.2,0 center
set label Sud at 0,-l*1.2,0 center
#set xlabel "Ouest <-> Est en metres"
#set ylabel "Sud <-> Nord en metres"

#set samples 100
set xyplane at 0
#set size 0.75,1 # aspect circulaire 480/640=0.75 # Merci à Michel Barbetorte 07/03/07
rotationz=28
rotationz=0
rotationx=50
#set view rotationx,rotationz,1,1.5
set view rotationx,rotationz,1,1.0
# dessin à l'écran pour voir
splot [t=0:3.65*2.*pi/omegz] [:] [-abs(z0):abs(z0)] [-abs(z0):abs(z0)] [0:l] real(z(t)),imag(z(t)),((t<pi/omegz)&&(t>0)?h(t):1/0) with lines lt palette , real(z(t)),imag(z(t)),0 with lines

unset title
unset key
unset xtics
unset ytics
unset ztics
set border 0
set size square
set size 1.3,1.3
set size 1.5,1.5
set size 1.54,1.54
set origin -0.4,-0.15
sampbase=100
set samples sampbase
n=24
tdelta=2.*pi/omegz/n
tfin=12*2.*pi/omegz
tfin=3*2.*pi/omegz
#tfin=pi/omegz
limit_iterations=9*n
#limit_iterations=6
#limit_iterations=13
tmin=1.e-3
tdeb=tdelta
tdeb=tmin
iteration_count=0
if(fixe==1) rotationz=80.; else  rotationz=28.
set view rotationx,rotationz,1,1.0
#set ter gif size 640,480 large animate optimize
# set ter gif animate optimize size 640,480 \
#                         xffffff x000000 x404040 \
#                         xff0000 xffa500 x66cdaa xcdb5cd \
#                         xadd8e6 x0000ff xdda0dd x9500d3    # defaults

#if(thumb==1) xpix=180;ypix=135; else xpix=640;ypix=480;
if(thumb==1) xpix=180;ypix=135; else xpix=540;ypix=405;
if(fixe==1) tfixe="rotz";else tfixe="anim";

iteration_count=0
if(thumb==1) labpix=sprintf("%dx%d-",xpix,ypix); else labpix="";
if(split != 1) ficsortie=sprintf("%sfoucault-%s%s.gif",labpix,tfixe,ficlang) # else voir dans la boucle

if(thumb==-1) set ter x11; set out; else if(split==1) set ter gif animate optimize size xpix,ypix xffffff x000000 xa0a0a0 xff0000 x00c000 x0080ff xc000ff x00eeee ; set out; else set ter gif animate optimize size xpix,ypix  xffffff x000000 xa0a0a0 xff0000 x00c000 x0080ff xc000ff x00eeee; set out ficsortie;
show ter
show output

rotationdynz=rotationz/360.*2.*pi
if(fixe==1) rotationzinc=-tdelta*Omega*sin(theta); else rotationzinc=0
call "foucault-rot-ellipse.gp" "Rotationz" rotationzinc split
set ter X11
set out
replot
# Gnuplot 2.3 rc4 n'étant pas capable de tronquer (crop) correctement un fichier
# Gif animé, il est nécessaire de passer par gifsicle ou Cimp pour réduire sa taille. Ici on a fait :
#! gifsicle -O2 -k8 foucault-rotz-de.gif -o  foucault-rotz-de-O2-k8-540.gif

# Fin

Nous avons besoin d'un programe d'itération pour faire plusieurs images:

# Foucault-iter.gp
# Version 1.5 du 21 mars 2007
# Dernière version sous http://commons.wikimedia.org/wiki/Image:Foucault-rotz.gif
if(split==1) ficsortie=sprintf("foucault-%s%s/%sfoucault-%s%s-%d.gif",tfixe,ficlang,labpix,tfixe,ficlang,iteration_count);set out ficsortie
print "Fichier Rotationz=$0 rotationzinc=$1 split=$2 ficsortie=",ficsortie
print "1-rotationdynz=",rotationdynz, " deg=", rotationdynz/2./pi*360.
rotationdynz=rotationdynz+$1
rotationdyndegz=rotationdynz/2./pi*360.
rotationdyndegz=rotationdyndegz -int(rotationdyndegz/360.)*360.
if(rotationdyndegz<0) rotationdyndegz=rotationdyndegz+360.
print "2-rotationdynz=",rotationdynz, " deg=", rotationdyndegz
set view ,rotationdyndegz,,
iteration_count=iteration_count+1
if(tdeb/tdelta>sampbase) set samples tdeb*sampbase/tdelta
znonrot(t)=eix(-Omega*sin(theta)*(tdeb-t))*z(t)
print "iteration_count in ", iteration_count," limit_iterations ", limit_iterations, " tdeb ",tdeb," xnonrot(tdeb) ", real(znonrot(tdeb))," ynonrot(tdeb) ",imag(znonrot(tdeb))

#  splot [t=0:tdeb] [:] [-abs(z0):abs(z0)] [-abs(z0):abs(z0)] [0:l]

 if (((!limit_iterations) || (iteration_count<=limit_iterations)) && (tdeb <= tfin)) \
   print "iteration_count loop ",iteration_count; \
   splot [t=0:tdeb] [:] [-l:l] [-l:l] [0:l] \
     real(z(t)),imag(z(t)),0 not with lines lc rgb 'green', \
     real(znonrot(t)),imag(znonrot(t)),((0<=t)&&(t<=tdeb)?h(t):1/0) not with lines lc rgb 'blue', \
     px(t,tdeb),py(t,tdeb),((0<=t)&&(t<=tdeb)?ph(t,tdeb):1/0) not with lines lt 6, \
     real(z(t)),imag(z(t)),((tdeb-tdelta/2.<t)&&(t<=tdeb)?h(t):1/0) not with lines lc rgb 'red' lw 3, \
     spx(t,tdeb),spy(t,tdeb),sph(t,tdeb) not with lines lc rgb 'black', \
     spx(t,tdeb),-spy(t,tdeb),sph(t,tdeb) not with lines lc rgb 'black'; \
     tdeb=tdeb+tdelta; \
   print (iteration_count+0.1-0.1)/limit_iterations*100, " pour cent"; \
reread
  #pause mouse any "Any key or button will terminate" ;  \ Doit être avant le reread pour debuguer
  #  print "spx=",spx(tdeb,tdeb)," spy=",spy(tdeb,tdeb)," sph=",sph(tdeb,tdeb)," tdeb=",tdeb; \
 # 'blutux.rgb' binary array=128x128 dx=0.1 dy=0.1 flipy rot=0.pi center = (50,-3.5,0) perp=(0,1,0) format='%uchar%uchar%uchar' using ($1+$2+$3)/3. with image 

Licensing[edit]

I, the copyright holder of this work, hereby publish it under the following licenses:
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
This licensing tag was added to this file as part of the GFDL licensing update.
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 2.5 Generic, 2.0 Generic and 1.0 Generic license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
You may select the license of your choice.

Licensing[edit]

I, the copyright holder of this work, hereby publish it under the following licenses:
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
This licensing tag was added to this file as part of the GFDL licensing update.
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 2.5 Generic, 2.0 Generic and 1.0 Generic license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
You may select the license of your choice.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current11:55, 21 March 2007Thumbnail for version as of 11:55, 21 March 2007540 × 405 (319 KB)Nbrouard (talk | contribs)== Description == {{Information |Description= {{fr|Animation d'un pendule de Foucault de 67 mètres fictif laché à une distance de 50,25 mètres (3/4 de sa longueur) à l'est avec une vitesse nulle. La rotation de la Terre est également exagérée et c

File usage on other wikis

The following other wikis use this file:

  • Usage on www.wikidata.org