Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- SchieferWurf (http://www.informatikerboard.de/board/thread.php?threadid=4404)


Geschrieben von Tommy1234 am 31.10.2021 um 10:36:

  SchieferWurf

Hallo kurze Frage,
möchte den schiefen wurf abhängig von der Gewichtskraft g = 9.81, der Anfangsgeschwindigkeit v0 = 15 und einem Winkel zwischen 0 un 90 Grad simulieren.

Bisher hab ich das:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
                double t = 0.0;
		double x = 0.0;
		double y = 0.0;
		
		vx = v0 * Math.cos(angle); gleichförmige Bewegung
		vy = v0 * Math.sin(angle); Anfangsgeschw
		
		t = (2*vy)/g; tgesamt
		
		x = vx * t; x-Richtung
		y = ((-g*x*x)/(2*vx*vx))+(vy/vx)*x; y-Richtung
		
		leftBullet.x = (int) x;
		leftBullet.y = (int) y;


nach dem abfeuern ist das geschoß weg. Wieso?



Geschrieben von as_string am 03.11.2021 um 17:22:

 

Ich verstehe nicht, warum Du y aus x ausrechnest, zuvor aber x aus t. Warum dann nicht auch y aus t?
Du setzt gleich am Anfang t auf tgesamt, also auf den Endzeitpunkt des Wurfs. Da ist es dann nicht verwunderlich, wenn Du keine Zwischenpunkte bekommst. Ich denke, Du müsstest irgendwie in einer Schleife einige Stützpunkte ausrechnen (z. B. könntest Du eine Schleife von t=0 bis tgesamt laufen lassen und als Schritte z. B. tgesamt/20 oder so wählen, die Frage ist dann noch, ob Du die Stützpunkte mit einer Geraden verbinden willst oder so).

Gruß
Marco


Forensoftware: Burning Board, entwickelt von WoltLab GmbH