
Soit un polygone réguliers à n coté et donc n sommets
La somme des angles opposé à la base des triangles isocèle formés par les cotés du polygone et le centre du cercle circonscrit est égale à
Par conséquent ces angles valent
avec k {0,1,…(n-1)}
et les coordonnes des sommets pour un cercle de rayon unité sont
x=cos ( )
y=sin ( )
Voici un petit algo que je viens d’implémenter en Tcl Tk et qui permet de tracer des polygones reguliers
Liste:=
Lire n # nombre de coté du polygone
k:=(n-1)
Pour i=0 jusqu’a k faire
x:=cos ( )
y:=sin ( )
Liste:= rajoute (x,y) Fin
Trace Ligne (Liste)
Voici l’implémentation pour un hexagone
set listepoint {}
set n 6.0
set k [ expr ($n-1) ]
for {set i 0} { $i <= $k } {incr i 1} {
set p [expr ($i/$n)]
set q [expr (6.2831*$p)]
set x [expr (100*cos($q)+150) ]
set y [expr (100*sin($q))+150 ]
lappend listepoint $x
lappend listepoint $y
}
lappend listepoint “251″
lappend listepoint “150″
canvas .c -width 300 -height 300
pack .c
.c create line $listepoint -fill yellow -width 1
Et le resultat:


