Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Abprallrichtung von Linie (https://www.delphipraxis.net/3873-abprallrichtung-von-linie.html)

Florian H 3. Apr 2003 16:50


Abprallrichtung von Linie
 
Hi!

Ich habe ein Dings das mit mich geschwindigKietX in die X-Richtung und mit Geschw.Y in die Y-Richtung bewegt...nun prallt es auf eine Linie (X1,Y1,X2,Y2), kollision hab ich schon: Wie prallt das Ding nun ab?
Gibt es da eine Formel?

Ist für ein Minigolfspiel und da gibts ja nicht nur senkrechte linien...


viele grüße
flo

ps: bin 9.-Klässler, also bitte net kompliziert machen *gg*

MadMason 3. Apr 2003 17:15

Zitat:

Zitat von Mein Physiklehrer
Einfallwinkel = Ausfallwinkel

du musst also nur die entsprechende Richtung umdrehen.
also wenn er an ne wand in x-Richtung stößt, einfach die richtung von x umdrehen (also aus nach links, nach rechts; 10, -10) und die y-bewegung beibehalten.

Florian H 3. Apr 2003 17:22

Ne, das gilt leider nur bei Senkrechten (zum bildschirmrand) linien!

Wenn ich eine schräge Linie habe (z.B. von (0|0) nach (200|50) ist das völlig anders!

arnoldo 3. Apr 2003 17:27

MadMason hat schon recht: Einfallwinkel=Ausfallwinkel
nur musst Du den relativen Winkel zur Abpralllinie <scheiss neue Rechtschreibung :)> nehmen.

Florian H 3. Apr 2003 17:31

Und wie bekomme ich den Winkel der Linie und des sich bewegenden Objektes?
Damit könnte es doch evtl. gehen...

In der Schule hatten wir bisher leider weder noch Cos!

MadMason 3. Apr 2003 18:32

Liste der Anhänge anzeigen (Anzahl: 1)
um sinus wirst du nicht drum rum kommen.
die nummerierungen beziehen sich auf meine skizze

1.. ist der radius des balls
2.. ist 1/2 der diagonale im viereck dass den Kreis umschließt
3.. der gesuchte winkel

es gilt nun sinus(3)=1/2 --> 3= sinus^(-1)(1/2)

und das müsste dann der winkel sein.

nailor 3. Apr 2003 18:35

wua. da fehlt die übersicht!

CalganX 3. Apr 2003 18:54

Öhm... ich will mich eigentlich nicht einmischen, weil ich Cos und Sin noch nicht kenne, aber mal eine Frage:
müsste es nicht eher sinus(1/2)^(-1) heißen?
Das ist nur eine Frage des Verständnisses... Ehrlich1 :mrgreen:

Chris

nailor 3. Apr 2003 19:11

es ist korrekt. besser ist aber arcsin(bla)!

Florian H 3. Apr 2003 19:19

Ich kapier das irgendwie nicht...

Kann villeicht bitte einer einen Delphi-Code-Schnipsel posten, der aus Ankathete und Gegenkathete den Winkel berechnet?
Wäre wirklich ganz arg nett :hello:

janjan 3. Apr 2003 19:30

Wenn mich nicht alles täuscht, dann sollte das so aussehen:
Delphi-Quellcode:
Winkel := ArcTan(GK/AK);

Florian H 3. Apr 2003 19:35

Nee...da käme z.B. für
GK = 1 und AK = 1
0,78... raus.
Sollte aber eigentlich 90(°) sein!

janjan 3. Apr 2003 19:42

Schonmal dran gedacht, das Delphi im Bogenmaß rechnet und nicht in Grad? 0,78 sind ca. Pi/4 und das ist dasselbe wie 90 Grad.

In Grad ist eine Umdrehung 360 Grad, im Bogenmaß halt 2*Pi.

Zum Umrechnen vom Bogenmaß in Grad musst du den Wert den ArcTan zurückgibt * 360/(2*Pi) rechnen.

Um von Grad ins Bogenmaß zu konvertieren musst du den Wert *(2*Pi)/360 rechnen.

Delphi-Quellcode:
function GetWinkel(GK : real; AK: real): real;
begin
  result:= ArcTan(GK/AK)*360/(2*Pi);
end;

Florian H 3. Apr 2003 20:17

Geil ich habs jetzt...hab mit radToDeg aus Math umgerechnet...(hab dein edit nicht gesehen)!
Danke euch allen!

mars 3. Apr 2003 23:00

Zitat:

Zitat von janjan
Schonmal dran gedacht, das Delphi im Bogenmaß rechnet und nicht in Grad? 0,78 sind ca. Pi/4 und das ist dasselbe wie 90 Grad.

Schon mal daran gedacht, dass Pi/4 nicht 90°, sondern 45° sind? :wink: Aber das ist ja auch richtig so, denn bei einer Gegenkathete und Ankathete von 1 sollte das Resultat 45° sein.

Florian H 4. Apr 2003 13:12

Gibt es auch ne Möglichkeit, das mit 360° zu machen?
Weil so wie es jetzt ist, kann ich den Winkel nicht mehr in eine eindeutige Richtung zurückberechnen...weil es nur von -90° zu 90° geht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz