Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
smile_virus Junior JLI'ler
Alter: 35 Anmeldedatum: 19.08.2004 Beiträge: 64
Medaillen: Keine
|
Verfasst am: 24.10.2004, 12:46 Titel: wo kommt der ball an? |
|
|
ich suche eine formel oder gleichung, mit der ich den y punkt eines objekts, das sich schräg bewegt ausrechnen kann, wenn x im koordinatensystem eine bestimmte zahl erreicht hat
also der ball bewegt sich schräg und ich will den y punkt ausrechnen wo er ankommen wird wenn x = 800 ist |
|
Nach oben |
|
 |
Zyrian Super JLI'ler

Anmeldedatum: 30.08.2003 Beiträge: 321 Wohnort: Essen Medaillen: Keine
|
Verfasst am: 24.10.2004, 12:55 Titel: |
|
|
vielleicht hilft dir die geradengleichung y = m * x + b
m ist die steigung und b der y-achsenabschnitt.
um y bestimmen zu koennen brauchst du halt die steigung, mit der dein ball fliegt. _________________ Schau mir in die Augen, Kleines. |
|
Nach oben |
|
 |
C++Builder Senior JLI'ler

Anmeldedatum: 04.10.2003 Beiträge: 235
Medaillen: Keine
|
Verfasst am: 24.10.2004, 13:24 Titel: |
|
|
das geht mit der sinus Funktion:
Der Sinus eines Winkels gibt das Verhältnis von u zum Radius an.
in deinem Fall:
u ist die Veränderung um y
v ist die Veränderung um x
r ist dein Radius
w ist dein Winkel
die Formel wäre dann
Code: |
#include <math.h>
r = newx - oldx;
newy = oldy - sin(w *PI/180) /r;
|
das *PI/180 ist die Umrechnung vom Grad- ins Bogenmaß.
Den Winkel müsstes du bei deiner "schrägen Bewegung" mit dabei haben, oder du musst ihn ausrechnen wenn du so etwas machtst:
Wie das jetzt geht fällt mir jetzt grad nicht ein.
Die sin Funktion ist in math.h deklariert aber ich weiß jetzt nicht wie PI in math.h deklariert ist, ansonsten müsste es gehen. |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 24.10.2004, 13:50 Titel: |
|
|
@C++ Insider: Deine Formel ist für Bewegung, smile_virus möchte aber wissen welche y-Stelle zu einer x-Stelle gehört und dafür nimmt man besten die Geradengleichung die Zyrian schon gepostet hat.
@smile_virus: m bekommst du indem du den y-Teil der Ballgeschwindigkeit durch den x-Teil dividierst. Und b ist der Wert für y wenn x = 0 ist. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
C++Builder Senior JLI'ler

Anmeldedatum: 04.10.2003 Beiträge: 235
Medaillen: Keine
|
Verfasst am: 24.10.2004, 13:53 Titel: |
|
|
Hazel hat Folgendes geschrieben: | @C++ Insider: Deine Formel ist für Bewegung, smile_virus möchte aber wissen welche y-Stelle zu einer x-Stelle gehört und dafür nimmt man besten die Geradengleichung die Zyrian schon gepostet hat |
hmm bei mir war mein Post eher da ansonsten habt ihr recht |
|
Nach oben |
|
 |
smile_virus Junior JLI'ler
Alter: 35 Anmeldedatum: 19.08.2004 Beiträge: 64
Medaillen: Keine
|
Verfasst am: 24.10.2004, 17:39 Titel: |
|
|
ich hab das noch nicht verstanden
also in der gradengleichung ist y der punkt den ich suche
m die x geschwindigkeit geteilt durch die y geschwindigkeit
x ist die x koordinate des balls????
und von b weiß ich ja garnicht wie hoch das ist oder? |
|
Nach oben |
|
 |
Zyrian Super JLI'ler

Anmeldedatum: 30.08.2003 Beiträge: 321 Wohnort: Essen Medaillen: Keine
|
Verfasst am: 24.10.2004, 18:35 Titel: |
|
|
du wirst y nur rauskriegen können, wenn du tatsächlich dein m vorliegen hast. das richtet sich ja nach dem winkel, in dem dein ball fliegt, bezogen auf die x-achse.
m kann man zwar durch die gleichung (y1 - y2) / (x1 - x2) oder so ausrechnen, aber da hast du wieder dein y drin =/ _________________ Schau mir in die Augen, Kleines. |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 41 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 24.10.2004, 18:37 Titel: Re: wo kommt der ball an? |
|
|
smile_virus hat Folgendes geschrieben: | ich suche eine formel oder gleichung, mit der ich den y punkt eines objekts, das sich schräg bewegt ausrechnen kann, wenn x im koordinatensystem eine bestimmte zahl erreicht hat
also der ball bewegt sich schräg und ich will den y punkt ausrechnen wo er ankommen wird wenn x = 800 ist |
dy ist dabei der Anstieg
m ist dabei die Starthöhe (kann man weglassen wenn m=0) |
|
Nach oben |
|
 |
smile_virus Junior JLI'ler
Alter: 35 Anmeldedatum: 19.08.2004 Beiträge: 64
Medaillen: Keine
|
Verfasst am: 25.10.2004, 11:35 Titel: |
|
|
was kann ich denn unter anstieg verstehn?
die rotation des balls in grad??? |
|
Nach oben |
|
 |
Zyrian Super JLI'ler

Anmeldedatum: 30.08.2003 Beiträge: 321 Wohnort: Essen Medaillen: Keine
|
Verfasst am: 25.10.2004, 12:07 Titel: Re: wo kommt der ball an? |
|
|
FallenAngel84 hat Folgendes geschrieben: | smile_virus hat Folgendes geschrieben: | ich suche eine formel oder gleichung, mit der ich den y punkt eines objekts, das sich schräg bewegt ausrechnen kann, wenn x im koordinatensystem eine bestimmte zahl erreicht hat
also der ball bewegt sich schräg und ich will den y punkt ausrechnen wo er ankommen wird wenn x = 800 ist |
dy ist dabei der Anstieg
m ist dabei die Starthöhe (kann man weglassen wenn m=0) |
das ist doch ganz einfach die gleichung y = m * x + b
nur ist bei dir das m der y-achsenabschnitt und dy das m  _________________ Schau mir in die Augen, Kleines. |
|
Nach oben |
|
 |
xardias JLI Master

Alter: 39 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 25.10.2004, 12:37 Titel: |
|
|
smilie_virus:
Ich glaube es wäre Hilfreicher, wenn du uns genau beschreiben würdest, wie du deinen Ball bewegst also Welche werte du on ihm bereits kennst (Da gibts es ja verschiedene Möglichkeiten, über winkel, x/y geschwindigkeit, usw).
Normalerweise bewegt man einen ball so:
struct ball{
float x, y; // position
float vx, vy; // geschwindigkeit in x und in y richtung
}
Wenn der Ball bewegt wird (z.b. jeden frame) addiert man die geschwindikeit auf die x und y koordinate des Balls.
x += vx; y += vy;
Somit kennst du bereits die aktuellen Koordinaten.
Jetzt stellt sich die Frage, was genau du mit deiner Rechnung bezwecken möchtest, vielleicht gibt es ja andere (einfachere) mglichkeitn als über die geradengleichung (wobei die eigentlich schon recht einfach ist) |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 41 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 25.10.2004, 14:20 Titel: |
|
|
xardias hat Folgendes geschrieben: | vielleicht gibt es ja andere (einfachere) mglichkeitn als über die geradengleichung (wobei die eigentlich schon recht einfach ist) |
Wie alt bist du und in welche Klasse gehst du smilie_virus? |
|
Nach oben |
|
 |
smile_virus Junior JLI'ler
Alter: 35 Anmeldedatum: 19.08.2004 Beiträge: 64
Medaillen: Keine
|
Verfasst am: 25.10.2004, 15:56 Titel: |
|
|
ich kenn die x, y position, den winkel in grad mit dem er fliegt und die geschwindigkeit
ich bewege den ball mit den sin/cos funktionen
Code: |
x += sin(Rotation);
y -= cos(Rotation);
|
ich programmiere ein pong remake und dafür will ich wissen wohin sich der schläger des computers bewegen muss, um den ball zu treffen
ich geh in die 8. klasse |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 41 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 25.10.2004, 16:04 Titel: |
|
|
Na dann haste doch alles was du brauchst um dir die Formel herzuleiten. Um dich zum denken anzuregen werde ich die Lösung nicht posten  |
|
Nach oben |
|
 |
smile_virus Junior JLI'ler
Alter: 35 Anmeldedatum: 19.08.2004 Beiträge: 64
Medaillen: Keine
|
Verfasst am: 26.10.2004, 13:27 Titel: |
|
|
ich kriegs auch nich wenn ich lange nachdenke
bei mir steht das jetz so:
Code: |
punkt = cos(Rotation) / sin(Rotation) * vBallPosition.x;
|
also m * x
was b ist hab ich noch nicht verstanden
oder war cos(Rotation) / sin(Rotation) garnich mit dem x und y teil der ballgeschwindigkeit gemeint?
ist das denn richtig so? |
|
Nach oben |
|
 |
|