physikproblem, federschwingungen und massentraegheit (war: Brauche ebenfalls Hilfe)



  • Ich würde die Simulation erst einmal mathematisch fertig stellen.
    Sicher weis man dann nicht ganz sicher, dass aless funktioniert ohne visuelle Darstellung aber das ist für den Anfang wwurscht.

    Wenn du glaubst, die mathematische Simulation erledigt zu haben kannst du einfache Prozeduren zum Zeichnen entsprechender federn und Kugeln schreiben und dann diese Zeichenprozeduren mit den errechneten Werten aus der mathematischen Simulation füttern.

    Sollte eigentlich sehr einfach sein. Zwar einfach aber zeitaufwendig, da die GDI schon Erfahrung erfordert, wenn sie nicht zu viel Zeit rauben soll und du scheinst ja nicht besonders erfahren zu sein.

    MfG.



  • Wie sagte es der alte Newton actio=reactio ? o.s.ä.

    -k*x = m*a

    Deine Kugel hängt an zwei Federn... und hat ein bestimmtes Gewicht...



  • Danke für die Antworten, aber weiterhelfen tun sie mir nicht wirklich.
    Mir würde es schonmal helfen, wenn ich nur mal was in der Dialogbox hätte, wie z.B. die Kugel an der Schnur.
    Könnt ihr mir da mal helfen?

    Ist es denn möglich, den Federeffekt so grafisch darzustellen?



  • Wie dir auch alle anderen es schon gesagt haben: Versuch erst mal die Mathematik hinzubekommen. Was nützt dir ein Strich mit einem Kreis auf einem Fenster? Du zäumst das Pferd von hinten auf.



  • Nimm z.Bsp. den Borland Builder und mal dir einen Kreis auf ein Image... 3 Minuten fertig... Nun zu deinem Problem: Du brauchst eine Bewegungsgleichung! Die erhälts du über die Kräfte die auf deine Masse wirken + (evtl. eine Kraft die dein System fremderegt). Ich werde sie dir aber hier nicht hinschreiben, weil sie das Kernelement deines Problems ist. Mach dir Gedanken und schreibe deine Ideen auf, beim Fehlerkorrigieren wird dir dann jeder gerne weiterhelfen.



  • Was würde mir denn die Mathematik nutzen, wenn ich nichtmal weiß, ob sie richtig ist? Im Prinzip ist es doch egal, wo man da anfängt und ich würde gern erstmal was sehen, bevor ich mit einer Formel experimentier.

    Ihr könntet doch auch mal eine Ausnahme machen und mir so helfen, oder?



  • Dann wirf etwas ins Feld!!! Bin schließlich kein Hausaufgabenlöser von dem du die fertige Aufgabe geliefert bekommst. Ein paar Tips hast du schließlich schon.



  • So, da bin ich wieder.
    Ich hab jetzt mal soweit alles gemacht und jetzt stecke ich in der Animation fest. 😞
    Ich wollte mal die Kugel hin und her schwingen lassen, leider klappt das nicht.

    Könnt ihr mir da bitte helfen?
    Was brauch ich, damit die Kugel hin und her schwingt?



  • Du brauchst einen SetTimer-Aufruf (mit ca. 50 ms) und dann noch jemand der in der OnTimer (bzw. WM_TIMER) ein Invalidate aufruft.
    Und in der OnPaint (bzw. WM_PAINT) musst Du jetzt einfach die aktuelle Zeit erfragen und dann abhängig von der Uhrzeit (oder GetTickCount, wenn Dein Programm nicht länger als 49 Tage läuft) dann die Kugel Zeichnen...

    Natürlich musst Du nicht die Echtzeit nehmen sondern kannst Dir auch eine virtuelle Zeit bei jedem WM_TIMER hochzählen und daraus dann die Position der Kugel zeichnen lassen.



  • @günni55: Du trampelst auf der Stelle!



  • Jochen Kalmbach schrieb:

    Du brauchst einen SetTimer-Aufruf (mit ca. 50 ms) und dann noch jemand der in der OnTimer (bzw. WM_TIMER) ein Invalidate aufruft.
    Und in der OnPaint (bzw. WM_PAINT) musst Du jetzt einfach die aktuelle Zeit erfragen und dann abhängig von der Uhrzeit (oder GetTickCount, wenn Dein Programm nicht länger als 49 Tage läuft) dann die Kugel Zeichnen...

    Natürlich musst Du nicht die Echtzeit nehmen sondern kannst Dir auch eine virtuelle Zeit bei jedem WM_TIMER hochzählen und daraus dann die Position der Kugel zeichnen lassen.

    Einen Timer habe ich, nur fliegt die Kugel nicht in der Bahn, wie ich sie gern hätte. Sie fliegt in eine Richtung, dann springt sie wieder zurück.

    helmuth schrieb:

    @günni55: Du trampelst auf der Stelle!

    Ich frage mich, was die Kommentare sollen.
    Wenn du mir nicht helfen willst, dann spar dir die Zeit und mach was sinnvolles.



  • günni55 schrieb:

    Einen Timer habe ich, nur fliegt die Kugel nicht in der Bahn, wie ich sie gern hätte. Sie fliegt in eine Richtung, dann springt sie wieder zurück.

    Dann scheinst du irgendwo formelmäßig einen Fehler gemacht zu haben - ohne Code aber schwer, genaueres zu sagen...



  • Also wenn du das richtig schön grafisch und physikalisch darstellen willst, dann musst du da mit OpenGL rangehen. Es gibt ne menge sehr guter NeonHelium-Tutorials (auf deutsch: www.codeworx.org/opengl_tuts.php oder auf englisch: http://nehe.gamedev.net/) die sich alle.

    Skeptisch? Schau dir einfach mal "Lesson 40"(englisch) an und du wirst verstehen. 😉

    Es gibt noch eine möglichkeit schnell grafisch physikalisch richtige Animationen zu kreieren und das am einfachsten und schnellsten mit QBasic(ich schäme mich jetzt schon ein bisschen das hier überhaupt erwähnt zu haben) Wenn du trotzdem interressiert bist: prometheuz@web.de



  • Normalerweise wird sowas (Feder-Masse-Dämpfer-System) mit Hilfe von Differentialgleichungen beschrieben und ausgerechnet.

    In Differentialgleichnungen steht z.B. nicht die Beschleunigung sondern die Ableitung der Geschwindigkeit oder die zweite Ableitung des Weges. Wenn man das kann, ist es nicht weiter schwer. Man sollte allerdings damit umgehen können, sonst bringt einem die Formel nichts.

    Ich hoffe du kommst weiter

    Christian


Anmelden zum Antworten