File:N-body problem (3).gif

Wikimedia Commonsista
Siirry navigaatioon Siirry hakuun

N-body_problem_(3).gif(182 × 174 kuvapistettä, 47 KiB, MIME-tyyppi: image/gif, toistuva, 500 kehystä)

Kuvatekstit

Kuvatekstit

Lisää yhden rivin pituinen kuvaus tästä tiedostosta

Yhteenveto

[muokkaa]
Kuvaus
English: The chaotic movement of 3 interacting particles.

This is an animation of the (not-reduced) three-body problem. The center of view is the mass center of the three particles.

Calculated numerically with Maple 10. Note: the 'n' parameter (currently '3') can be adapted at will.
Deutsch: n-Körper-Problem
Lähde Oma teos
Tekijä User:Joris_Gillis~commonswiki
Maple source code
InfoField
> restart;with(RandomTools);with(plottools):with(plots);
> n:=8;
> e:={}:for i from 1 to n do
   s:=[]:for c from 1 to n do;  if (not(c=i)) then
   s:=[op(s),G*mass[i]*mass[c]*(x[c](t)-x[i](t))/sqrt(((x[c](t)- x[i](t))^2+(y[c](t)-y[i](t))^2+(z[c](t)-z[i](t))^2))^3]: end if od:
   e:={op(e),mass[i]*diff(x[i](t),t$2)=add(s[v],v=1..n-1)}:
  
   s:=[]:for c from 1 to n do;  if (not(c=i)) then
   s:=[op(s),G*mass[i]*mass[c]*(y[c](t)-y[i](t))/sqrt(((x[c](t)- x[i](t))^2+(y[c](t)-y[i](t))^2+(z[c](t)-z[i](t))^2))^3]: end if od:
   e:={op(e),mass[i]*diff(y[i](t),t$2)=add(s[v],v=1..n-1)}:
  
   s:=[]:for c from 1 to n do;  if (not(c=i)) then
   s:=[op(s),G*mass[i]*mass[c]*(z[c](t)-z[i](t))/sqrt(((x[c](t)- x[i](t))^2+(y[c](t)-y[i](t))^2+(z[c](t)-z[i](t))^2))^3]: end if od:
   e:={op(e),mass[i]*diff(z[i](t),t$2)=add(s[v],v=1..n-1)}:
  od:e;
> G:=200;
> SetState(state=12);
> pos:=[]:for i from 1 to n do pos:=[op(pos),Generate(list(integer(range=-10..10), 3))] od;
> vel:=[]:for i from 1 to n do vel:=[op(vel),Generate(list(integer(range=-5..5), 3))] od;
> mass:=Generate(list(integer(range=5..35), n));
> with(LinearAlgebra):
> beginvwn:=NULL:
   for i from 1 to n do beginvwn:=beginvwn,x[i](0)=pos[i][1],y[i](0)=pos[i][2],z[i](0)=pos[i][3] od:
   for i from 1 to n do beginvwn:=beginvwn,D(x[i])(0)=vel[i][1],D(y[i])(0)=vel[i][2],D(z[i])(0)=vel[i][3] od:
  beginvwn;
> var:=NULL:for i from 1 to n do var:=var,x[i](t),y[i](t),z[i](t) od:var;
> astappen:=500:timescale:=0.02:
  opl:=dsolve([op(e),beginvwn],numeric,output=array([seq(m*timescale,m=0..astappen-1)]),maxfun=500000):
> sl:=convert(opl[1,1],list);
> dp:=ListTools[Flatten]([seq([2+2*k,2+2*k+2*n,2+2*k+4*n],k=0..n-1)]);
> data:=convert(opl[2,1],listlist):
> mc:=[seq(map(list->sum(list[dp[cd+3*cs]]*mass[cs+1],cs=0..n-1)/sum(mass[cs],cs=1..n),data),cd=1..3)]:
> aschijfjes:=astappen;p:=[]:
  for k from 1 to aschijfjes do
  pts:=NULL:for i from 1 to n do pts:=pts,point([seq(data[k][dp[c+3*(i-1)]],c=1..3)],symbolsize=mass[i],color=red,symbol=DIAMOND) od:
  pp:=display(pts);
  p:=[op(p),pp];
  end do:
> display(p,insequence=true,scaling=constrained,axes=boxed);
> aschijfjes:=astappen;p:=[]:
  for k from 1 to aschijfjes do
  pts:=NULL:for i from 1 to n do pts:=pts,point([seq(mc[c][k]-data[k][dp[c+3*(i-1)]],c=1..3)],symbolsize=mass[i],color=red,symbol=DIAMOND) od:
  pp:=display(pts);
  p:=[op(p),pp];
  end do:
> display(p,insequence=true,scaling=constrained,axes=boxed);

Lisenssi

[muokkaa]
Public domain Minä, tämän teoksen tekijänoikeudellinen omistaja, julkaisen tämän teoksen public domainiin eli luovun kaikista tekijänoikeuksista lain sallimissa puitteissa. Tämä on voimassa maailmanlaajuisesti.
Joissain maissa laki ei mahdollista tätä. Mikäli näin on:
Myönnän kenelle tahansa oikeuden käyttää tätä teosta mihin tahansa tarkoitukseen, ilman mitään ehtoja, ellei laki vaadi ehtojen asettamista.

Tiedoston historia

Päiväystä napsauttamalla näet, millainen tiedosto oli kyseisellä hetkellä.

PäiväysPienoiskuvaKokoKäyttäjäKommentti
nykyinen26. tammikuuta 2013 kello 11.33Pienoiskuva 26. tammikuuta 2013 kello 11.33 tallennetusta versiosta182 × 174 (47 KiB)Jahobr (keskustelu | muokkaukset)cropped; second attempt
25. tammikuuta 2013 kello 19.10Pienoiskuva 25. tammikuuta 2013 kello 19.10 tallennetusta versiosta182 × 174 (47 KiB)Jahobr (keskustelu | muokkaukset)cropped
19. tammikuuta 2006 kello 07.52Pienoiskuva 19. tammikuuta 2006 kello 07.52 tallennetusta versiosta264 × 232 (1,96 MiB)Joris Gillis~commonswiki (keskustelu | muokkaukset)much smaller version
18. tammikuuta 2006 kello 21.56Pienoiskuva 18. tammikuuta 2006 kello 21.56 tallennetusta versiosta1 050 × 751 (10,84 MiB)Joris Gillis~commonswiki (keskustelu | muokkaukset)The chaotic movement of 3 interacting particles. Calculated numerically with Maple 10. Note: the 'n' parameter (currently '3') can be adapted at will. <code> <pre> > restart;with(RandomTools);with(plottools):with(plots); > n:=3; > e:={}:for i from 1 to

Seuraavat 2 sivua käyttävät tätä tiedostoa:

Tiedoston järjestelmänlaajuinen käyttö

Seuraavat muut wikit käyttävät tätä tiedostoa: