Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 29.03.2005, 23:05 Titel: Ball-Simulation |
|
|
Moin !
Sicher kennen alle von euch das Spiel "The Incredible Machine" von Sierra.
Ganz nettes Ding, kann viele schöne Vorgänge siumlieren. Ich wollt mir auch mal so was in der Art Proggen, verfüge aber leider nicht über das nötige mathematische Vorwissen. (In der 9. Klasse macht man echt nur Scheiße die kein Mensch braucht )
Kann mir jemand Informationen liefern, wie man a) Einen Springenden Ball und b) einen geworfenen Stein (der hinterher evtl. auch noch rumkullert und hüpft) simuliert ?
Gegeben sind
x-Position
y-Position
und beim Steinwurf zusätzlich noch
Winkel
Wurfgeschwindigkeit
Im Prinzip könnte ich das auch alleine, aber ich will dass es realistisch aussieht und deshalb müssen halt Faktoren wie Gravitationskonstante etc. berücksichtigt werden. Luftwiderstand muss net unbedingt berücksichtigt werden, wäre aber schön.
Hat jemand Infos dazu ?
Hab schon stundenlang nach "Wurfparabel" gegoogelt aber dort findet man nur immer saukomplizierte Dinger die alles andere als für die Verwendung in einem QB-Prog geeignet sind..  _________________
 |
|
Nach oben |
|
 |
code
Anmeldungsdatum: 19.01.2005 Beiträge: 154
|
Verfasst am: 29.03.2005, 23:13 Titel: |
|
|
ich weiß die formel nicht auswendig, aber ich würd mal im physikbuch unter schiefer wurf schauen
und zum springenden ball, da brauchst du auch noch die beschleunigung nach unten sprich die erdanziehung. mit g=10 m/s²
S= zurückgelegte Strecke:
S=0.5 *g*t²
wobei t= zeit |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 29.03.2005, 23:23 Titel: |
|
|
Hmmmm... ich hab da mal ne art Amiga-Bomber-Clone geschrieben. Da war ne ähnliche Situation.
Ich würd die Flugbahn als Parabel Simulieren.
Gegeben:
x => StartX
y => StartY
p => Schusskraft
a => Winkel
Errechne:
xs => Scheitelpunkt der Parabel X
ys => Scheitelpunkt der Parabel Y
xs = cos(a) * p
ys = sin(a) * p
(die eigentliche Gleichung für eine Drehungs-Abbildung um den Nullpunkt ist:
x' = cos(a) * x - sin(a) * y
y' = sin(a) * x + cos(a) * y
Habe sie hier nur leicht abgewandelt)
xs = xs + x
ys = ys + y
So. Jetzt hast du alles, um eine Parabel der Form
y = a*(x - xs) ^ 2 + ys
darzustellen.
Du musst dir nur noch a errechnen. Dazu stellst du einfach deine Gleichung um, denn a ist die einzige unbekannte:
a = (y - ys) / ((x - xs) ^ 2)
Und schon kannst du folgendes machen:
FOR xm = x TO ...? 'irgendein wert... musste selber finden...
y = a * (x - xs) ^ 2
...'Grafik, Animation, ....
NEXT
(nur n ansatz, aber nützlich) _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
stef
Anmeldungsdatum: 13.01.2005 Beiträge: 102
|
Verfasst am: 30.03.2005, 10:53 Titel: |
|
|
Also ich würde mal empfehlen bei qb-city.de das Programm von MisterD zu der Aufgabe Ball-Simulation herunter zu laden. Er hatte eigentlich recht gut da einen hüpfenden Ball simuliert. |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
Verfasst am: 30.03.2005, 11:23 Titel: |
|
|
Hi Paul,
Bei uns (mir und MrBobble) in Physics haben wir zur Veranschaulichung des Ortsfaktors eine Ballsimulation, wo 3 Bälle auf 3 Planeten mit unterschiedlichen Ortsfaktoren fallen gelassen werden.
Optional ist auch ein Startvektor, die Startposition, die Rollreibung und die Elastizität des Balles einstellbar.
Wie oben vorgeschlagen benutzen wir X- und Y-Vektoren für den Ball, die sich bei Aufprall an eine Wand einfach "umpolen" lassen können, vom Vektor wird die jeweilige Verformungsenergie abgezogen.
Um die physikalische Simulation zu gewährleisten, setzen wir ein Vakuum voraus, sodass der Luftwiederstand gleich ist.
Die Masse aller Bälle ist auch gleich.
Jetzt aber zum Roll-Thema. Wir haben, damit es schöner aussieht, auch einen rollenden Ball. Hier machen wir es einfach so, dass alle 5 Pixelspalten des Bildschirms der Ball um 5° gedreht wird.
Es gibt also keine große Formel, die das errechnet, sondern lediglich dieses Raster, an das sich der Ball hält - und es sieht trotzdem sehr gut aus
Ich wünsche dir viel Erfolg bei deiner Simulation
Grüßle,
Mecki
PS: Hier noch 2 Screenshots aus Physics - das Druckmodul und der Ortsfaktor. Weitere Infos & Screenshots findet ihr auf www.Physics.de.tc.
PPS: Im Moment portieren wir Physics übrigens gerade auf FreeBASIC  _________________ » Yodl.de: So sucht man gestern.
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 30.03.2005, 12:33 Titel: |
|
|
ICC hat Folgendes geschrieben: |
(In der 9. Klasse macht man echt nur Scheiße die kein Mensch braucht )
|
Das Problem kenn' ich.
Sch*** Lehrplan!!
jb |
|
Nach oben |
|
 |
