Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Nexxtron

Alter Hase

  • »Nexxtron« ist der Autor dieses Themas

Beiträge: 424

Wohnort: Heilbronn

Beruf: Student - Software Engineering

  • Private Nachricht senden

1

17.12.2009, 19:13

Einfallswinkel gleich Ausfallswinkel ?

nabend,

ich mal wieder ne frage und zwar möchte ich in meinem pong den ball am schläger abprallen lassen ( ausfallswinkel = einfallswinkel )
nu steh ich vor einem problem...bei den meisten pongs wird mit speedx und speedy gearbeitet bei einer kollision müsste ich dort nur speedx *= -1 machen, aber ich habe nur die rotation vom ball zur verfügung...kann ich irgendwie mir den einfallswinkel ausrechnen mit meiner rotation vom ball?
habe es schon mit allen möglichen rechnungen versucht....

hier mal ein bild zur veranschaulichung:


(Link)


Alpha is der aktuelle rotationswert
New Project: Operation CityRacer

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

17.12.2009, 19:19

Naja, die Rotation ist ganz einfach -alpha ;)

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

3

17.12.2009, 19:20

Quellcode

1
a = -1*(a + pi)


Stell dir das am besten mal auf den Einheitskreis vor. Dann siehst du auch, wie man darauf kommt.

Nexxtron

Alter Hase

  • »Nexxtron« ist der Autor dieses Themas

Beiträge: 424

Wohnort: Heilbronn

Beruf: Student - Software Engineering

  • Private Nachricht senden

4

17.12.2009, 19:44

jaa, jetzt hab ich aber was vergessen und zwar hab ich nich nur ein paddel links und eins rechts sondern auch eins oben und unten und da funktionierts nich einer ne idee? (also ein Vier Pong)

mit -alpha hab ich es auch schon versucht und hab eigentlich gedacht es ginge aber dummerweise hab ich meinem ball am anfang vom spiel einen rotationswert gegeben dass er immer als erstes auf das obere paddel zufliegt
New Project: Operation CityRacer

5

17.12.2009, 19:47

Zitat

(also ein Vier Pong)

Da bin ich schon auf den Release gespannt. Aber 4 Spieler an 1 Tastatur :lol: !
Ist sicher lustig.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

6

17.12.2009, 19:57

Kommt drauf an, wie dein Koordinatensystem ausschaut. Bei dir (wenn du oben anfängst zu zählen), sollte dot's Vorschlag für die linke und rechte Seite reichen. Oben und unten musst du dann aber meinen Vorschlag benutzen.

Wie gesagt. Stell dir das ganze einfach mal im Einheitskreis vor (oder besser zeichne es auf) mit den Vektoren vom Nullpunkt nach aussen.

Nexxtron

Alter Hase

  • »Nexxtron« ist der Autor dieses Themas

Beiträge: 424

Wohnort: Heilbronn

Beruf: Student - Software Engineering

  • Private Nachricht senden

7

17.12.2009, 21:36

@E122 das kann noch lang dauern bis es released,aber 4 spieler an einer tastatur is drin

@drakon naja ich hatte bis jetzt noch nicht mal den einheitskreis ( obwohl ich inder 11.ten bin :roll: )
ich versteh deine formel nich richtig die is doch die gleiche wie dot´s nur du zählst pi dazu
und mein koordinatensystem is in der mitte 0,0....halt das von directx..

ich versteh halt nich ganz wie weit ich mein ball drehen muss, wenn er den oberen paddel berührt wenns der linke oder rechte ist...ist es ja leicht

Naja ich schau mir mal nochmal den einheitskreis an
New Project: Operation CityRacer

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

17.12.2009, 22:00

Warum machst dus eigentlich nicht einfach mit Vektoren!?

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

9

17.12.2009, 22:26

Ja. Mit Vektoren wäre es wahrscheinlich einfacher, aber ich habe dir jetzt mal kurz ein Bild gemalt.

(Link)


Man kann + oder - pi rechnen. Kommt auf das selbe raus, wenn man dann da die Koordinaten berechnen will (Periodizität und so).

Du musst das ganze aber noch mal drehen, wenn du 0 oben hast aber das dort ist so die gängige Darstellung.

Das schwarze ist ja der einfache Fall, wo oben abgeprallt wird. (bei dir seitlich) und das rote das etwas andere. Aber darum gibt es den kleinen Trick, dass man zuerst einfach mal das ganze um 180° dreht und dann kann man das mit dem Minus dem Winkel wieder machen.

Ich hoffe das war verständlich erklärt. :)

10

18.12.2009, 06:27

Also mich verwirrt die Zeichnung xD Nix für ungut.

Der Trick dahinter ist folgender: Je nach Quadrant, in dem dein Vektor liegt, musst du unterschiedlich auf Kollision reagieren. (Vorzeichenprüfung)
Schau dir dazu ein beliebiges Mittelstufe Mathebuch an, da ist das meistens mit viel Formeln und Bildern erklärt.

Je nachdem in welchem Quadranten du dich befindest, musst du zum Winkel +/- Pi oder 0 rechnen. (alternativ die entsprechenden Komponenten der Vektoren umdrehen.

So Far...

Laguna

Werbeanzeige