Sonntag, 28. November 2010

Koordinaten eines regelmäßigen Fünfecks



In Abhängigkeit von der Seitenlänge a


a sei die Seitenlänge eines regelmäßigen Fünfecks ABCDE, dessen  Umkreis den Mittelpunkt M(0|0) hat.
Dann gilt für die Koordinaten der Eckpunkte:


A [ 0 | a·√(10·√5 + 50)/10 ]
B [ - a·(√5/4 + 1/4) | a·√(50 - 10·√5)/20 ]
C [ - a/2 | - a·√(10·√5 + 25)/10 ]
D [ a/2 | - a·√(10·√5 + 25)/10 ]
E [ a·(√5/4 + 1/4) | a·√(50 - 10·√5)/20 ]


In Abhängigkeit vom Umkreisradius r
M sei der Mittelpunkt des Umkreises eines regelmäßigen Fünfecks und zugleich der
Ursprung eines kartesischen Koordinatensystems.
Dann gilt für die Koordinaten der Eckpunkte:


A [ 0 | r ]
B [ - r·√(2·√5 + 10)/4 | r·(√5/4 - 1/4) ]
C [ - r·√(10 - 2·√5)/4 | - r·(√5/4 + 1/4) ]
D [ r·√(10 - 2·√5)/4 | - r·(√5/4 + 1/4) ]
E [ r·√(2·√5 + 10)/4 | r·(√5/4 - 1/4) ]




Die mathematische Beziehung zwischen a und r lautet:


a = r·√(10 - 2·√5)/2


bzw.


r = a·√(10·√5 + 50)/10


Schritte zum Berechnen der allgemeinen Koordinaten

Man stelle sich einen Kreis mit dem Radius r und dem dem Mittelpunkt M(0|0) in einem Koordinatensystem vor.
Dieser Kreis sei der Umkreis eines regelmäßigen Fünfecks ABCDE sein.


Folglich ist bekannt:
- jeder Eckpunkt hat vom Ursprung den Abstand r
- der Schnittwinkel der Strecken 0Pn 0Pm beträgt 360°/5 = 72°


(1) Nun legt man den Punkt A so fest, dass er über dem Ursprung liegt: A(0|r)
(2) Punkt B liegt immer im positiven Wertebereich und hat den Abstand r vom Ursprung.
Über das Steigungsdreieck können mit Hilfe des Sinus und des Kosinus XB und YB berechnet werden:
Der Winkel zwischen der Geraden 0B und der x-Achse beträgt 90°-72° = 18° (s.o.). r stellt die Hypotenuse dar. Somit erhält man |XB| = r·cos(18°) =  r·√(2·√5 + 10)/4 und |YB| = r·sin(18°) = r·(√5/4 - 1/4).
B liegt links von M(0|0), somit ist XB negativ.
(3) Die y-Achse stellt eine Symmetrieachse dar. Also gelten für E die Koordinaten E(-XB|YB).
(4) Das gleiche Vorgehen wie bei Punkt B und E wird nun für C und D angewendet:
Der Winkel zwischen der Geraden 0C beträgt 72°-18° = 54°. Also ist  |XC| = r·cos(54°) =  r·√(10 - 2·√5)/4 und |YB| = r·sin(54°) = r·(√5/4 + 1/4). C liegt links der y-Achse und ist damit negativ.
(5)  Analog zu (3) liegt Punkt D bei D(-XC|YC).


(Mit diesem Vorgehen kann man die Eckpunktkoordinaten von jedem beliebigen n-Eck bestimmen.) 


Berechnung der Abhängigkeit von a und r
(1) Die Strecke BE wird von der y-Achse geteilt. Die Länge x der rechten bzw. linken Hälfte lässt sich über zwei verschiedene Gleichungen beschreiben:
(I) x = a·sin(54°), da die y-Achse den Winkel α halbiert ( α = 180°*(5-2)/5 = 540°/5 = 108° )
(II) x = r·sin(72°), siehe Schnittwinkel
(2) Gleichsetzen führt zu dem Ergebnis
a =  r·sin(72°)/sin(54°) = r·√(10 - 2·√5)/2
r = a·sin(54°)/sin(72°) = a·√(10·√5 + 50)/10

Dieses kleine Programm zeichnet euch einen Kreis mit eurer Bildschirmhöhe als Durchmesser.
Ausgehend vom Mittelpunkt werden die Punkte gezeichnet und miteinander verbunden.


Code:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
  var A,B,C,D,E,F: TPoint;
      r,x,y: integer;
begin
 (...)
  //Der Radius r hat den halben Wert der Bildschirmhöhe
    r:=round(Screen.Height/2);


  //Da der Nullpunkt beim Bildschirm oben links in der Ecke liegt, muss die Hälfte der Bildschirmbreite zum x-Wert und die Hälfte der Bilschirmhöhe zum y-Wert addiert werden.
    x:=round(Screen.Width/2);
    y:=round(Screen.Height/2);


  //Farbe für Umkreis festlegen
    Form1.Canvas.Pen.Color:=clblue;   //Linien
    Form1.Canvas.Brush.Color:=clblack;//Füllung


  //Kreis in der Bildschirmmitte zeichnen
    Form1.Canvas.Ellipse(round((Screen.Width-Screen.Height)/2),0,round((Screen.Width-Screen.Height)/2+Screen.Height),Screen.Height);


//Koordinaten der Eckpunkte berechnen
    A:=Point(x,y-r);
    B:=Point(x+round(-r*sqrt(2*sqrt(5)+10)/4),y-round(r*(sqrt(5)/4-1/4)));
    C:=Point(x+round(-r*sqrt(10-2*sqrt(5))/4),y+round(r*(sqrt(5)/4+1/4)));
    D:=Point(x+round(+r*sqrt(10-2*sqrt(5))/4),y+round(r*(sqrt(5)/4+1/4)));
    E:=Point(x+round(+r*sqrt(2*sqrt(5)+10)/4),y-round(r*(sqrt(5)/4-1/4)));


//Farbe für Fünfeck festlegen
    Form1.Canvas.Pen.Color:=cllime;  //Linien
    Form1.Canvas.Brush.Color:=cllime;//Füllung


//Fünfeck zeichnen
    Form1.Canvas.Polygon([A,B,C,D,E]);


(...)
end;
Die Ausgabe bestätigt das Ergebnis auf anschauliche Weise. Sie sollte in etwa so aussehen:
(wer zweifelt, kann die Seiten gerne nachmessen ;) )

Hoffe, das hilft dem ein oder anderen.
Den Rechenweg poste ich nur, wenn jemand Interesse daran hat.
Bei Fragen nutzt bitte die Kommentarfunktion!


Viele Grüße,
cosypanther

tags: regelmäßiges Fünfeck Koordinaten kartesisches Koordinatensystem berechnen Eckpunkte bestimmen Gleichung Formel

1 Kommentar:

  1. Ich glaube, die y-Koordinaten in Abhängigkeit von r für C und D sind falsch. Richtig ist -r*Wurzel(2*Wurzel5 + 6)/4

    AntwortenLöschen

Besucherstatistiken

eXTReMe Tracker

Follower