Laboratorio di fisica computazionale
				(Prova d' esame del 28 luglio 2004)
Composizione di moti armonici
Scrivere una procedura che risolve in maniera generale il problema del moto di un 
punto materiale di massa m soggetto alla forza 
						\(\(F\& -> \) = \(-K\_x\) 
              x \( i\&^\) - \(K\_y\) y \( j\&^\) - \(K\_z\) z 
               k\&\(\(^\)\(\ \)\)\)
\(dove\ \(i\&^\), \(j\&^\), \(k\&^\)\ sono\ i\ versori\ di\ un\ sistema\ di\ riferimento\ cartesiano . \ 

            La\ procedura\ deve\ avere\ come\ argomenti\ le\ condizioni\ iniziali\ e\ le\)
\(costanti\ elastiche\ e\ come\ uscita\ la\ dipendenza\ dal\ tempo\ delle\ coordinate\ \((equazione\ oraria)\) . 

            Utilizzare\ tale\ procedura\ per\ visualizzare\ la\ \(traiettoria : 
	•\ \ \ \ \ \ in\ un\ caso\ in\ cui\ l' 
              orbita\ è\ chiusa\)\)
	•      in un caso in cui l' 
          orbita è aperta
	•       Restringendosi al caso in cui (Subscript[K, z]) = 0 e in cui le orbite sono chiuse, 
        mostrare con alcuni esempi di traiettoria
                  che il tipo di orbita dipende dallo sfasamento e dal rapporto tra le costanti elastiche  
                 (figure di Lissajous).

Procedura che calcola le equazioni parametriche della traiettoria per un oscillatore in n dimensioni

Off[General::"spell1"]
Clear[Oscillatore, m, k, r0, v0]
Oscillatore[m_, k_List, r0_List, 
        v0_List] := 
Module[{ω = (Sqrt[k/m]), 
          A, φ}, 
A = (Sqrt[(r0^2) + ((((v0/ω)))^2)]); 
φ = 
          ArcTan[r0, -v0/ω]; 
A Cos[ω t + φ]
]

Caso Tridimensionale arbita chiusa: rapporto tra le costanti elastiche ->  (Subscript[k, x]):(Subscript[k, y]) : (Subscript[k, z])=(1^2):(2^2):(3^2)

Clear[r, t]
r0 = {0, 0, 0};
v0 = {1, -1, 2};
m = 1;
κ = 1;
k = κ {(1^2), (2^2), (3^2)};
ω = (Sqrt[k/m]);
r[t_] = Oscillatore[m, k, r0, v0];
T = 
        Min[((2  π)/ω)] 
          Apply[LCM, ((2  π)/ω)/
              Min[((2  π)/ω)]];
fig = 
      ParametricPlot3D[r[t], {t, 0, T}, 
        PlotPoints -> 500]
Do[Show[fig, Graphics3D[{PointSize[0.02], Point[r[t]]}]], {t, 0, T, 
        T/100}]

Caso Tridimensionale orbita aperta: rapporto tra le costanti elastiche -> (Subscript[k, x]):(Subscript[k, y]) : (Subscript[k, z])=1:2:3

Clear[r, t]
k = κ {1, 2, 3};
ω = (Sqrt[k/m]);
r[t_] = Oscillatore[m, k, r0, v0]
T = 2 Max[((2  π)/ω)];
fig = 
      ParametricPlot3D[r[t], {t, 0, T}, 
        PlotPoints -> 500]
Do[Show[fig, Graphics3D[{PointSize[0.02], Point[r[t]]}]], {t, 0, T, 
        T/100}]

Caso bidimensionale orbite chiuse : rapporto tra le costanti elastiche ->  (Subscript[k, x]):(Subscript[k, y])=(1^2):(1^2) e vari sfasamenti

m = 1;
κ = 1;
k = κ {(1^2), (1^2)};
ω = (Sqrt[k/m]);
T = 
        Min[((2  π)/ω)] 
          Apply[LCM, ((2  π)/ω)/
              Min[((2  π)/ω)]];
A = {2, 1};
funs = 
        Table[φ = {0, Δϕ}; 
          r0 = A Cos[φ]; v0 = -A ω Sin[φ]; 
          Oscillatore[m, k, r0, v0], {Δϕ, 0, 
            2  π, (π/4)}];
ParametricPlot[Evaluate[funs], {t, 0, T}];

Caso bidimensionale orbite chiuse : rapporto tra le costanti elastiche ->  (Subscript[k, x]):(Subscript[k, y])=(1^2):(2^2) e vari sfasamenti

m = 1;
κ = 1;
k = κ {(1^2), (1^2)};
ω = (Sqrt[k/m]);
T = 
        Min[((2  π)/ω)] 
          Apply[LCM, ((2  π)/ω)/
              Min[((2  π)/ω)]];
A = {2, 1};
funs = 
        Table[φ = {0, Δϕ}; 
          r0 = A Cos[φ]; v0 = -A ω Sin[φ]; 
          Oscillatore[m, k, r0, v0], {Δϕ, 0, 
            2  π, (π/4)}];
ParametricPlot[Evaluate[funs], {t, 0, T}];

Caso bidimensionale orbite chiuse : rapporto tra le costanti elastiche ->  (Subscript[k, x]):(Subscript[k, y])=(1^2):(3^2) e vari sfasamenti

m = 1;
κ = 1;
k = κ {(1^2), (3^2)};
ω = (Sqrt[k/m]);
T = 
        Min[((2  π)/ω)] 
          Apply[LCM, ((2  π)/ω)/
              Min[((2  π)/ω)]];
A = {2, 1};
funs = 
      Table[φ = {0, Δϕ}; 
        r0 = A Cos[φ]; v0 = -A ω Sin[φ]; 
        Oscillatore[m, k, r0, v0], {Δϕ, 0, 
          2  π, (π/4)}]; 
    ParametricPlot[Evaluate[funs], {t, 0, 2  T}];

Caso bidimensionale orbite chiuse : rapporto tra le costanti elastiche ->  (Subscript[k, x]):(Subscript[k, y])=(2^2):(3^2) e vari sfasamenti

m = 1;
κ = 1;
k = κ {(2^2), (3^2)};
ω = (Sqrt[k/m]);
T = 
        Min[((2  π)/ω)] 
          Apply[LCM, ((2  π)/ω)/
              Min[((2  π)/ω)]];
A = {2, 1};
funs = 
      Table[φ = {0, Δϕ}; 
        r0 = A Cos[φ]; v0 = -A ω Sin[φ]; 
        Oscillatore[m, k, r0, v0], {Δϕ, 0, 
          2  π, (π/4)}]; 
    ParametricPlot[Evaluate[funs], {t, 0, 2  T}];