prüfen ob punkt sich im kreis befindet
hi
einige werden es erraten haben, ja ich will mir eine monte-carlo-simulation machen dazu muss man ja prüfen, ob ein punkt im kreis is (oder eben nicht) ich wollte es mit nem viertelkreis machen hab irgendwo gehört, man müsste sinus*cosinus und dann wenn >1 dann isses drin, wenn <1, dann halt nit oder so.... weiss das einer genau? |
Re: prüfen ob punkt sich im kreis befindet
[dp]monte* *carlo*[/dp]
|
Re: prüfen ob punkt sich im kreis befindet
also um ehrlich zu sein finde ich in den beiträgen nichts, wo dieses problem besprochen wird, und den einen qt kapier ich nicht
|
Re: prüfen ob punkt sich im kreis befindet
Delphi-Quellcode:
Und jetzt das Ganze als Einzeiler (zwecks Performance und Vermeidung von Rundungsfehlern):
function IsPointInCircle(point, center : TPoint; radius:double): boolean;
var distance2 : double; begin // Berechnung des Abstands des Punktes vom Mittelpunkt nach Pythagoras distance2 := Sqr(point.x-center.x) + Sqr(point.y-center.y); // das Wurzelziehen sparen wir uns, stattdessen wird der Radius ebenfalls quadriert result := (distance2 <= Sqr(radius)); end;
Delphi-Quellcode:
function IsPointInCircle(point, center : TPoint; radius:double): boolean;
begin // Berechnung des Abstands des Punktes vom Mittelpunkt nach Pythagoras // das Wurzelziehen sparen wir uns, stattdessen wird der Radius ebenfalls quadriert result := ((Sqr(point.x-center.x) + Sqr(point.y-center.y)) <= Sqr(radius)); end; |
Re: prüfen ob punkt sich im kreis befindet
Hi,
1. Vermeide Sinus, Cosinus, Wurzelziehen, alles sehr erchenaufwendig un hier überflüsssig 2. Pythagoras ist ein guter Ansatz. 3. Die Umformungen nochmal überprüfen Grüsse Woki |
Re: prüfen ob punkt sich im kreis befindet
Hi woki,
Zitat:
@glkbkk: wenn du nur einen viertelkreis willst, dann musst du die Koordinaten relativ zum Mittelpunkt betrachten, falls es sich bei den Winkeln um 0-90, 90-180 usw. handelt. Falls es nicht die Viertelkreise sind, kommst du um Trig-Funktionen nicht herum.. Greetz alcaeus |
Re: prüfen ob punkt sich im kreis befindet
danke...
klar:
Delphi-Quellcode:
das is die lösung!!!
if sqr(x)+sqr(y)<sqr(radius)
danke fürs stichwort |
Re: prüfen ob punkt sich im kreis befindet
Zitat:
Grüsse Woki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:49 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