| [2787] | 1 | #  Illustration de cours S1SM - Oscillateur harmonique
 | 
|---|
 | 2 | #                             Reza Ansari - Decembre 2003
 | 
|---|
 | 3 | 
 | 
|---|
 | 4 | #  Script de trace de ressort vertical 
 | 
|---|
 | 5 | 
 | 
|---|
 | 6 | defscript spring 'trace de ressort '
 | 
|---|
 | 7 | #  $1 : Nombre de zigzag
 | 
|---|
 | 8 | #  $2 : Position de ressort en X
 | 
|---|
 | 9 | #  $3,$4 : Position YMin,YMax du ressort
 | 
|---|
 | 10 |   set ns  $1
 | 
|---|
 | 11 |   rpneval x1  $2 0.2 -
 | 
|---|
 | 12 |   rpneval x2  $2 0.2 +
 | 
|---|
 | 13 |   set ymin  $3
 | 
|---|
 | 14 |   set ymax  $4
 | 
|---|
 | 15 |   rpneval dy  $ymax $ymin - $ns 2 * .5 + /
 | 
|---|
 | 16 |   set yc  $ymin
 | 
|---|
 | 17 |   for i 0:$ns
 | 
|---|
 | 18 |     set y1  $yc
 | 
|---|
 | 19 |     rpneval y2  $y1 $dy +
 | 
|---|
 | 20 |     addline $x1 $y1 $x2 $y2 
 | 
|---|
 | 21 |     rpneval y1  $y1 $dy +
 | 
|---|
 | 22 |     rpneval y2  $y2 $dy +
 | 
|---|
 | 23 |     addline $x2 $y1 $x1 $y2
 | 
|---|
 | 24 |     rpneval yc  $yc $dy 2 * + 
 | 
|---|
 | 25 |   end
 | 
|---|
 | 26 |   rpneval x2  $x2 0.2 -
 | 
|---|
 | 27 |   set y1  $yc
 | 
|---|
 | 28 |   rpneval y2  $yc $dy 0.5 * +
 | 
|---|
 | 29 |   addline $x1 $y1 $x2 $y2
 | 
|---|
 | 30 | endscript
 | 
|---|
 | 31 | 
 | 
|---|
 | 32 | #  Illustration cours Mouvement oscillateur harmonique
 | 
|---|
 | 33 | #  Trace position,vitesse,acceleration x(t), v(t), a(t)
 | 
|---|
 | 34 | zone 1
 | 
|---|
 | 35 | 
 | 
|---|
 | 36 | func sin(x) -0.5 10. 100 'axesnone xylimits=-1,10.5,-7,1.5 normalline blue'
 | 
|---|
 | 37 | func cos(x) -0.5 10. 100 'same xylimits=-1,10.,-7,1.5 normalline magenta'
 | 
|---|
 | 38 | func -sin(x) -0.5 10. 100 'same xylimits=-1,10.5,-7,1.5 normalline red'
 | 
|---|
 | 39 | addtext 2 1.2 'Position' 'blue bigboldfont helveticafont horizcenter'
 | 
|---|
 | 40 | addtext 6.5 1.2 'Vitesse' 'magenta bigboldfont helveticafont horizcenter'
 | 
|---|
 | 41 | addtext 3.7 0.5 'Acc/Force' 'red bigboldfont helveticafont horizcenter vertcenter'
 | 
|---|
 | 42 | 
 | 
|---|
 | 43 | #  Trace d'axes
 | 
|---|
 | 44 | addarrow -1 0 10 0 'ftrianglearrow7'
 | 
|---|
 | 45 | addtext 7 -0.5 'Temps' 'bigboldfont helveticafont horizcenter'
 | 
|---|
 | 46 | addfrect -1 -6.5 10 -6. 'grey normalline'
 | 
|---|
 | 47 | addline -1 -6.5 10 -6.5 'normalline'
 | 
|---|
 | 48 | addline -1 -6. 10 -6. 'normalline'
 | 
|---|
 | 49 | 
 | 
|---|
 | 50 | #  Trace vecteur vitesse, acceleration pour t=2pi/kk
 | 
|---|
 | 51 | for kk 0:7
 | 
|---|
 | 52 |   rpneval x  pi 2 / $kk *
 | 
|---|
 | 53 |   rpneval ym  $x sin 3 -
 | 
|---|
 | 54 |   addmarker $x $ym 'blue marker=fbox,11'
 | 
|---|
 | 55 |   spring 8 $x -6 $ym 
 | 
|---|
 | 56 |   rpneval vv  $x cos 1 *
 | 
|---|
 | 57 |   rpneval avv  $vv fabs
 | 
|---|
 | 58 |   set yv0  $ym
 | 
|---|
 | 59 |   rpneval yv1  $yv0 $vv +
 | 
|---|
 | 60 |   rpneval xv  $x 0.3 -
 | 
|---|
 | 61 |   if ( $avv > 0.5 ) then
 | 
|---|
 | 62 |     addarrow $xv $yv0 $xv $yv1 'magenta ftrianglemarker9 normalline'   
 | 
|---|
 | 63 |     rpneval xv  $xv 0.05 -
 | 
|---|
 | 64 |     rpneval yv0  $yv0 $yv1 + 0.5 *
 | 
|---|
 | 65 |     addtext $xv $yv0 'V' 'magenta bigboldfont helveticafont horizright vertcenter'
 | 
|---|
 | 66 |   else 
 | 
|---|
 | 67 |     rpneval yv0  $yv0 $yv1 + 0.5 *
 | 
|---|
 | 68 |     addtext $xv $yv0 'V=0' 'magenta bigboldfont helveticafont horizright vertcenter'
 | 
|---|
 | 69 |   endif
 | 
|---|
 | 70 |   rpneval aa  $x sin -1 *
 | 
|---|
 | 71 |   rpneval aaa  $aa fabs
 | 
|---|
 | 72 |   set ya0  $ym 
 | 
|---|
 | 73 |   rpneval ya1  $ya0 $aa +
 | 
|---|
 | 74 |   rpneval xa  $x 0.3 +
 | 
|---|
 | 75 |   if ( $aaa > 0.5 ) then
 | 
|---|
 | 76 |     addarrow $xa $ya0 $xa $ya1 'red ftrianglemarker9 normalline'   
 | 
|---|
 | 77 |     rpneval xa  $xa 0.05 +
 | 
|---|
 | 78 |     rpneval ya0  $ya0 $ya1 + 0.5 *
 | 
|---|
 | 79 |     addtext $xa $ya0 'F' 'red bigboldfont helveticafont horizleft vertcenter'
 | 
|---|
 | 80 |   else 
 | 
|---|
 | 81 |     rpneval ya0  $ya0 $ya1 + 0.5 *
 | 
|---|
 | 82 |     addtext $xa $ya0 'F=0' 'red bigboldfont helveticafont horizleft vertcenter'
 | 
|---|
 | 83 |   endif
 | 
|---|
 | 84 | end
 | 
|---|
 | 85 | 
 | 
|---|
 | 86 | #  On en fait un fichier postscript 
 | 
|---|
 | 87 | w2eps oh_xva_spring.eps
 | 
|---|
 | 88 | 
 | 
|---|