Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   alle Integerkoordinaten eines Kreises (https://www.delphipraxis.net/144996-alle-integerkoordinaten-eines-kreises.html)

Wolfgang Mix 21. Dez 2009 22:21

Re: alle Integerkoordinaten eines Kreises
 
Wir haben

- U = 2 * r * pi

- A = r * r * pi

- r2 = Sqrt(x * x + y * y)

- r = Shapebreite / 2

Alles, was kleiner als r ist (also r2), liegt im Kreis, also

Delphi-Quellcode:
If r2 < r then ImKreis.
Damit müßte sich doch 'was machen lassen!

Gruß

Wolfgang

Medium 21. Dez 2009 22:37

Re: alle Integerkoordinaten eines Kreises
 
Warum antworte ich eigentlich wenn es doch keinen interessiert? :roll:

Wolfgang Mix 21. Dez 2009 22:45

Re: alle Integerkoordinaten eines Kreises
 
Dann bin ich wohl der Einzige :mrgreen:

Gruß

Wolfgang

PS: Das sind ja nur Denkanstöße, man sollte es von möglichst vielen
Seiten angehen können

schöni 22. Dez 2009 09:29

Re: alle Integerkoordinaten eines Kreises
 
Zitat:

Zitat von Delphi-Narr
Da blick ich nicht so ganz durch...
Da diese Kreise unvorhersehbar auch nicht-integer Radien haben, klappt das doch nicht, oder?

Warum müssen denn das unbedingt nur die Integer Koordinaten sein. Was willst Du denn überhaupt damit machen?

Delphi-Narr 22. Dez 2009 14:22

Re: alle Integerkoordinaten eines Kreises
 
Diese Shapes stellen Löcher dar, wenn jetzt also der Mittelpunkt eines anderen Shapes im Lochshape ist, dann fällt das zweite Shape rein...
Da ich das nur ungefähr brauche und mit Left+width div 2 bzw. Top+height div 2 arbeiten will, wäre der Rest überflüssig und nich verwertbar...

Ich probier mal die Methode von Wolfgang, müsste eigentlich ja klappen.
Du meinst aber doch bestimmt

Delphi-Quellcode:
r,
r2:integer;

r:=Loch.width div 2;
r2:=round(sqrt(sqr(xWert_PunktA-xWert_Mittelpunkt_Loch)+sqr(yWert_PunktA-yWert_Mittelpunkt_Loch)));
oder habe ich da wieder was falsch verstanden?

Medium 22. Dez 2009 15:10

Re: alle Integerkoordinaten eines Kreises
 
Genau davon reden wir hier alle seit spätestens Beitrag 7, und nicht mehr ;)

Bzw. hattest du ja nach allen Punkten im Kreis gefragt, woraufhin richtigerweise Prüfen aller Pixel im Quadrat um den Kreis vorgeschlagen war, bzw. eine Schleife für den Kreisrand davor. Bis jetzt grad eben war uns vorenthalten, dass du eigentlich nur einen einzigen Punkt erfragen möchtest, und daher natürlich auch um nichts eine Schleife basteln musst. Die liebe Kunst des Fragenstellens...

Delphi-Narr 22. Dez 2009 15:20

Re: alle Integerkoordinaten eines Kreises
 
Oh, tut mir Leid...
Es würde jedoch auch mit allen Punkten im Kreis gehen, wenn ich prüfe, ob der Punkt A in der Liste der Punkte innerhalb des Kreises ist... So hatte ich mir das am Anfang vorgestellt. Also wenn ich missverstanden worden bin, tuts mir Leid.
Danke für die Hilfe!

mkinzler 22. Dez 2009 16:02

Re: alle Integerkoordinaten eines Kreises
 
Es ist aber einfacher zu prüfen, ob der Punkt innerhalb Kreis liegt als ihn mit allen Punkten im Kreis zu vergleichen

Delphi-Narr 22. Dez 2009 16:24

Re: alle Integerkoordinaten eines Kreises
 
Ja, das ist mir nur nicht so klar gewesen, als ich den Beitrag geschrieben habe...

Delphi-Laie 22. Dez 2009 18:25

Re: alle Integerkoordinaten eines Kreises
 
Zitat:

Zitat von Medium
Dann hättest du anders fragen müssen, weil die Punkte im Kreis gehören nicht zum Kreis!

Der Kreis ist eine Fläche, also gehören auch die Punkte darin dazu. Was Sie meinen, ist die Kreislinie. Fälschlicherweise wird aber auch letzteres oft vereinfacht als Kreis bezeichnet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 Uhr.
Seite 2 von 4     12 34      

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