SpionAtom
Anmeldungsdatum: 10.01.2005 Beiträge: 395
|
Verfasst am: 30.03.2005, 12:37 Titel: |
|
|
Nur mal am Rande: Geworfene Bälle und dergleichen gehören alle zum Gebiet der
B A L L I S T I K  _________________ Inzwischen gehöre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht. |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
 |
SpionAtom
Anmeldungsdatum: 10.01.2005 Beiträge: 395
|
Verfasst am: 30.03.2005, 12:47 Titel: |
|
|
@code Ballistik hört sich doch auch viel besser an als "Schiefer Wurf"  _________________ Inzwischen gehöre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht. |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 30.03.2005, 22:00 Titel: |
|
|
Bei uns an der Realschule lernt man die Winkelfunktionen auch erst in der 10...
Nehmt ihr im Gymi eigentlich auch Die Theoreme dran? Unser Lehrer hat gemeint, das ma in der Richtung am Gymi überhaupt nix lernt *g*
Übrigens:
http://dhost.info/siteofkaos/HTMLData/WitzSeiten/Philosophie.html
=> Lest euch mal KAOS IV: PARADOXON UND WIDERSPRUCH (ziemlich weit unten) durch. Ihr werdet sehen, dass die Mathematik eine gefährliche Waffe ist, und aber eigentlich gar ned funktioniert *g*
Nur so, ganz am Rande *g* _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 02.04.2005, 14:29 Titel: |
|
|
Hallo
Für so eine Simulation brauchst du eigentlich überhaupt keine Winkelfunktionen, obwohl es natürlich immer gut ist, sich damit auszukennen.
Der Sinn und Zweck einer Simulation besteht ja gerade darin, z.B. die Flugbahn eines geworfenen Gegenstandes nicht mit irgendwelchen Parabelgleichungen auszurechnen und dann etwas auf dem Bildschirm diese Bahn nachfahren zu lassen, sondern in bestimmten Zeitabständen alle wirkenden Kräfte zu addieren und daraus die neue Position des Gegenstandes zu bestimmen. Da wird auch schon die Grenze einer Simulation deutlich. Die Zeitabschnitte können nicht unendlich klein gemacht werden. Aber für deine Zwecke reicht es.
Mecki hatte ja schon angesprochen, dass der Trick eigentlich nur darin besteht, die Geschwindigkeit in eine x- und eine y-Komponente zu zerlegen. Dieses Programm zeichnet die Flugbahn eines geworfenen Balls. Du kannst ja mal mit den verschiedenen Konstanten rumspielen und schauen, was passiert. Die Reibungsfaktoren werden physikalisch nicht so ganz korrekt berechnet, aber das würde die Sache unheimlich verkomplizieren. So müsste z.B. noch die Masse des Gegenstands mit einberechnet werden etc.
Code: | SCREEN 12
CLS
t = .00005 'Zeiteinheit
lw = .999998 'Luftwiderstand
rr = .99995 'Rollreibung
sf = -.7 'Elastitzitaetsfaktor
g = 9.81 'Erdbeschleunigung
x = 0 'X-Position
y = 340 'Y-Position
vx = 80 'Geschwindigkeit in X-Richtung
vy = -90 'Geschwindigkeit in Y-Richtung
DO
IF y < 479 THEN
vx = vx * lw
vy = vy + g * t
ELSE
vx = vx * rr
END IF
IF ABS(vx) < .0001 THEN vx = 0
vy = vy * lw
IF ABS(vy) < .0001 THEN vy = 0
x = x + vx * t
y = y + vy * t
IF x < 0 THEN x = 0 - x: vx = vx * sf
IF x > 639 THEN x = 1278 - x: vx = vx * sf
IF y < 0 THEN y = 0 - y: vy = vy * sf
IF y >= 479 THEN y = 958 - y: vy = vy * sf
PSET (x, y)
LOOP WHILE vx <> 0 OR vy <> 0 |
Der Abwurfwinkel wird einfach durch das Verhältnis von vx zu vy bestimmt. SIN, COS und ATN bräuchtest du nur, wenn du z.B. unbedingt Abwurfwinkel = 45° oder so einstellen wolltest.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
|