Simple Ballphysik korrekt?

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Blitzkrieg Bop

Betreff: Simple Ballphysik korrekt?

BeitragDi, Feb 15, 2005 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, was würdet ihr sagen, ist meine Ballphysik in folgendem Code korrekt oder würdet ihr sie als falsch ansehen?
Meiner Meinung sollte sie korrekt sein, gibt aber auch Gegenstimmen!
Also, lasst mal hören!

http://manualsworld.de.vu//Stu...r%20sto%df(ohne%20winkel%e4nderung).exe

MFG
~ Hey Ho Let's Go ~
 

Hot-Bit

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragDi, Feb 15, 2005 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hoi.

Also ich würde sagen, die ist nicht korrekt.

Toni
... ..... .i.. ...

***
Sieger des BB-Gameboy-Contest 2004
Sieger des Blitzbaster 2D-Minigolf-Contest 2005
***
 

.:_]TRaSh

BeitragDi, Feb 15, 2005 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Kommt aufs Material der Bälle und des Untergrundes an, ich gehe jetzt mal von Billiard aus..

Ich finde die letzte Kugel rollt viel zu lange aus, ansonsten passt das schon in etwa.
[20:17] IMurDOOM: hm irgendwie is die mitte des viehs kaputt
[20:17] TRaSh: ein bisschen
[20:18] DarkAngel: es tut mir irgend wie leid

rambo256

BeitragDi, Feb 15, 2005 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ihr müsst auch beachten,das das unterschiedliche Massen sind;)

Also mir kommtse auch ein wenig unecht vor,aber das kann man lösen,indem man die einheiten etwas anders festlegt.
Ansonsten haste gut den Stoff aus der 11-ten angewandt Wink
Asus F53z

Das Leben ist eine reine Konkatenation...
 

NetPad

BeitragDi, Feb 15, 2005 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
also die wechselwirkung ist soviel ich sehen kann, korrekt. leider hast du wohl keinen luftwiderstand beachtest. multizipliere einfach die variable v(geschwindigkeit) mit einer konstanten 0 < k < 1.

grs NP

//edit: falls ich dazu komme, fasse ich den aktuellen stoff über wechselwirkungen im physik unterricht zusammen. einige kennen das vielleicht noch nicht.
 

Blitzkrieg Bop

BeitragMi, Feb 16, 2005 0:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja richtig, ich vergaß darauf hinzuweisen, das Reibung und Luftwiederstand vernachlässigt sind. Und Rambo hat Recht, auf die Massen kommt es an. Sollte also in etwa stimmen, finde ich Confused
Andere Meinungen wie immer gefragt.
~ Hey Ho Let's Go ~

Spikespine

BeitragMi, Feb 16, 2005 12:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch, das sieht, wie ich finde, richtig aus: die schwere Kugel trifft auf die leichten, die dann eine höhere Geschwindigkeit haben.

blitzmaster

BeitragMi, Feb 16, 2005 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde die letzte Kugel rollt zu lange aus Wink
***************
Blitzmaster
 

Blitzkrieg Bop

BeitragMi, Feb 16, 2005 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
@blitzmaster:
Toll, wie soll sie auch aufhören zu rollen, wenn, wie oben beschrieben, keine Reibung und Luftwiederstand berücksichtigt wurden? Rolling Eyes
~ Hey Ho Let's Go ~
 

Hot-Bit

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragMi, Feb 16, 2005 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.

Und ich sage noch einmal, das kann nicht stimmen.

Wieso sollte die oberste Kugel so schnell sein ?
Nur weil sie es eilig hat,nach hause zu kommen ? Smile

Also: nicht korrekt !

Toni
... ..... .i.. ...

***
Sieger des BB-Gameboy-Contest 2004
Sieger des Blitzbaster 2D-Minigolf-Contest 2005
***

Spikespine

BeitragMi, Feb 16, 2005 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
ich würde sagen, da es sich wohl um einen elastischen stoß handelt, wird die leichte Kugel schneller als die schwere.
Wären beide Kugeln gleich schwer, so müsste die eine stehen bleiben und die andere mit der gleichen geschwindigkeit weiterrollen.
 

Hot-Bit

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragMi, Feb 16, 2005 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hoi.

Hmm, wahrscheinlich bin ich zu blöd dafür !

Ich kapiere das nicht.
Wenn also die oberen Kugeln immer leichter werden, und immer von einer unteren angestoßen werden, müßten die dann irgendwann Licht-Geschwindigkeit erreichen ?

Das kann nicht sein !

Also könnte mir das mal einer erklären ?

Danke, Toni
... ..... .i.. ...

***
Sieger des BB-Gameboy-Contest 2004
Sieger des Blitzbaster 2D-Minigolf-Contest 2005
***
  • Zuletzt bearbeitet von Hot-Bit am Mi, Feb 16, 2005 23:19, insgesamt einmal bearbeitet

Mo

BeitragMi, Feb 16, 2005 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm erklären kann ich es auch nicht aber da muss ich Hot-Bit recht geben... die obere Kugel haut viel zu schnell ab... auch wenn die "Antoßkugel" schwerer ist, bekommt der obere Ball nie solch ne Geschwindigkeit draufgepackt...
es sieht halt ein bischen unrealistisch aus...

ach ja...
da ich eher ein visueller Typ bin, finde es auch anschaulicher, wenn die Kugeln größer (schwerer) oder kleiner (leichter) sind, als mit zahlen... ich glaube dann sieht man auch den Unterschied besser (also ich zumindest)..

...auch wenn die obere Kugel ein Gummiball sein soll, glaube ich nicht, dass der so krass auf den lahmen Stoß reagiert

Gruß Mo
500 Euro Studiengebühren... ich glaub ich zieh in den Wald!!!

