Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Berechnung von 8 Einzelpunkten eines Kreises (https://www.delphipraxis.net/165904-berechnung-von-8-einzelpunkten-eines-kreises.html)

kaju74 20. Jan 2012 14:59

Berechnung von 8 Einzelpunkten eines Kreises
 
Hallo.

Ich stehe gerade mathematisch komplett auf dem Schlauch. Ich würde gerne von einem Kreis, bei dem ich nur den Durchmesser habe, 8 Einzelpunkte nach folgendem Schema berechnen (X/Y-Koordinaten):

Code:
       *
  *         *

*             *

  *         *
       *
Also: Ich habe ein Rechteck gleicher Breite & Höhe, auf das 8 Schaltflächennach dem oberen Schema verteilt werden sollen. Dafür brauche ich die einzelnen x/y-Koordinaten, habe aber echte Schwierigkeiten, mein Schulmathe vor über 20 Jahren aus den hintersten Kopfregionen hervorzuholen...

Weiß einer Rat?

Danke & Gruß,
Marc

Namenloser 20. Jan 2012 15:00

AW: Berechnung von 8 Einzelpunkten eines Kreises
 
Sinus und Kosinus sind deine Freunde :)
X = cos(alpha)*radius;
Y = sin(alpha)*radius;
Wobei zu beachten ist, Delphi (bzw. die FPU) das Bogenmaß verwendet.

s.h.a.r.k 20. Jan 2012 15:01

AW: Berechnung von 8 Einzelpunkten eines Kreises
 
Dürfte doch über den Sinus und Kosinus gehen. Brauchst du nun die genauen "Formeln", oder reicht dir der Hint? ;)

-- Edit: Hat die rote Box schon wieder Urlaub? :gruebel:

kaju74 20. Jan 2012 15:12

AW: Berechnung von 8 Einzelpunkten eines Kreises
 
Oh je...da machts ja nicht mal ansatzweise "aha" bei mir 8-))) Wer ist Alpha? Mein Kollege lacht sich gerade schepp, weil wir beide so bekloppt sind und das nicht hinbekommen. Vielleicht habt ihr da ein Beispiel für die konkrete Berechnung der ersten zwei Punkte bei einem Rechteck von 100x100 Pixeln...das wäre hilfreich.

Vielen lieben Dank für die schnellen Antworten,
Marc (und Thomas, der immer noch lacht...)

Jumpy 20. Jan 2012 15:21

AW: Berechnung von 8 Einzelpunkten eines Kreises
 
Alpha ist zum einen der Stiefbruder von Omega, zum anderen der Winkel, unter dem eure 8 Punkte auf dem Kreis liegen. Da ja laut #2 im Bogenmaß gerechnet werden muss, sind das die Winkel: 0 oder 2*Pi, 1/4*Pi, 1/2*Pi, 3/4*Pi, Pi, 5/4*Pi(), 3/2*Pi(), 7/4*Pi().

Glaub ich zumindest. Bin geistig schon im Feierabend...:-D

Edith: Annahme ist natürlich, dass der Mittelpunkt des Kreises im Koordinatenursprung (0/0) liegt. Es muss also noch eine Umrechnung auf euer (100x100 Pixel) Panel oder was erfolgen, da da ja der Mittelpunkt bei (50/50) liegt.

kaju74 20. Jan 2012 15:26

AW: Berechnung von 8 Einzelpunkten eines Kreises
 
Super...damit kann ich was anfangen...probiere ich aus.

...vielen lieben Dank.

Marc

Blup 20. Jan 2012 15:33

AW: Berechnung von 8 Einzelpunkten eines Kreises
 
Und wer PI nicht mag:
Code:
   A
   |   dx
   |.......B
   |    . :
   |  .   : dy
   |.     :
   S----------C

SB² = dx² + dy²

dx = dy = r / sqrt(2)

Furtbichler 21. Jan 2012 08:45

AW: Berechnung von 8 Einzelpunkten eines Kreises
 
Und wenn man dann noch bedenkt, das sich die Punkte rotationssymetrisch um den Mittelpunkt bewegen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 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