Файл:N-body problem (3).gif

Змест старонкі недаступны на іншых мовах.
З Вікіпедыі, свабоднай энцыклапедыі

N-body_problem_(3).gif(182 × 174 кропак, аб’ём файла: 47 KB, тып MIME: image/gif, закальцаваныя, 500 кадраў)

Гэты файл з на Вікісховішчы і можа выкарыстоўвацца іншымі праектамі. Апісанне на яго старонцы ў Wikimedia Commons прыведзена ніжэй.

Тлумачэнне

Апісанне
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
Крыніца Уласная праца
Аўтар 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);

Ліцэнзіяванне

Public domain Я, уладальнік аўтарскіх правоў на гэты твор, перадаю яго ў грамадскі набытак. Дазвол сапраўдны для ўсяго свету.
У некаторых краінах гэта не можа быць юрыдычна магчыма; калі так, то:
Я дазваляю кожнаму выкарыстоўваць гэтую працу ў любых мэтах, без аніякіх умоваў, калі толькі такія ўмовы не патрабуюцца паводле закону.

Назвы

Апішыце ў адным радку, што ўяўляе сабой гэты файл

Элементы, адлюстраваныя на гэтым файле

адлюстроўвае

image/gif

Гісторыя файла

Націснуць на даце з часам, каб паказаць файл, якім ён тады быў.

Дата і часДрабніцаПамерыУдзельнікТлумачэнне
актуальн.14:33, 26 студзеня 2013Драбніца версіі з 14:33, 26 студзеня 2013182 × 174 (47 KB)Jahobrcropped; second attempt
22:10, 25 студзеня 2013Драбніца версіі з 22:10, 25 студзеня 2013182 × 174 (47 KB)Jahobrcropped
10:52, 19 студзеня 2006Драбніца версіі з 10:52, 19 студзеня 2006264 × 232 (1,96 MB)Joris Gillis~commonswikimuch smaller version
00:56, 19 студзеня 2006Драбніца версіі з 00:56, 19 студзеня 20061 050 × 751 (10,84 MB)Joris Gillis~commonswikiThe 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

Наступная 1 старонка выкарыстоўвае гэты файл:

Глабальнае выкарыстанне файла

Гэты файл выкарыстоўваецца ў наступных вікі: