JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=1bface68766d4cc04ba765513bc5c4c2Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

wo kommt der ball an?
Gehe zu Seite 1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
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

BeitragVerfasst am: 24.10.2004, 12:46    Titel: wo kommt der ball an? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 24.10.2004, 12:55    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
C++Builder
Senior JLI'ler



Anmeldedatum: 04.10.2003
Beiträge: 235

Medaillen: Keine

BeitragVerfasst am: 24.10.2004, 13:24    Titel: Antworten mit Zitat

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:

Code:

x += 10;
y +=10;


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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 24.10.2004, 13:50    Titel: Antworten mit Zitat

@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
Benutzer-Profile anzeigen Private Nachricht senden
C++Builder
Senior JLI'ler



Anmeldedatum: 04.10.2003
Beiträge: 235

Medaillen: Keine

BeitragVerfasst am: 24.10.2004, 13:53    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
smile_virus
Junior JLI'ler


Alter: 35
Anmeldedatum: 19.08.2004
Beiträge: 64

Medaillen: Keine

BeitragVerfasst am: 24.10.2004, 17:39    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 24.10.2004, 18:35    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 41
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 24.10.2004, 18:37    Titel: Re: wo kommt der ball an? Antworten mit Zitat

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


Zitat:
y=f(x)=x*dy+m


dy ist dabei der Anstieg
m ist dabei die Starthöhe (kann man weglassen wenn m=0)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
smile_virus
Junior JLI'ler


Alter: 35
Anmeldedatum: 19.08.2004
Beiträge: 64

Medaillen: Keine

BeitragVerfasst am: 25.10.2004, 11:35    Titel: Antworten mit Zitat

was kann ich denn unter anstieg verstehn?
die rotation des balls in grad???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 25.10.2004, 12:07    Titel: Re: wo kommt der ball an? Antworten mit Zitat

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


Zitat:
y=f(x)=x*dy+m


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 Rolling Eyes
nur ist bei dir das m der y-achsenabschnitt und dy das m Wink
_________________
Schau mir in die Augen, Kleines.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
xardias
JLI Master


Alter: 39
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 25.10.2004, 12:37    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 41
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 25.10.2004, 14:20    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
smile_virus
Junior JLI'ler


Alter: 35
Anmeldedatum: 19.08.2004
Beiträge: 64

Medaillen: Keine

BeitragVerfasst am: 25.10.2004, 15:56    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 41
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 25.10.2004, 16:04    Titel: Antworten mit Zitat

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 Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
smile_virus
Junior JLI'ler


Alter: 35
Anmeldedatum: 19.08.2004
Beiträge: 64

Medaillen: Keine

BeitragVerfasst am: 26.10.2004, 13:27    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite 1, 2, 3  Weiter
Seite 1 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum