Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also Respekt mein guter! Da hast du dir ja mal ne nicht ganz Oberflächliche Aufgabe ausgesucht. Wenn du denn Code vernünftig aufbaust (Mit Newton und vor allem OpenGL hast du ja gute Vorbilder) kann man damit vielleicht sogar arbeiten.
Der hintergrund deiner Forschung/Arbeit wird dir bei einem Studium im Bereich Maschienenbau bzw. Die Informatikseite des Maschienenbaus oder Physik sicherlich weiterhelfen.
Also Respekt nochmal. DIe Aufgabe is bestimmt sehr heftig und Zeitintensiv.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Mein Vorteil ist denke ich, dass mir auch Komplexere Physikalische probleme leicht von der Hand gehen (Ich werde dass denn auch studieren).
Vom Aufbau einer professionellen Engine hingegen habe ich überhaupt garkeine Ahnung... Das ganze wird also eventuell sehr unkonventionel. Habe aber schon mehrere Größere programme mit vergleichbarem Umfang geschrieben.
Aber ich werde mir sehr viel Mühe geben, dass überschaubar und verstämdlich zu gestalten.
Ausserdem sind schnelle Lösungen von Kollisionsabfragen wirklich schwierig finde ich. Ich werde daher zunächst nur Kugeln als Primitiven nehmenm, da ich nicht einfach Codeteile ohne Verständniss übernehmen möchte (Mann kann dann mehrere Kugeln zu einer "Hülle" kombinieren). Als nächstes wären dann Zylinder und solche zum Kreis gedrehten Zylinder realistisch und sinnvoll denke ich (Und Boxen würde ich eigentlich gerne intigrieren).
Naja wird halt nicht so umfangreich wie Newton.
Ich bin aber schon selbst gespannt, wie gute performance ich erreichen werde. Morgen werde ich mich an die ersten Zeilen der Physik-Engine machen (der Aufbau u.s.w sind schon weitesgehend durchgeplahnt).
_________________ Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de
Ich bin auch mal positiv gespannt auf die Ergebnisse und hoffe das man auch Boxen und den typischen Kistenstapel sehen wird. Sicherlich eine gute zusätzliche Lernleistung sich noch in der Schule mit diesem nicht ganz einfachen Thema zu beschäftigen.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Zitat:
is zwar keine newton ....
Klingt bisl abwertend Aber ich weiß wie ers meint...
Also ich bin auch recht angetan von dem was du schreibst...Ich hab mich zwar mit Physikengines bisher noch gar net beschäftigt aber schonmal DaumenHoch für die Anstrengungen, die du da treibst.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Dankeschöööön.
Ich hoffe, dass ich bald ne Demo drin habe, sonst bekommt mann ja eh schwer nen eindruck.
Und ich glaube, wenn ich mal Zeit habe, muss ich mir Newton mal angucken
_________________ Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de
Also die Demo sieht echt gut aus.
Was ich ziemlich erstaunlich finde ist das die Framerate ziemlich Konstant ist.
Streß test 1 und 2 laufen bei mir mit 34,88984954 fps (schwankungen in den Kommastellen)
Selbst beim Aufprall ändert sich absolut nichts an den fps
Kann natürlich auch daran liegen das die CPU bei der Demo mit nicht viel mehr belastet ist
Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Also die CPU dürfte konstant bei 100 % laufen
Mann kann natürlich auch einen Rechenschritt pro Bild, also bei 35 fps 35 Rechenschritte berechnen lasse.
Aber, da meine Kollisionsberechnung sehr kleine Zeitschritte verlangt, habe ich es in der Demo so gelöst, dass das Programm nach jedem Frame (anhand der gemessenen Rechen und Renderzeiten) abschätzt, wie viele Rechenschritte es machen muss, damit der nächste Frame exakt 1/35 Sekunde dauert.
Es werden also Pro Bild je nach CPU und Scene zwischen mehreren 1000 oder halt nur 5 oder 20 Rechenschritte ausgeführt (mal die FPS Zahl macht entsprechend viele Rechenschritte für die Physik-Engine pro Sekunde).
Ein Rechenschritt besteht aus zwei Zyklen:
1. Berechnung aller momenthan wirkenden Kräfte und Drehmomente (durch Kollision, Gravitation, Reibung usw)
2. Berechung der neuen Geschwindigkeiten
(v(t+1/2*dt)=v(t-1/2*dt)+dt*a(t))
und der neuen Positionen
(s(t+dt)=s(t)+v(dt+1/2*dt)
...
...
(Dazwischen könnte der Benutzer beliebige zusätzliche Kräfte "manuell" auf die Körper wirken lassen).
Also ich finde deine Engine hat sehr gute Ansätze, und läuft auf meinem PC zimlich schnell.
Wie ist das den gedenkst du später einmal die Engine als OpenSource ins net zu stellen oder in DLL's hochzustellen?
Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Die gibts bald als open source Wüsste nicht was dagegen sprocht, ich glaube nicht, dass da sachen drin stehen, die man sonst nicht finden könnte...
Außerdem finde ichs blöd, das es sowas sonst so selten open source gibt!
_________________ Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de
hab noch nen interessanten effekt für dich:
Auftrieb!
sieht hammer aus wenn z.B nen leeres metallfass ins wasser fällt (bei far cry kommt das immer so geil ^^)
auch angeseilte objekte machen bestimmt gut eindruck! (z.B pendel)
_________________ I'm not the signature, I'm just cleaning the floor...
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.