Zum Inhalt springen

Datei:Angular momentum conservation.gif

Aus MOOCsWiki Staging
Originaldatei (480 × 480 Pixel, Dateigröße: 562 KB, MIME-Typ: image/gif, Endlosschleife, 60 Bilder, 6,0 s)
Hinweis: Aufgrund technischer Beschränkungen werden Vorschaubilder hochauflösender GIF-Dateien wie dieser nicht animiert.

Diese Datei stammt aus Wikimedia Commons und kann von anderen Projekten verwendet werden. Die Beschreibung von deren Dateibeschreibungsseite wird unten angezeigt.

Beschreibung

Beschreibung
English: Conservation of angular momentum: 2 bodies orbiting each other will change both their velocity and their distance from the centre of mass with time, but the total angular momentum is going to stay constant. (Couldn't find a way to fit the units in the formula and keep it legible. Sorry)
Datum
Quelle Eigenes Werk, basierend auf: https://twitter.com/j_bertolotti/status/1247155641887547395
Urheber Jacopo Bertolotti
Genehmigung
(Weiternutzung dieser Datei)
https://twitter.com/j_bertolotti/status/1030470604418428929

Mathematica 12.0 code

Clear[evog, pos, posold, posoldold, acc];
m = {1, 1};
pos = {{-1, 0}, {1, 0}};
v0 = {{0, 0.3}, {0, -0.3}};
acc = Table[
   Sum[If[j == k, 0, -m[[j]] (pos[[j]] - pos[[k]])/((pos[[j, 1]] - pos[[k, 1]])^2 + (pos[[j, 2]] - pos[[k, 2]])^2)^(3/2)], {k, 1, 2}], {j, 1, 2}];
dt = 0.01;
posold = pos;
pos = posold + v0 dt + acc/2 dt^2;
clip = 10^5;
evog = Reap[Do[
      acc = Table[Sum[ If[j == k, 0, -m[[j]] (pos[[j]] - pos[[k]])/((pos[[j, 1]] - pos[[k, 1]])^2 + (pos[[j, 2]] - pos[[k, 2]])^2)^(3/2)], {k, 1, 2}], {j, 1, 2}];
      acc = Clip[acc, {-clip, clip}];
      posoldold = posold;
      posold = pos;
      pos = 2 posold - posoldold + acc dt^2;
      Sow[pos];
      , 1000];][[2, 1]];

range = 1.5;
p0 = Table[
   Show[
    ListPlot[{evog[[All, 1]][[1 ;; -1]], evog[[All, 2]][[1 ;; -1]]}, PlotStyle -> {Directive[Thin, Purple], Directive[Thin, Orange]}, PlotRange -> {{-range, range}, {-range, range}}, Joined -> True, Axes -> False, AspectRatio -> 1]
    ,
    Graphics[{Thick, Purple, Dashed, Line[{{0, 0}, evog[[t, 1]]}], Disk[evog[[t, 1]], 0.1], Dashing[None], Arrow[{evog[[t, 1]], evog[[t, 1]] + (evog[[t, 1]] - evog[[t - 1, 1]])/dt}],
      Orange, Dashed, Line[{{0, 0}, evog[[t, 2]]}], Disk[evog[[t, 2]], 0.1], Dashing[None], Arrow[{evog[[t, 2]], evog[[t, 2]] + (evog[[t, 2]] - evog[[t - 1, 2]])/dt}],
      Black, Text[ Row[{Style["\!\(\*SubscriptBox[\(L\), \(TOT\)]\) = ", Black, Bold], Style["\!\(\*SubscriptBox[\(m\), \(1\)]\) \!\(\*SubscriptBox[OverscriptBox[\(r\), \(\[Rule]\)], \(1\)]\)", 
          Purple, Bold], Style["\[Cross]", Black, Bold], Style["\!\(\*SubscriptBox[OverscriptBox[\(v\), \(\[Rule]\)], \(1\)]\)", Purple, Bold], Style["+", Black, Bold], Style["\!\(\*SubscriptBox[\(m\), (2\)]\) \!\(\*SubscriptBox[OverscriptBox[\(r\), \(\[Rule]\)], \(2\)]\)", Orange, Bold], Style["\[Cross]", Black, Bold], Style["\!\(\*SubscriptBox[OverscriptBox[\(v\), \(\[Rule]\)], \(2\)]\)", Orange, Bold], Style[" =\n= ", Black, Bold], Style["1", Purple, Bold], Style["\[CenterDot]", Black, Bold], Style[StringForm["``", NumberForm[Norm[evog[[t, 1]]], {3, 2}]], Purple, Bold], Style["\[CenterDot]", Black, Bold], Style[StringForm["``", NumberForm[Norm[(evog[[t, 1]] - evog[[t - 1, 1]])/dt], {3, 2}]], Purple, Bold], Style["\[CenterDot] sin ", Black, Bold], Style[StringForm["``", NumberForm[ ArcCos[((evog[[t, 1]] - evog[[t - 1, 1]])/dt).evog[[t, 1]]], {3, 2}]], Purple, Bold], Style[" + ", Black, Bold], Style["1", Orange, Bold], Style["\[CenterDot]", Black, Bold], Style[StringForm["``", NumberForm[Norm[evog[[t, 2]]], {3, 2}]], Orange, Bold], Style["\[CenterDot]", Black, Bold], Style[StringForm["``", NumberForm[ Norm[(evog[[t, 2]] - evog[[t - 1, 2]])/dt], {3, 2}]], Orange, Bold], Style["\[CenterDot] sin ", Black, Bold], Style[StringForm["``", NumberForm[ ArcCos[((evog[[t, 2]] - evog[[t - 1, 2]])/dt).evog[[t, 2]]], {3, 2}]], Orange, Bold], Style[StringForm["= ``", NumberForm[ Norm[Cross[ Join[(evog[[t, 1]] - evog[[t - 1, 1]])/dt, {0}], Join[evog[[t, 1]], {0}] ] + Cross[Join[(evog[[t, 2]] - evog[[t - 1, 2]])/dt, {0}], Join[evog[[t, 2]], {0}] ]], {3, 2}]], Black, Bold] }], {0, 1.35}]
      }, PlotRange -> {{-range, range}, {-range, range}}]
    ]
   , {t, 2, Position[evog[[All, 1, 1]], Evaluate@Nearest[evog[[All, 1, 1]], -1][[1]] ][[1, 1]], 10}];
ListAnimate[p0]

Lizenz

Jacopo Bertolotti, der Nutzungsrechtsinhaber dieses Werkes, veröffentlicht es hiermit unter der folgenden Lizenz:
Creative Commons CC-Zero Diese Datei wird unter der Creative-Commons-Lizenz CC0 1.0 Verzicht auf das Copyright zur Verfügung gestellt.
Die Person, die das Werk mit diesem Dokument verbunden hat, übergibt dieses weltweit der Gemeinfreiheit, indem sie alle Urheberrechte und damit verbundenen weiteren Rechte – im Rahmen der jeweils geltenden gesetzlichen Bestimmungen – aufgibt. Das Werk kann – selbst für kommerzielle Zwecke – kopiert, modifiziert und weiterverteilt werden, ohne hierfür um Erlaubnis bitten zu müssen.

Kurzbeschreibungen

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.
Angular momentum conservation for two bodies orbiting each other.

In dieser Datei abgebildete Objekte

Motiv

Einige Werte ohne einen Wikidata-Eintrag

image/gif

1e39961e3ac0943e4be154cb8f2d6eb208f509e3

575.199 Byte

5,999999999999995 Sekunde

480 Pixel

480 Pixel

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell13:54, 7. Apr. 2020Vorschaubild der Version vom 13:54, 7. Apr. 2020480 × 480 (562 KB)wikimediacommons>BertoUploaded own work with UploadWizard

Die folgende Seite verwendet diese Datei:

Metadaten