# Kollision und Physik



## GodWar (28. Mai 2008)

Guten Tag!

Mal spezielle zu VB!

Ein Testbild...

http://img140.imageshack.us/img140/938/77322323sj2.gif

Wie Ihr seht 3 Kugeln mit Koordinaten. Ich möchte ein wenig üben und probieren was Kollision und Physik angeht. Tabellenbuch und Physikbücher habe ich zur Hand. Meine Fragen wären A: Wie berechne ich die Kollision von Objekten (Kugeln, Dreiecken, Rechtecken etc ...) untereinander? B: Was brauche ich für Variablen damit diese Physikgerecht fallen und kollidieren springen etc... Je nach Material. Ein paar Links egal ob Deutsch oder Englisch wären nicht schlecht. Wenn möglich auch in VB erklärt! Ich habe viele Formeln gesehen aber keine richtig verstanden, da ich keine Erklärung gefunden habe wieso ich was brauche. 

Vielen Dank!


----------



## Rockstady11 (28. Mai 2008)

Hi,

ich weiß nicht, ob es an der Firewall (auf Arbeit  ) liegt, aber auf jeden Fall sehe ich dein Bild nicht.
Vielleicht könntest du noch eine Erklärung abgeben, was du mit den Kugeln machen willst bzw. um was es so gerade geht. Des ist wichtig, ob du z.B. Reibung brauchst usw.

Mfg


----------



## GodWar (28. Mai 2008)

Ich habs mal bei mir auf den Server gepackt:

http://www.marius-stiller.de/vb.gif

Es geht mir nicht nur um Kugeln! Dreiecke, Rechtecke, 5-Ecke etc ... Objekte halt. Zum Thema Reibung ... Klar hab auch schon im Buch nachgeschaut aber aber häng ich erstmal hinten ran. Wichtig wär mir erstmal, das die Objekte richtig fallen und abprallen an anderen Objekten wie es nach Newton richtig ist. Also sollte die Beschleunigung, Masse etc. berechnet werden!

Paar Beispiele:
http://youtube.com/watch?v=sTHoWaTNJiA
http://www.youtube.com/watch?v=b6HvIDt1VSU
http://www.youtube.com/watch?v=Cx5GBMybxXw


----------



## Rockstady11 (29. Mai 2008)

Die Videos kann ich leider nicht anschauen, da Youtube leider gesperrt ist.

Zum "richtig fallen" : Gravitationsgesetz, sollte nicht so das Problem sein, aber nur mit den Kugeln ist es bisschen schwer vorstellbar, für manche zumindest, denn welche Masse haben die z.B., usw.

Beschleunigung: F = m  * a

Abprallen würde ich erst mal nach hinten schieben, denn das ist schon ein bisschen höheres Level, zumindest, wenn du es physikalisch korrekt machen willst und es kann sein, dass das über die Fähigkeiten von manchen hinausgehen oder sich der Aufwand gar nicht lohnt. Was hast du damit insgesamt eigentlich vor, wenn man fragen darf.


----------



## GodWar (29. Mai 2008)

Die Videos gibts hier nochmal als MOV

http://wiki.slembcke.net/main/published/Chipmunk

Die Videos zeigen eigendlich was ich machen möchte! Speziell VOR habe ich nichts! Ich mach momentan eine ausbildung zum TZ im Maschinenbau. Momentan behandeln wir auch Kräfte etc.. Und Physik ansich ist schon sehr interesseant. Momentan möchte ich einfach das eine Kugel Physikgerecht fallen und am Boden oder an einer Schräge abprallen. Nicht nur am Boden auch unter sich alse müssen die Kugeln wenn sie aufeinanderprallen ja auch Kraft weitergeben. Wie beim Pool halt.


----------



## Rockstady11 (29. Mai 2008)

Dann setz des mit dem Fallen mal um und schau wie weit du insgesamt kommst und dann kannst deine Fragen zur Programmierung stellen, weil für Physik denke ich mal, gibts genügend andere treffende Seiten, wo du sicherlich mehr erfahren kannst.


----------



## Mihawkler (31. Dezember 2008)

Also extra wegen dieser Sache angemeldet.
Ich beschäftige mich auch schon sehr lange mir diesem thema.
für die erdbeschleunigung braucht man gar keine masse der kugel!

Erdbeschleunigung    9.81 m/s² 
ich hab das mal umgerechnet und das ergiebt

5 Twips/tausenstelsekunde²    das gilt für eine größe von 500Twips,also

du brauchst ein Shape (kugel, 500lang,500breit)

dann eine variable

Dim vy as Double

bei form load ereigniss 

vy = 0

und einen timer auf intervall 1

vy = vy + 5
Shape1.top = Shape1.top + vy / 3.98

das wars auch schon(jetzt fällt die kugel nach unten)

jetzt machen wir die kollision mit der unterseite des fensters

im gleichen timer

If Shape1.top > Form1.scaleheight - Shape1.height then
Shape1.top = Form1.scaleheight - Shape1.height
vy = -vy / 1.5
end if

Das 1.5 vor dem end if   giebt die weite an, die das objekt wieder nach oben springt
um so größer, desto weniger hoch

mehr braucht man eigentlich nicht
mach erst mal das, damit du es verstehst
wenn jemand mehr wissen will kann ich noch erklären
wie man auch noch eine horizontale bewegung programmiet
oder wie mehrere kugel miteinander kollidieren
viel spaß


----------



## fredlllll (9. Januar 2009)

will noch schnell was einwerfen:

einfallswinkel = ausfallswinkel
sinus und cosinus helfen dir dabei

er hat ja im bild eine schiefe Gerade. deren Winkel kann er mit dem Tangens errechnen. solltest du es soweit treiben wollen *ggg; das alles grad in der schule machen muss; gute miene zum bösen spiel*


----------