Eine Floßfahrt die ist lustig... *sing* Wink
 

Blitzkrieg Bop

BeitragMi, Feb 16, 2005 23:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Spikespine hat Recht, es handelt sich sicher um einen elastischen Stoß.
Ich errinnere mich an die "Klick-Klack" Maschine, da berührt die erste Kugel die 2., der Impuls wird durch weiter Kugeln geleitet und am Ende bekommt die letzte den Impuls und bewegt sich dadurch.
Aber ehrlich gesagt bin ich mir mittlerweile auch nicht mehr so sicher! Könnte ich die Kugeln anders anordnen oder Masse verändern, um klarheit zu schaffen!?

MFG
~ Hey Ho Let's Go ~

Spikespine

BeitragDo, Feb 17, 2005 10:03
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab mir das hier noch nicht näher angesehen, aber vielleicht schafft es abhilfe...
http://de.wikipedia.org/wiki/S...8Physik%29
 

NetPad

BeitragDo, Feb 17, 2005 14:30
Antworten mit Zitat
Benutzer-Profile anzeigen
würdet ihr mir zustimmen, dass dieses beispiel hier korrekt ist?

//edit link wurde gelöscht. siehe source weiter unten

luftwiderstand=1 <-- kein widerstand
luftwiderstand=0 <-- keine bewegungen möglich

grs NP
  • Zuletzt bearbeitet von NetPad am Do, Feb 17, 2005 15:30, insgesamt einmal bearbeitet
 

Hot-Bit

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragDo, Feb 17, 2005 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hoi.

Was soll denn das ?

Bei mir funzt das nicht !

Toni
... ..... .i.. ...

***
Sieger des BB-Gameboy-Contest 2004
Sieger des Blitzbaster 2D-Minigolf-Contest 2005
***
 

NetPad

BeitragDo, Feb 17, 2005 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
was funktioniert nicht? das downloaden? das ausführen?

bei mir funktioniert alles gut.

grs
 

Hot-Bit

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragDo, Feb 17, 2005 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hoi.

Ich sehe hier nichts, außer einem schwarzem Screen !

Und unterbrechen kann ich auch nicht mit Escape.
Wenn schon was bereit stellst, dann so, daß man ohne weiteres aus dem Prog kommt, und vielleicht noch, daß man etwas sieht Smile

Toni
... ..... .i.. ...

***
Sieger des BB-Gameboy-Contest 2004
Sieger des Blitzbaster 2D-Minigolf-Contest 2005
***
 

NetPad

BeitragDo, Feb 17, 2005 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
hmmmm...versteh ich nicht. eigentlich sollte bevor überhaupt ein schwarzer screen kommt eine eingabeaufforderung kommen. die kommt bei mir auch.

dann gebe ich halt einfach den source Very Happy :

//edit source geändert

Code: [AUSKLAPPEN]

graphics 640, 480, 32, 1

timer=CreateTimer(30)
circle=CreateImage(30, 30)
SetBuffer ImageBuffer(circle)
Color 180, 0, 0
Oval 0, 0, 30, 30, 1

Type kugel
   Field x
   Field y#
   Field v#
   Field m
End Type

For i=0 To 1
objects.kugel=New kugel
objects\x=300
objects\y=300+i*100
objects\v#=0
Next

objects.kugel=First kugel
objects\m#=Input("Masse der ersten Kugel? Empfehlung: 1 bis 6 ")
objects.kugel=After objects
objects\m#=Input("Masse der zweiten Kugel? Empfehlung: 1 bis 6 ")
luftwiderstand#=Input("Luftwiderstand? Empfehlung: ca. 0.95 ")

SetBuffer BackBuffer()

While Not KeyHit(1)
WaitTimer(timer)

Text 10, 10, "Rechter Mausklick --> Ball1 wird nach unten beschleunigt"
Text 10, 30, "Linker Mausklick --> Ball2 wird nach oben beschleunigt"

If MouseHit(1) Then
objects.kugel=Last kugel
objects\v#=-10
ElseIf MouseHit(2) Then
objects.kugel=First kugel
objects\v#=10
EndIf

objects.kugel=First kugel
objects\v#=objects\v*luftwiderstand
x1=objects\x
y1=objects\y
v1#=objects\v
m1#=objects\m
objects.kugel=After objects
objects\v#=objects\v*luftwiderstand
x2=objects\x
y2=objects\y
v2#=objects\v
m2#=objects\m

If ImagesCollide(circle,x1, y1, 0, circle, x2, y2, 0) Then
objects.kugel=First kugel
objects\y=objects\y-objects\v
If v1#^2>v2#^2 Then
objects\v#=(m1-m2)/(m1+m2)*v1#
ElseIf v1#^2<v2#^2 Then
objects\v#=(2*m2)/(m2+m1)*v2#
EndIf
objects.kugel=After objects
objects\y=objects\y-objects\v
If v1#^2>v2#^2 Then
objects\v#=(2*m1)/(m1+m2)*v1#
ElseIf v1#^2<v2#^2 Then
objects\v#=(m2-m1)/(m2+m1)*v2#
EndIf
EndIf

objects.kugel=First kugel
objects\y=objects\y+objects\v
DrawImage circle, objects\x, objects\y
Text 10, 60, "Ball1 Trägheit: "+objects\m
Text objects\x, objects\y, "1"
objects.kugel=After objects
objects\y=objects\y+objects\v
DrawImage circle, objects\x, objects\y
Text 10, 75, "Ball2 Trägheit: "+objects\m
Text objects\x, objects\y, "2"

Flip
Cls
Wend

End


er ist noch keine schönheit, aber er funktioniert (bei mir...)

grs NP
  • Zuletzt bearbeitet von NetPad am Do, Feb 17, 2005 16:24, insgesamt 3-mal bearbeitet

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group