Hi,
ich versuche gerade eine Funktion zu basteln die feststellt ob ein Kreis und eine Strecke Schnittpunkt(e) haben. Dies sollte dann der Fall sein wenn der kuerzeste Abstand "D" von Gerade-Kreismittelpunkt nicht groesser als der Radius "R" ist, also D<=R.
Ich weiss zwar dass ich die Steigung der Strecke mit dy/dx herausbekomme und das die Geradennormale sich als Gerade mit negative Steigung (im Bezug auf die eigentlich Gerade) ermitteln laesst. Ausserdem ist einleuchtend dass D auf genau auf einer solchen Geraden liegt.
Mein Problem ist nur:
- Ich hab von vektorrechnung so viel ahnung wie ein Schimpanse von Raumfahrt. (Schonmal gemacht aber keine Ahnung gehabt was ich da eigentlich mache)...
- 85% aller googlebaren Beispiel gehen das ganze vektoriell an.
- Irgendwie verstehe ich das mit den "Hilfsebenen" in den Besispielen nicht.
Kann mir bitte jemand helfen eine Funtion zu basteln,etwa nach folgendem Schema:
(Es kann durchaus auch eine Loesung mit Vektorrechnung sein. ich verspreche auch das ich das dann zu verstehen versuche).
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| type TLine = record A : TPoint; B : TPoint; end;
type TSprite = record center : TPoint; radius : integer; end;
function collision(reflector:Tline,sprite:TSprite); begin end; |
Waere echt super wenn mir da jemand helfen koennte.... Es ist doch Weihnachten....
Ich will doch so gerne das Rad neu erfinden und das beste Nachmach-Arkanoid-wo-gibt, naja jedenfalls ein Breakout-Clone schreiben...
Frohes Fest
-Catweasel
Pommes werden schneller fertig wenn man sie vor dem Frittieren einige Minuten in siedendes Fett legt.