Długość boku a każdego sześciokąta foremnego jest równa promieniowi Ro okręgu opisanego na tym sześciokącie. Z kolei długość promieniaRo pomnożona przez dwa jest równa długości przekątnej głównej P1, która równocześnie jest symetralną kąta wewnętrznego α sześciokąta foremnego. Kąt α jest równy 120°. Całkowita suma kątów wewnętrznych sześciokąta foremnego wynosi 720° czyli 4·π. W sześciokącie foremnym znajdują się trzy przekątne główne P1 i sześć przekątnych krótszych P2, przy czym te ostatnie tworzą heksagram. Każdy sześciokąt foremny można podzielić na sześć trójkątów równobocznych, co stanowi podstawę wyprowadzenia wzoru na jego pole powierzchni.
Jeżeli chodzi o sam hezagram, jego pole powierzchni jest równe pola powierzchni sześciokąta zbudowanego na jego zewnętrznych wierzchołkach.
Podstawowe wzory
Sześciokąta foremnego
Obwód sześciokąta foremnego:
[1]
Zapis wyrażenia w formacie TeX-a:
L=6\cdot a=6\cdot R_o
Pole powierzchni sześciokąta foremnego, gdy znana jest długość boku a a tym samym promień Ro okręgu opisanego na nim jest równe:
[2]
Zapis wyrażenia w formacie TeX-a:
P_{pow}=\frac{3\cdot a^2\cdot \sqrt{3}}{2}
Znając pole powierzchni hexagramu pole powierzchni sześciokąta foremnego jest równe:
[3]
Zapis wyrażenia w formacie TeX-a:
P_{pow}=3\cdot P_{pow\, hex}
Długość przekątnej głównej P1 wynosi:
[4]
Zapis wyrażenia w formacie TeX-a:
P_{1}=2\cdot a=2\cdot R_{o}
Długość przekątnej krótszej P2 wynosi:
[5]
Zapis wyrażenia w formacie TeX-a:
P_{2}=2\cdot R_{w}=S_a=a\cdot sqrt{3}
Hexagramu
Obwód, gdy znana jest długość boku P2 hexagramu a zarazem długość krótszej przekątnej sześciokąta na nim opisanego:
[6]
Zapis wyrażenia w formacie TeX-a:
L_{hex}=6\cdot P_2=6\cdot a\cdot sqrt{3}
Pole powierzchni hexagramu to pola powierzchni sześciokąta na nim opisanego, a więc:
Grafika żółwia - kreślenie sześciokąta i hexagramu
W Pythonie znajduje się specjalny moduł turtle poświęcony grafice żółwia, poniżej zamieszczam przykład kodu, który rysuje sześciokąt foremny:
import turtle as tr
tr.pensize(10)
L = 100
for i in range(6):
tr.forward(L)
tr.left(360 / 6)
Nic nie stoi na przeszkodzie, aby wykreślić heksagram za pomocą kodu następującego:
import turtle as tr
tr.pensize(10)
L = 100
for i in range(3):
tr.forward(L)
tr.left(120)
tr.forward(L / 3)
tr.right(60)
tr.forward(L / 3)
tr.left(120)
for i in range(3):
tr.forward(L)
tr.left(120)
Na koniec rysowanie sześciokąta foremnego z heksagramem:
import turtle as tr
tr.pensize(10)
L = 100
for i in range(6):
tr.forward(L)
tr.left(360 / 6)
l = L * 3 ** 0.5
tr.left(30)
tr.pencolor((1.,0,0))
for i in range(3):
tr.forward(l)
tr.left(120)
tr.forward(l / 3)
tr.right(60)
tr.forward(l / 3)
tr.left(120)
for i in range(3):
tr.forward(l)
tr.left(120)