Español
Experimente

Missglückte Mehrkörper-Planetensimulation como schlechter Bildschirmschoner

 

p.specht


'3D-Weltraummüll, begrenzt como Bildschirmschoner tauglich
Título de la ventana "Räumliche inkrementelle Mehrkörper-Orbitsimulation después de Newton"
'(CL) CopyLeft 2014-01 by P.Pájaro carpintero, Wien. Keine Gewähr, para Garnichts!
Ventana de Estilo 24:Ventana 0,0-%maxx,%maxy:cls 0:font 2
var xh&=width(%hwnd)\2:var yh&=height(%hwnd)\2
set("decimals",15):set("numwidth",30)
'imprimir 2*xh&,2*yh&:waitinput 2000 'Bildschirmauflösung
var fm$=mkstr$("0",16):fm$=" "+fm$+"."+fm$+";-"+fm$+"."+fm$+"; "+fm$+"."+fm$
declarar m&,n&,i&,j&,k&,G!,rr!,urrr!
G!=6.67384*10^-11'Universelle Gravitationskonstante [m³/(kg*s²)]=[N m²/kg²]
' A Beschleunigung Sonne schwerer y Einschussgeschwindigkeiten aumenta!
n&=12' Max.Anz. Körper (unten en el Detalle definiert)
dec n&:declarar ax![n&],ay![n&],az![n&]'Errechnete Beschleunigungskomponenten
declarar x_neu![n&],y_neu![n&],z_neu![n&]'schrittpuffer como Zwischenspeicher
declarar vx_neu![n&],vy_neu![n&],vz_neu![n&]'schrittpuffer como Zwischenspeicher
'Daten: Name,  Masse, Durchmesser, Farbe&Helligkeit, Orts-    y  Geschwindigkeitskomponenten:
declarar m$[n&],m![n&],dm![n&],farbe&[n&],  x![n&],y![n&],z![n&],   vx![n&],vy![n&],vz![n&]
Goto "Daten_holen": weiter_hier:
n&=7' Beschränke el Sytem vorläufig en n Körper salvo el Sonne (Testphase)
var Nr&=-n&' = zeige Daten des Planeten Nr&; - = off

REPEAT

    inc m&

    whileloop 0,n&:i&=&Loop' Bajo Nutzung el Unabhängigkeit el Koordinaten: Für cada Körper...

        ax![i&]=0:ay![i&]=0:az![i&]=0

        whileloop 0,n&:j&=&Loop' summiere todos Beschleunigungsvektoren en, el por el Massen

            caso j&=i&:continue' aller ANDEREN Körper verursacht son:
            rr!=sqr(x![j&]-x![i&])+sqr(y![j&]-y![i&])+sqr(z![j&]-z![i&])' = Quadrat el Distanz

            if rr! > 1000000000' o. r(i)+r(j) = Kollision, en el más-Zweig a behandeln

                urrr!=1/(rr!*sqrt(rr!))' Kehrwert el dritten Potenz el Körperdistanzen [m]
                '(1 Potenz más que Gravitationsgesetz, en Richtungsvektor-Multiplikation a kompensieren)

            más

                'Hier: Division por 0 - Vermeidung por Ansatz uno rechnerischen Mindestdistanz
                urrr!=0' no v-Änderung

            endif

            ax![i&]=ax![i&]+( m![j&]*(x![j&]-x![i&]) )*urrr!*G!
            ay![i&]=ay![i&]+( m![j&]*(y![j&]-y![i&]) )*urrr!*G!
            az![i&]=az![i&]+( m![j&]*(z![j&]-z![i&]) )*urrr!*G!

        endwhile

        ' Einfluß el Beschleunigung en el Geschwindigkeit: a/2 *t^2 , con t = 1 sek restos a/2
        vx_neu![i&]=vx![i&]+ax![i&]*0.5' Puffer en vorzeitigen Einfluss a verhindern
        vy_neu![i&]=vy![i&]+ay![i&]*0.5
        vz_neu![i&]=vz![i&]+az![i&]*0.5
        ' Auswirkung el neuen mittleren Geschwindigkeiten en el Ortsveränderung:
        x_neu![i&]=x![i&]+vx_neu![i&]' s = s0 + Durchschnittl._V_unter_Beschleunigung * {t=1 sek}
        y_neu![i&]=y![i&]+vy_neu![i&]' Puffer en vorzeitigen Einfluss a verhindern
        z_neu![i&]=z![i&]+vz_neu![i&]

    endwhile

    Stelle_Situation_dar

    whileloop 0,n&:i&=&Loop' Alle Planeten: Umgreifen para el nächsten Iterationsschritt:

        x![i&]=x_neu![i&]
        y![i&]=y_neu![i&]
        z![i&]=z_neu![i&]
        vx![i&]=vx_neu![i&]
        vy![i&]=vy_neu![i&]
        vz![i&]=vz_neu![i&]

    endwhile

UNTIL &bucle

FIN

Proc Stelle_Situation_dar

    declarar r!,xx!,yy!

    whileloop 0,n&

        i&=&Loop
        r!=(1+dm![i&]*0.5)/(2500000+z_neu![i&])
        caso i&=0:r!=7'Zonnenradius sonst viel a groß
        xx!=(x_neu![i&])/(z_neu![i&]+579100000)
        yy!=(y_neu![i&])/(z_neu![i&]+579100000)
        usebrush 1,farbe&[i&]:usepen 0,1,farbe&[i&]*rnd(2)*(i& mod 11)
        ellipse xh&+xx!-r!,(yh&-yy!-r!) - xh&+xx!+r!+1,yh&-yy!+r!+1

    endwhile

    caso nr&<0:volver' -1 = no Daten Mostrar
    locate 1,1
    imprimir " a =",format$(fm$,ax![nr&]),format$(fm$,ay![nr&]),format$(fm$,az![nr&])
    imprimir " v =",format$(fm$,vx_neu![nr&]),format$(fm$,vy_neu![nr&]),format$(fm$,vz_neu![nr&])
    imprimir "xyz:",format$(fm$,x_neu![nr&]),format$(fm$,y_neu![nr&]),format$(fm$,z_neu![nr&])
    imprimir " ";m$[nr&]," ... Step",format$("000000",m&)',format$(" 0000;-0000",xh&+xx!),format$(" 000;-000",yh&-yy!)

ENDPROC

'{ Daten des Zolar-Systems, provisorisch a Zmars eingegeben
Daten_holen:
' Lugar y Geschwindigkeiten (z.B. al 1.1.2000 00:00 Uhr UTZ(=GMT) )
i&=0' Katalognummer 0..n&-1, 0 = Zentralgestirn
m$[i&]="Zonne"
m![i&]=val("1.989e38")' val("1.989e30") 'Masse en kg
farbe&[i&]=rgb(255,230,100)'Farbe * Helligkeit
dm![i&]=val("1391000000")' Durchmesser en m
x![i&]=val("0")
y![n&]=val("0")
z![n&]=val("0")
vx![i&]=val("0 m/s")
vy![i&]=val("0 m/s")
vz![i&]=val("0 m/s")
i&=1
m$[i&]="Zmerkur"
dm![i&]=val("12104000")' Durchmesser en m
m![i&]=val("4.867e24")' Masse en kg
farbe&[i&]=rgb(200,200,255)
x![i&]=val("-108200000000")
y![n&]=val("0")
z![n&]=val("0")
vx![i&]=val("0 m/s")
vy![i&]=val("-100000000 m/s")'val("0 m/s")
vz![i&]=val("1100     m/s")
i&=2'OK
m$[i&]="Zvenus"
dm![i&]=val("12104000")' Durchmesser en m
m![i&] =val("4.867e24")' Masse en kg
farbe&[i&]=rgb(200,200,0)
x![i&]=val("108200000000")
y![n&]=val("0")
z![n&]=val("0")
vx![i&]=val("0 m/s")
vy![i&]=val("100000000 m/s")'val("0 m/s")'val("0     m/s")
vz![i&]=val("5500     m/s")
i&=3' Mit Überraschung, así OK!
m$[i&]="Zerde"
m![i&]=val("5.972e24")'Masse en kg
dm![i&]=val("12742000")' Durchmesser en m
farbe&[i&]=rgb(150,200,255)
x![i&]=val("149600000000")
y![n&]=val(" ")
z![n&]=val(" ")
vx![i&]=val("0 m/s")
vy![i&]=val("183300000 m/s")
vz![i&]=val("6000  m/s")
'}
'{ Ausserhalb Erdbahn
i&=4
m$[i&]="Zmars"' Doppelüberraschung!!
m![i&]=val("639e21")'Masse
dm![i&]=val("6779000")' Durchmesser en m
farbe&[i&]=rgb(200,200,0)
x![i&]=val("227900000000")
y![n&]=val("0")
z![n&]=val("0")
vx![i&]=val("0  m/s")
vy![i&]=val("-183300000    m/s")
vz![i&]=val("2000     m/s")
i&=5
m$[i&]="Zupiter"
m![i&]=val("1.898e27")'Masse
dm![i&]=2*val("69911000")' Durchmesser en m
farbe&[i&]=rgb(200,150,80)
x![i&]=val("278500000000")' val("778500000000")'real
y![n&]=val(" ")
z![n&]=val(" ")
vx![i&]=val("0  m/s")
vy![i&]=val("-28330000    m/s")
vz![i&]=val("0     m/s")
' }
' {----------------------------Experimente de hier (n& erhöhen!) -----------------------
i&=6
m$[i&]="Zaturn"
m![i&]=val("568.3e24")'Masse
dm![i&]=val("58232000")'*2 Durchmesser en m
farbe&[i&]=rgb(243,0,200)
x![i&]=0' val("1433000000000")'real
y![n&]=val("1333000000000")
z![n&]=val("29999")
vx![i&]=val("0  m/s")
vy![i&]=val("-18330000    m/s")
vz![i&]=val("1555   m/s")
i&=7
m$[i&]="Zuranus"
m![i&]=val("568.3e24")'Masse
dm![i&]=val("8232000")' Durchmesser en m
farbe&[i&]=rgb(189,200,0)
x![i&]=val(" ")
y![n&]=val(" ")
z![n&]=val(" ")
vx![i&]=val("0  m/s")
vy![i&]=val("-8330000    m/s")
vz![i&]=val("-8330000    m/s")
i&=8
m$[i&]="Zneptun"
m![i&]=val("1.98934")' val("1.989e30") 'Masse en kg
farbe&[i&]=rgb(255,230,100)'Farbe * Helligkeit
dm![i&]=val("13910000")' Durchmesser en m
x![i&]=val(" ")
y![n&]=val("-13330000000")
z![n&]=val(" ")
vx![i&]=val("100000  m/s")
vy![i&]=val("0    m/s")
vz![i&]=val("0     m/s")
Goto "weiter_hier"
'}
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
14.05.2021  
 



Zum Experiment


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

603 Views

Untitledvor 0 min.
Stringray05.01.2022
Ernst21.07.2021
Uwe ''Pascal'' Niemeier13.06.2021
R.Schneider04.06.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie