programmier problem - SciFi-Forum

Ankündigung

Einklappen
Keine Ankündigung bisher.

programmier problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    programmier problem

    tach.. ich hab entweder ein kleines problem oder nen kräftigen denkfehler

    ich will ein kleines progschreiben in dem berechnet wird wie ein körper sich auf einer kreisbahn hält... dazu will ich ausgeben wo sich der körper auf dem kreis befindet und wie schnell dieser ist....

    die berechnung selber sind kein problem, die formeln dazu hab ich... nur die ausgabe ist ein problem...da wir ja nun mal mit digital-rechnern arbeiten, muss ich da das ganze in zeitabschnitte einteilen??? wenn ja ist das etwas ungünstig, da sich ja die position kontinuierlich ändert.. genau wie gegebenenfalls die geschwindigkeit....

    außerdem würden die werte ja vom orginalen abweichen wenn ich das einteile...

    ich hoffe mir kann jemand helfen... danke schon mal...

    #2
    also so ganz verstehe ich dein Problem nicht Wenn du die Werte alle rein mathematisch per Formel ausrechnen willst, bekommst du doch auch genaue Endwerte, die du einfach ausgeben kannst.
    Oder willst du das ganze irgendwie grafisch darstellen?

    Oder willst du die Werte zu jedem Zeiptunkt ausgeben? Also nicht nur die Endwerte? Dann musst du natürlich ein Intervall festlegen, sonst bekommst du ja unendlich viele Werte
    "Steigen Sie in den Fichtenelch! - Steigen Sie ein!"

    Kommentar


      #3
      also das ganze soll eine art "simulation" für ein sonnensystem werden... wenn es nach mir geht kommt irgendwann auch mal ne grafik dazu, aber bis dahin will ich erstmal das er mir die werte ordentlich ausgibt...

      das problem ist aber nun das: wenn ich den planeten an eine anfangsposition setze, die eigengeschwindigkeit gebe, berechne ich damit die gravitation und die fliehkraft... das problem ist nun diese werte gelten aber nur genau für diesen punkt... d.h. ich müsste das intervall gegen 0 gehen lassen.. und das ist nun mal für einen "digitalrechner" unmöglich, wenn ich dies aber nicht mache weichen die bahnen vom realen ab...

      das einzigste was mir in den sinn gekommen ist, ist das ich andree berechnungen nehmen müsste.. den ganzen spaß also integrieren, was etwas komplizierter ist, aber dann eine brauchbare lösung liefert...


      <selbstgespräch> das muss ich mir nochmal durch den kopf gehen lassen... </selbstgespräch>

      Kommentar


        #4
        Wo ist das Problem die Formel 10 mal pro Sekunde zu berechnen und dann die Position immer auszugeben bzw. die Daten?

        Du kannst mit dem sowieso keine Echtzeitsimulation machen, da er selbst nur ne gewisse Anzahl an Rechenschritte pro Sekunde machen kann.

        Und mehr als 85 Frames brauchst du sowieso nicht zu erzeugen, weil die meißten Monitore sowieso nur 85 Herz haben.

        Kommentar


          #5
          es geht mir weniger um die darstellung, sondern darum, das wenn ich die bewegung der planeten zwischen 2 berechnungspunkten als geradlienige bewegung annehme weicht die bahn des planeten ab...

          überspitztes beispiel:

          beim hammerwerfen vollführt die kugel eine kreisbewegung d.h. in jedem moment ändert sich die bewegungsrichtung der kugel... wenn ich nun das intervall dieser kugel so wähle das die kugel innerhalb eines intervalls genau 90° zurücklegt, hätte ich 2 bewegungen berechnet: nämlich die der anfangsposition und die rechtwinklige dazu... das intervall ist also offensichtlich viel zu groß.. aber selbst wenn man das intervall wesentlich kleiner wählt, gibt es abweichungen und genau das will ich verhindern.. (sonst bekomm ich nie eine stabile planetenbahn hin)

          Kommentar


            #6
            Die Antwort lautet wohl: Differentialgleichungen. Damit kannst du die Änderung der Größen eines phys. Systems berechnen (a zB).
            können wir nicht?

            macht nix! wir tun einfach so als ob!

            Kommentar


              #7
              Programmtechnisch gesehen, kannst du das mit der Diffgleichung in einer Matrix füllen (Array[x][x]). Dann hast du immer die Positionen und deren erste Ableitung
              Ich wäre dir gefolgt mein Bruder, mein Hauptmann, mein König.

              Kommentar


                #8
                Also : Der Erdmittelpunkt (x0,y0) zieht einen Satelliten ( Abstand r, Geschwindigkeit : vx,vy, Koordinaten auf dem Bildschirm : x,y ) an ( zum Zeitpunkt t=0 ).
                Die Zeit t läuft wie " for t=0 to 10000 ...... next ".
                Sir Isaac N. sagte 1765 :
                Die Erdanziehungskraft K ( = kx,ky !!!! ) ändert in jedem Zeitabschnitt
                delta(t) ( ist hier 1 !!!!) sowohl vx als auch vy.
                Wie Jahrtausedgenies nun mal sind, sagte Sir Newton :
                K ist gleich 1 durch r*r , und r*r ist ind einer Ebene gleich x*x + y*y !!!
                +++++++++++
                UND: Weil K, die immer in Richtung x0,y0 zeigt, vx und vy ändert,
                mußt Du ganz einfach den x-Anteil von K in jedem Zeitabschnitt
                zu vx und den y-Anteil von K zu vy dazuaddieren.
                Um die Anteile rauszubekommen, setze :
                Kx/Ky = x/y und Kx*Kx + Ky*Ky = K*K !!!!
                Wenn Du die erste Gleichung nach Kx auflöst und in die zweite einsetzt,
                kannst Du Ky erhalten ( Wurzelziehen ), und umgekehrt.
                +++++++++++
                Ich bin sicher, daß alle im scifi-forum
                vergessen haben, daß ihre Lehrer in der Schule gesagt haben :
                x = vx*t und y = vy *t ................

                Kommentar


                  #9
                  Nachtrag zu den Planetenbahnen :
                  1) r*r = ( x - x0 ) * ( x - x0 ) + ( y - y0 ) * ( y - y0 ), r ist die Wurzel daraus.
                  2) t, x, y, vx, vy sollten irgendeinen Anfangswert haben. ( Kreisbahnen
                  gibt es nur bei bestimmten Werten, sonst gibt's Ellipsen oder Parabeln.
                  Hat die Erde um x0, y0 einen bestimmten Durchmesser, kann es natürlich
                  auch einen Crash geben.
                  3) Jeder Wert kann ( sollte ) mit einer Konstante multipliziert werden.
                  ( z.B. ist K = g * m1*m2/r/r , in meinem Beispiel ist m1 ( Erde )sehr groß, m2 ( Satellit ) sehr klein, speziell gilt : Änderung von vx ist Kx/m2
                  und Änderung ( Offset ) vy=Ky/m2. Für die Erde ist wegen der großen Masse m1 die Geschwindigkeitsänderung so gut wie 0, also für ein kleineres Programm =0.

                  4) Ein bekannter alter Professor von der TU Mü hat noch Reibung eingebaut,
                  er nimmt aber erst die analytischen Differentialgleichungen und diskretisiert sie dann. ( kommt auf dasselbe heraus, aber Reibung kann Turbulenzen haben, und die Diskretisierung ist wegen der endlichen Genauigkeit des Mathe-Coprozessors eine Wissenschaft für sich. Buch : Numerik ).
                  Angeblich hat er der NASA geholfen.

                  5) Von Interesse ist das Dreikörperproblem, mit 3 etwa gleich großen Massen.
                  ( Wer kennt den Poncaire-Punkt ? ( Erfindung der Chaos-theorie. ))

                  P.S. In einem Forschungslabor von IBM soll 1999 das 27-Körperproblem gelöst worden sein.

                  Kommentar


                    #10
                    Zusatz:

                    1) auch möglich : for tt=1 to 10000 : t=tt/1000 ...........next

                    ( delta(t) muß nicht 1 sein )

                    2) neues x ist altes x plus vx*t
                    also: x=x+vx*t (der wichtigste Schritt im Programm)

                    genauso y, vy

                    Kommentar


                      #11
                      Liebe Einstein007 - Gegner, ihr habt recht : ich habe wieder mal BullSh.... gebaut :

                      IM PLANETENPROGRAMM GIBT ES KEINE ZEIT t !!!!

                      Die Schleife " for t=1 to 10000 ........... " dient nur dazu, Bewegung zu simulieren, es genügt, ein delta(t) festzulegen, etwa dt=0.01 und
                      das neue x als altes x + vx*dt zu sehen. ( Für dt=1 gilt x=x+vx ).

                      Ich möchte ausdrücklich darauf hinweisen, daß es in meinen Ausführungen zum Fußballuniversum auch keine Zeit gibt !!!!
                      Man denke an die Fabel " Achilles und die Schildkröte ".

                      Oft denke ich noch an meine alte Geliebte Marion, die mir immer sagte : " Halt die Welt an, stopp die Zeiger der Uhren ...... ".

                      Kommentar


                        #12
                        Also, ich finde, ich hab das doch gut erklärt (??!?).
                        Ich würd's selber gern progr., bräuchte aber 2 Wochen dazu.
                        ( Übrigens : Clinton hatte mit seiner Praktikantin 10x mehr S als ich mit M )
                        (<> SM !!!).
                        +++++++++++++
                        Da wir hier im scifi sind, hoffe ich, daß bekannt ist, daß bei allen Science Fiction - Serien ausgebildete Physiker mitarbeiten.

                        Deshalb will ich noch kurz ein Beispiel zur Schwerkraft ( die dasselbe wie die Fliehkraft ist ( stimmt's ? ) ) anfügen :

                        In der Raumstation ( zur Zeit ist ein Landsmann oben ( <> Volksgenosse ) )
                        seien bei einem 30 cm großen Würfel an 4 Seitenflächen senkrecht Elektromotoren angebracht. Was passiert, wenn der Strom ( Batterien )eingeschaltet wird ?

                        Kommentar


                          #13
                          Ich glaub du stehst auf Selbstgespräch, oder?
                          Für Ergänzungen haben wir übrigens eine EDIT-Funktion.
                          "Steigen Sie in den Fichtenelch! - Steigen Sie ein!"

                          Kommentar


                            #14
                            gut daß du mich gewarnt hast - bei 6 kindern kriegt man
                            monatlich 2000 euro kindergeld, und ich brauch im grunde dieses geld doch.

                            Kommentar


                              #15
                              Zitat von Einstein007
                              gut daß du mich gewarnt hast - bei 6 kindern kriegt man
                              monatlich 2000 euro kindergeld, und ich brauch im grunde dieses geld doch.
                              war das der Bruder?
                              "Unterdrücke nie mit Gewalt Überzeugungen, die du für verderblich hälst, sonst unterdrücken diese Überzeugungen dich. " - B. Russell, 10 Gebote eines Liberalen.

                              Kommentar

                              Lädt...
                              X