![]() |
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* |
Zitat:
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. |
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! |
MadMason hat schon recht: Einfallwinkel=Ausfallwinkel
nur musst Du den relativen Winkel zur Abpralllinie <scheiss neue Rechtschreibung :)> nehmen. |
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! |
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. |
wua. da fehlt die übersicht!
|
Ö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 |
es ist korrekt. besser ist aber arcsin(bla)!
|
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: |
Wenn mich nicht alles täuscht, dann sollte das so aussehen:
Delphi-Quellcode:
Winkel := ArcTan(GK/AK);
|
Nee...da käme z.B. für
GK = 1 und AK = 1 0,78... raus. Sollte aber eigentlich 90(°) sein! |
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; |
Geil ich habs jetzt...hab mit radToDeg aus Math umgerechnet...(hab dein edit nicht gesehen)!
Danke euch allen! |
Zitat:
|
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 00:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz