File:Construction of Every Single Planigon.png

Original file(5,120 × 7,000 pixels, file size: 1.94 MB, MIME type: image/png)

Summary

Description
English: The centroid-edge midpoint construction of every vertex polygon in every orientation, minus rotations and translations. There are 29 vertex polygons counting repeats, 21 unique vertex polygons, 15 which can be used in dual uniform tilings, and 14 which can be used in one time. There are 3 regular polygons, 8 planigons, 4 demiregular planigons, and 6 unusable polygons.
Date
Source Own work
Author Harry Princeton

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

Code in Asymptote: (attributions to me on derivatives or other version are every kindly appreciated :))

[asy] pair c1,c2,c3,c4; c1=(0,0); c2=(0,1+2/sqrt(3)); c3=(-1/2,1+5/(2*sqrt(3))); c4=(-(3+sqrt(3))/4,(3+3*sqrt(3))/4); for(int i=0; i<12; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/12+pi/12)/(2*sin(pi/12))+c1;
B=expi(2*(i+1)*pi/12+pi/12)/(2*sin(pi/12))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/2)/(2*sin(pi/3))+c2;
B=expi(2*(i+1)*pi/3+pi/2)/(2*sin(pi/3))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/2)/(2*sin(pi/3))+c3;
B=expi(2*(i+1)*pi/3-pi/2)/(2*sin(pi/3))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4-pi/12)/(2*sin(pi/4))+c4;
B=expi(2*(i+1)*pi/4-pi/12)/(2*sin(pi/4))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(c1--c2--c3--c4--cycle,yellow+opacity(0.667),black+linewidth(1)); pair c5,c6,c7,c8; c5=(4.4,0); c6=(4.4,(3+sqrt(3))/2); c7=(4.4-1/2-1/(2*sqrt(3)),(3+sqrt(3))/2); c8=(4.4-1/2-1/sqrt(3),1+sqrt(3)/2); for(int i=0; i<12; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/12+pi/12)/(2*sin(pi/12))+c5;
B=expi(2*(i+1)*pi/12+pi/12)/(2*sin(pi/12))+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/(2*sin(pi/4))+c6;
B=expi(2*(i+1)*pi/4+pi/4)/(2*sin(pi/4))+c6;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c6--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi)/(2*sin(pi/3))+c7;
B=expi(2*(i+1)*pi/3+pi)/(2*sin(pi/3))+c7;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c7--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3)/(2*sin(pi/3))+c8;
B=expi(2*(i+1)*pi/3)/(2*sin(pi/3))+c8;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c8--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c5,1/21)); filldraw(circle(c6,1/21)); filldraw(circle(c7,1/21)); filldraw(circle(c8,1/21)); filldraw(c5--c6--c7--c8--cycle,yellow+opacity(0.667)+linewidth(1)); label("Constructing V$3^2.4.12$ and V$4.3^2.12$.",(2,-2.3)); [/asy] [asy] pair c1,c2,c3,c4; c1=(0,0); c2=(1,0); c3=(1,1/2+1/(2*sqrt(3))); c4=(0,1/2+sqrt(3)/2); for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/(2*sin(pi/4))+c1;
B=expi(2*(i+1)*pi/4+pi/4)/(2*sin(pi/4))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/(2*sin(pi/4))+c2;
B=expi(2*(i+1)*pi/4+pi/4)/(2*sin(pi/4))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/6)/(2*sin(pi/3))+c3;
B=expi(2*(i+1)*pi/3-pi/6)/(2*sin(pi/3))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6)/(2*sin(pi/6))+c4;
B=expi(2*(i+1)*pi/6)/(2*sin(pi/6))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(c1--c2--c3--c4--cycle,yellow+opacity(0.667)+linewidth(1)); pair c5,c6,c7,c8; c5=(4,0+1/3); c6=(4-(1+sqrt(3))/4,(3+sqrt(3))/4+1/3); c7=(4-(sqrt(3)+7)/(4*sqrt(3)),(sqrt(3)-1)/4+1/3); c8=(4-sqrt(3)/2,-1/2+1/3); for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4-pi/12)/(2*sin(pi/4))+c5;
B=expi(2*(i+1)*pi/4-pi/12)/(2*sin(pi/4))+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6+pi/6)/(2*sin(pi/6))+c6;
B=expi(2*(i+1)*pi/6+pi/6)/(2*sin(pi/6))+c6;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c6--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3)/(2*sin(pi/3))+c7;
B=expi(2*(i+1)*pi/3)/(2*sin(pi/3))+c7;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c7--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4-pi/12)/(2*sin(pi/4))+c8;
B=expi(2*(i+1)*pi/4-pi/12)/(2*sin(pi/4))+c8;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c8--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c5,1/21)); filldraw(circle(c6,1/21)); filldraw(circle(c7,1/21)); filldraw(circle(c8,1/21)); filldraw(c5--c6--c7--c8--cycle,yellow+opacity(0.667),black+linewidth(1)); label("Constructing V$3.6.4^2$ and V$6.3.4^2$ (V$3.4^2.6$).",(2,-1.3)); [/asy]

[asy] pair c1,c2,c3; c1=(0,(cot(pi/42)+cot(pi/3))/2); c2=(0,0); c3=(cot(pi/3)+cot(pi/7))/2*expi(7*pi/6); for(int i=0; i<42; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/42)/(2*sin(pi/42))+c1;
B=expi(2*(i+1)*pi/42)/(2*sin(pi/42))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.25));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.3));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.3));
filldraw(circle(A,1/28));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/2)/(2*sin(pi/3))+c2;
B=expi(2*(i+1)*pi/3-pi/2)/(2*sin(pi/3))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.25));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.3));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.3));
filldraw(circle(A,1/28));

} for(int i=0; i<7; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/7+pi/42)/(2*sin(pi/7))+c3;
B=expi(2*(i+1)*pi/7+pi/42)/(2*sin(pi/7))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.25));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.3));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.3));
filldraw(circle(A,1/28));

} filldraw(circle(c1,1/14)); filldraw(circle(c2,1/14)); filldraw(circle(c3,1/14)); filldraw(c1--c2--c3--cycle,rgb(1.0,0.56,0.0)+opacity(0.667),black+linewidth(0.6)); pair c4,c5,c6; c4=(14,(cot(pi/42)+cot(pi/7))/2-2/3); c5=(14,-2/3); c6=(14,-2/3)+(cot(pi/3)+cot(pi/7))/2*expi(11*pi/14); for(int i=0; i<42; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/42)/(2*sin(pi/42))+c4;
B=expi(2*(i+1)*pi/42)/(2*sin(pi/42))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.3));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.3));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.3));
filldraw(circle(A,1/28));

} for(int i=0; i<7; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/7-pi/2)/(2*sin(pi/7))+c5;
B=expi(2*(i+1)*pi/7-pi/2)/(2*sin(pi/7))+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.3));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.3));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.3));
filldraw(circle(A,1/28));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+5*pi/42)/(2*sin(pi/3))+c6;
B=expi(2*(i+1)*pi/3+5*pi/42)/(2*sin(pi/3))+c6;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.3));
draw(c6--C,rgb(0.667,0.667,0.667)+linewidth(0.3));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.3));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.3));
filldraw(circle(A,1/28));

} filldraw(circle(c4,1/14)); filldraw(circle(c5,1/14)); filldraw(circle(c6,1/14)); filldraw(c4--c5--c6--cycle,rgb(1.0,0.56,0.0)+opacity(0.667),black+linewidth(0.6)); label("Constructing V$42.7.3$ and V$42.3.7$ (V$3.7.42$).",(6.5,-3)); [/asy]

[asy] pair c1,c2,c3; c1=(0,(cot(pi/24)+cot(pi/3))/2); c2=(0,0); c3=(cot(pi/3)+cot(pi/8))/2*expi(7*pi/6); for(int i=0; i<24; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/24+pi/24)/(2*sin(pi/24))+c1;
B=expi(2*(i+1)*pi/24+pi/24)/(2*sin(pi/24))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/2)/(2*sin(pi/3))+c2;
B=expi(2*(i+1)*pi/3-pi/2)/(2*sin(pi/3))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<8; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/8+pi/24)/(2*sin(pi/8))+c3;
B=expi(2*(i+1)*pi/8+pi/24)/(2*sin(pi/8))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} filldraw(circle(c1,1/14)); filldraw(circle(c2,1/14)); filldraw(circle(c3,1/14)); filldraw(c1--c2--c3--cycle,rgb(1.0,0.56,0.0)+opacity(0.667),black+linewidth(0.8)); pair c4,c5,c6; c4=(8,(cot(pi/24)+cot(pi/8))/2-0.8); c5=(8,-0.8); c6=(8,-0.8)+(cot(pi/3)+cot(pi/8))/2*expi(pi/2+2*pi/8); for(int i=0; i<24; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/24+pi/24)/(2*sin(pi/24))+c4;
B=expi(2*(i+1)*pi/24+pi/24)/(2*sin(pi/24))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<8; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/8-pi/8)/(2*sin(pi/8))+c5;
B=expi(2*(i+1)*pi/8-pi/8)/(2*sin(pi/8))+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6-2*pi/24)/(2*sin(pi/3))+c6;
B=expi(2*(i+1)*pi/3+pi/6-2*pi/24)/(2*sin(pi/3))+c6;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c6--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} filldraw(circle(c4,1/14)); filldraw(circle(c5,1/14)); filldraw(circle(c6,1/14)); filldraw(c4--c5--c6--cycle,rgb(1.0,0.56,0.0)+opacity(0.667),black+linewidth(0.8)); label("Constructing V$24.8.3$ and V$24.3.8$ (V$3.8.24$).",(3.7,-3)); [/asy]

[asy] pair c1,c2,c3; c1=(0,(cot(pi/18)+cot(pi/3))/2); c2=(0,0); c3=(cot(pi/3)+cot(pi/9))/2*expi(7*pi/6); for(int i=0; i<18; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/18)/(2*sin(pi/18))+c1;
B=expi(2*(i+1)*pi/18)/(2*sin(pi/18))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/2)/(2*sin(pi/3))+c2;
B=expi(2*(i+1)*pi/3-pi/2)/(2*sin(pi/3))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<9; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/9+pi/18)/(2*sin(pi/9))+c3;
B=expi(2*(i+1)*pi/9+pi/18)/(2*sin(pi/9))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} filldraw(circle(c1,1/14)); filldraw(circle(c2,1/14)); filldraw(circle(c3,1/14)); filldraw(c1--c2--c3--cycle,rgb(1.0,0.56,0.0)+opacity(0.667),black+linewidth(0.8)); pair c4,c5,c6; c4=(6.2,(cot(pi/18)+cot(pi/9))/2-0.8); c5=(6.2,-0.8); c6=(6.2,-0.8)+(cot(pi/3)+cot(pi/9))/2*expi(pi/2+2*pi/9); for(int i=0; i<18; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/18)/(2*sin(pi/18))+c4;
B=expi(2*(i+1)*pi/18)/(2*sin(pi/18))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<9; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/9-pi/2)/(2*sin(pi/9))+c5;
B=expi(2*(i+1)*pi/9-pi/2)/(2*sin(pi/9))+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6-2*pi/18)/(2*sin(pi/3))+c6;
B=expi(2*(i+1)*pi/3+pi/6-2*pi/18)/(2*sin(pi/3))+c6;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c6--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} filldraw(circle(c4,1/14)); filldraw(circle(c5,1/14)); filldraw(circle(c6,1/14)); filldraw(c4--c5--c6--cycle,rgb(1.0,0.56,0.0)+opacity(0.667),black+linewidth(0.8)); label("Constructing V$18.9.3$ and V$18.3.9$ (V$3.9.18$).",(2.9,-3)); [/asy]

[asy] pair c1,c2,c3; c1=(0,(cot(pi/15)+cot(pi/3))/2); c2=(0,0); c3=(cot(pi/3)+cot(pi/10))/2*expi(7*pi/6); for(int i=0; i<15; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/15+pi/2)/(2*sin(pi/15))+c1;
B=expi(2*(i+1)*pi/15+pi/2)/(2*sin(pi/15))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/2)/(2*sin(pi/3))+c2;
B=expi(2*(i+1)*pi/3-pi/2)/(2*sin(pi/3))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<10; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/10+pi/15)/(2*sin(pi/10))+c3;
B=expi(2*(i+1)*pi/10+pi/15)/(2*sin(pi/10))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} filldraw(circle(c1,1/14)); filldraw(circle(c2,1/14)); filldraw(circle(c3,1/14)); filldraw(c1--c2--c3--cycle,rgb(1.0,0.56,0.0)+opacity(0.667),black+linewidth(0.8)); pair c4,c5,c6; c4=(5.2,(cot(pi/15)+cot(pi/10))/2-1.1); c5=(5.2,-1.1); c6=(5.2,-1.1)+(cot(pi/3)+cot(pi/10))/2*expi(pi/2+2*pi/10); for(int i=0; i<15; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/15+pi/2)/(2*sin(pi/15))+c4;
B=expi(2*(i+1)*pi/15+pi/2)/(2*sin(pi/15))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<10; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/10)/(2*sin(pi/10))+c5;
B=expi(2*(i+1)*pi/10)/(2*sin(pi/10))+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6-2*pi/15)/(2*sin(pi/3))+c6;
B=expi(2*(i+1)*pi/3+pi/6-2*pi/15)/(2*sin(pi/3))+c6;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c6--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/28));

} filldraw(circle(c4,1/14)); filldraw(circle(c5,1/14)); filldraw(circle(c6,1/14)); filldraw(c4--c5--c6--cycle,rgb(1.0,0.56,0.0)+opacity(0.667),black+linewidth(0.8)); label("Constructing V$15.10.3$ and V$15.3.10$ (V$3.10.15$).",(2.3,-3.3)); [/asy]

[asy] pair c1,c2,c3; c1=(0,(cot(pi/12)+cot(pi/3))/2); c2=(0,0); c3=(cot(pi/3)+cot(pi/12))/2*expi(7*pi/6); for(int i=0; i<12; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/12+pi/12)/(2*sin(pi/12))+c1;
B=expi(2*(i+1)*pi/12+pi/12)/(2*sin(pi/12))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/36));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/2)/(2*sin(pi/3))+c2;
B=expi(2*(i+1)*pi/3-pi/2)/(2*sin(pi/3))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/36));

} for(int i=0; i<12; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/12+pi/12)/(2*sin(pi/12))+c3;
B=expi(2*(i+1)*pi/12+pi/12)/(2*sin(pi/12))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/36));

} filldraw(circle(c1,1/18)); filldraw(circle(c2,1/18)); filldraw(circle(c3,1/18)); filldraw(c1--c2--c3--cycle,blue+opacity(0.667),black+linewidth(1)); label("Constructing V$12^2.3$ (V$3.12^2$).",(-0.5,-3.6)); [/asy]

[asy] pair c1,c2,c3; c1=(0,(cot(pi/20)+cot(pi/4))/2); c2=(0,0); c3=(cot(pi/4)+cot(pi/5))/2*expi(pi); for(int i=0; i<20; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/20+pi/20)/(2*sin(pi/20))+c1;
B=expi(2*(i+1)*pi/20+pi/20)/(2*sin(pi/20))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/36));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4-pi/4)/(2*sin(pi/4))+c2;
B=expi(2*(i+1)*pi/4-pi/4)/(2*sin(pi/4))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/36));

} for(int i=0; i<5; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/5+pi)/(2*sin(pi/5))+c3;
B=expi(2*(i+1)*pi/5+pi)/(2*sin(pi/5))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/36));

} filldraw(circle(c1,1/18)); filldraw(circle(c2,1/18)); filldraw(circle(c3,1/18)); filldraw(c1--c2--c3--cycle,rgb(1.0,0.56,0.0)+opacity(0.667),black+linewidth(0.8)); pair c4,c5,c6; c4=(6.8,(cot(pi/20)+cot(pi/5))/2-0.2); c5=(6.8,-0.2); c6=(6.8,-0.2)+(cot(pi/4)+cot(pi/5))/2*expi(pi/2+2*pi/5); for(int i=0; i<20; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/20+pi/20)/(2*sin(pi/20))+c4;
B=expi(2*(i+1)*pi/20+pi/20)/(2*sin(pi/20))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/36));

} for(int i=0; i<5; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/5-pi/2)/(2*sin(pi/5))+c5;
B=expi(2*(i+1)*pi/5-pi/2)/(2*sin(pi/5))+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/36));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4-3*pi/5)/(2*sin(pi/4))+c6;
B=expi(2*(i+1)*pi/4+pi/4-3*pi/5)/(2*sin(pi/4))+c6;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.4));
draw(c6--C,rgb(0.667,0.667,0.667)+linewidth(0.4));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.4));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.4));
filldraw(circle(A,1/36));

} filldraw(circle(c4,1/18)); filldraw(circle(c5,1/18)); filldraw(circle(c6,1/18)); filldraw(c4--c5--c6--cycle,rgb(1.0,0.56,0.0)+opacity(0.667),black+linewidth(0.8)); label("Constructing V$20.5.4$ and V$20.4.5$ (V$4.5.20$).",(3.3,-1.8)); [/asy]

[asy] pair c1,c2,c3; c1=(0,(cot(pi/12)+cot(pi/4))/2); c2=(0,0); c3=(cot(pi/4)+cot(pi/6))/2*expi(pi); for(int i=0; i<12; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/12+pi/12)/(2*sin(pi/12))+c1;
B=expi(2*(i+1)*pi/12+pi/12)/(2*sin(pi/12))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4-pi/4)/(2*sin(pi/4))+c2;
B=expi(2*(i+1)*pi/4-pi/4)/(2*sin(pi/4))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6+pi/2)/(2*sin(pi/6))+c3;
B=expi(2*(i+1)*pi/6+pi/2)/(2*sin(pi/6))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(c1--c2--c3--cycle,blue+opacity(0.667),black+linewidth(1.0)); pair c4,c5,c6; c4=(4.2,(cot(pi/12)+cot(pi/6))/2-0.3); c5=(4.2,-0.3); c6=(4.2,-0.3)+(cot(pi/4)+cot(pi/6))/2*expi(pi/2+2*pi/6); for(int i=0; i<12; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/12+pi/12)/(2*sin(pi/12))+c4;
B=expi(2*(i+1)*pi/12+pi/12)/(2*sin(pi/12))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6)/(2*sin(pi/6))+c5;
B=expi(2*(i+1)*pi/6)/(2*sin(pi/6))+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/12)/(2*sin(pi/4))+c6;
B=expi(2*(i+1)*pi/4+pi/12)/(2*sin(pi/4))+c6;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c6--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c4,1/21)); filldraw(circle(c5,1/21)); filldraw(circle(c6,1/21)); filldraw(c4--c5--c6--cycle,blue+opacity(0.667),black+linewidth(1.0)); label("Constructing V$12.6.4$ and V$12.4.6$ (V$4.6.12$).",(1.8,-1.9)); [/asy]

[asy] pair c1,c2,c3; c1=(0,(cot(pi/8)+cot(pi/4))/2); c2=(0,0); c3=(cot(pi/4)+cot(pi/8))/2*expi(pi); for(int i=0; i<8; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/8+pi/8)/(2*sin(pi/8))+c1;
B=expi(2*(i+1)*pi/8+pi/8)/(2*sin(pi/8))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4-pi/4)/(2*sin(pi/4))+c2;
B=expi(2*(i+1)*pi/4-pi/4)/(2*sin(pi/4))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<8; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/8+pi/8)/(2*sin(pi/8))+c3;
B=expi(2*(i+1)*pi/8+pi/8)/(2*sin(pi/8))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(c1--c2--c3--cycle,cyan+opacity(0.667),black+linewidth(1.0)); label("Constructing V$8^2.4$ (V$4.8^2$).",(-0.7,-1.6)); [/asy]

[asy] pair c1,c2,c3; c1=expi(pi/3); c2=expi(pi); c3=expi(-pi/3); for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6)+c1;
B=expi(2*(i+1)*pi/6)+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6)+c2;
B=expi(2*(i+1)*pi/6)+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6)+c3;
B=expi(2*(i+1)*pi/6)+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(c1--c2--c3--cycle,green+opacity(0.667),black+linewidth(1.0)); label("Constructing V$6^3$.",(0,-2)); [/asy]

[asy] pair c1,c2,c3,c4; c1=(0.5,0.5); c2=(-0.5,0.5); c3=(-0.5,-0.5); c4=(0.5,-0.5); for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/sqrt(2)+c1;
B=expi(2*(i+1)*pi/4+pi/4)/sqrt(2)+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/sqrt(2)+c2;
B=expi(2*(i+1)*pi/4+pi/4)/sqrt(2)+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/sqrt(2)+c3;
B=expi(2*(i+1)*pi/4+pi/4)/sqrt(2)+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/sqrt(2)+c4;
B=expi(2*(i+1)*pi/4+pi/4)/sqrt(2)+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(c1--c2--c3--c4--cycle,green+opacity(0.667),black+linewidth(1.0)); label("Constructing V$4^4$.",(0,-1.3)); [/asy]

[asy] pair c1,c2,c3,c4,c5,c6; c1=expi(pi/6)/sqrt(3); c2=expi(pi/2)/sqrt(3); c3=expi(5*pi/6)/sqrt(3); c4=expi(-5*pi/6)/sqrt(3); c5=expi(-pi/2)/sqrt(3); c6=expi(-pi/6)/sqrt(3); for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/2)/sqrt(3)+c1;
B=expi(2*(i+1)*pi/3+pi/2)/sqrt(3)+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/2)/sqrt(3)+c2;
B=expi(2*(i+1)*pi/3-pi/2)/sqrt(3)+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/2)/sqrt(3)+c3;
B=expi(2*(i+1)*pi/3+pi/2)/sqrt(3)+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/2)/sqrt(3)+c4;
B=expi(2*(i+1)*pi/3-pi/2)/sqrt(3)+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/2)/sqrt(3)+c5;
B=expi(2*(i+1)*pi/3+pi/2)/sqrt(3)+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/2)/sqrt(3)+c6;
B=expi(2*(i+1)*pi/3-pi/2)/sqrt(3)+c6;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c6--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(circle(c5,1/21)); filldraw(circle(c6,1/21)); filldraw(c1--c2--c3--c4--c5--c6--cycle,green+opacity(0.667),black+linewidth(1.0)); label("Constructing V$3^6$.",(0,-1.1)); [/asy]

[asy] pair c1,c2,c3; c1=(0,(cot(pi/10)+cot(pi/5))/2); c2=(0,0); c3=(cot(pi/5)+cot(pi/5))/2*expi(9*pi/10); for(int i=0; i<10; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/10)/(2*sin(pi/10))+c1;
B=expi(2*(i+1)*pi/10)/(2*sin(pi/10))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<5; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/5-pi/2)/(2*sin(pi/5))+c2;
B=expi(2*(i+1)*pi/5-pi/2)/(2*sin(pi/5))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<5; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/5+pi/2)/(2*sin(pi/5))+c3;
B=expi(2*(i+1)*pi/5+pi/2)/(2*sin(pi/5))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(c1--c2--c3--cycle,red+opacity(0.667),black+linewidth(1)); label("Constructing V$10.5^2$ (V$5.10^2$).",(-0.2,-1.3)); [/asy]

[asy] pair c1,c2,c3,c4; c1=(-1/2,-1/2); c2=(1/(2*sqrt(3)),-1/2); c3=expi(pi/4)/(2*sin(pi/12)); c4=(-1/2,1/(2*sqrt(3))); for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4-pi/4)/(2*sin(pi/4))+c1;
B=expi(2*(i+1)*pi/4-pi/4)/(2*sin(pi/4))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3)/(2*sin(pi/3))+c2;
B=expi(2*(i+1)*pi/3)/(2*sin(pi/3))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<12; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/12+pi/12)/(2*sin(pi/12))+c3;
B=expi(2*(i+1)*pi/12+pi/12)/(2*sin(pi/12))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/6)/(2*sin(pi/3))+c4;
B=expi(2*(i+1)*pi/3-pi/6)/(2*sin(pi/3))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(c1--c2--c3--c4--cycle,yellow+opacity(0.667),black+linewidth(1)); label("Constructing V$12.3.4.3$ (V$3.4.3.12$).",(1,-1.4)); [/asy]

[asy] pair c1,c2,c3,c4; c1=(1/2,1/(2*sqrt(3))); c2=(-1/2,sqrt(3)/2); c3=(-1/2,-sqrt(3)/2); c4=(1/2,-1/(2*sqrt(3))); for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/6)/(2*sin(pi/3))+c1;
B=expi(2*(i+1)*pi/3-pi/6)/(2*sin(pi/3))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6)/(2*sin(pi/6))+c2;
B=expi(2*(i+1)*pi/6)/(2*sin(pi/6))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6)/(2*sin(pi/6))+c3;
B=expi(2*(i+1)*pi/6)/(2*sin(pi/6))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6)/(2*sin(pi/3))+c4;
B=expi(2*(i+1)*pi/3+pi/6)/(2*sin(pi/3))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(c1--c2--c3--c4--cycle,yellow+opacity(0.667),black+linewidth(1)); label("Constructing V$3.6^2.3$ (V$3^2.6^2$).",(-0.3,-2)); [/asy]

[asy] pair c1,c2,c3,c4; c1=(1/2,-1/(2*sqrt(3))); c2=(1/2,1/2); c3=(-sqrt(3)/2,1/2); c4=expi(-7*pi/12)/sqrt(2); for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6)/(2*sin(pi/3))+c1;
B=expi(2*(i+1)*pi/3+pi/6)/(2*sin(pi/3))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/(2*sin(pi/4))+c2;
B=expi(2*(i+1)*pi/4+pi/4)/(2*sin(pi/4))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6+pi/6)/(2*sin(pi/6))+c3;
B=expi(2*(i+1)*pi/6+pi/6)/(2*sin(pi/6))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4-pi/12)/(2*sin(pi/4))+c4;
B=expi(2*(i+1)*pi/4-pi/12)/(2*sin(pi/4))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(c1--c2--c3--c4--cycle,blue+opacity(0.667),black+linewidth(1)); label("Constructing V$4.3.4.6$ (V$3.4.6.4$).",(-0.2,-1.6)); [/asy]

[asy] pair c1,c2,c3,c4; c1=(1,0); c2=(0,1/sqrt(3)); c3=(-1,0); c4=(0,-1/sqrt(3)); for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6)/(2*sin(pi/6))+c1;
B=expi(2*(i+1)*pi/6)/(2*sin(pi/6))+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6)/(2*sin(pi/3))+c2;
B=expi(2*(i+1)*pi/3+pi/6)/(2*sin(pi/3))+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6)/(2*sin(pi/6))+c3;
B=expi(2*(i+1)*pi/6)/(2*sin(pi/6))+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/6)/(2*sin(pi/3))+c4;
B=expi(2*(i+1)*pi/3-pi/6)/(2*sin(pi/3))+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(c1--c2--c3--c4--cycle,blue+opacity(0.667),black+linewidth(1)); label("Constructing V$(3.6)^2$.",(0,-1.2)); [/asy]

[asy] pair c1,c2,c3,c4,c5; c1=(0.5,0.5); c2=(-0.5,0.5); c3=(-0.5,-1/(2*sqrt(3))); c4=(0,-1/sqrt(3)); c5=(0.5,-1/(2*sqrt(3))); for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/sqrt(2)+c1;
B=expi(2*(i+1)*pi/4+pi/4)/sqrt(2)+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/sqrt(2)+c2;
B=expi(2*(i+1)*pi/4+pi/4)/sqrt(2)+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6)/sqrt(3)+c3;
B=expi(2*(i+1)*pi/3+pi/6)/sqrt(3)+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/6)/sqrt(3)+c4;
B=expi(2*(i+1)*pi/3-pi/6)/sqrt(3)+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6)/sqrt(3)+c5;
B=expi(2*(i+1)*pi/3+pi/6)/sqrt(3)+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(circle(c5,1/21)); filldraw(c1--c2--c3--c4--c5--cycle,blue+opacity(0.667),black+linewidth(1.0)); label("Constructing V$4^2.3^3$ (V$3^3.4^2$).",(0,-1.1)); [/asy]

[asy] pair c1,c2,c3,c4,c5; c1=(0.5,0.5); c2=(-1/(2*sqrt(3)),0.5); c3=expi(13*pi/12)/sqrt(2); c4=(0,-1/sqrt(3)); c5=(0.5,-1/(2*sqrt(3))); for(int i=0; i<4; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/4)/sqrt(2)+c1;
B=expi(2*(i+1)*pi/4+pi/4)/sqrt(2)+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi)/sqrt(3)+c2;
B=expi(2*(i+1)*pi/3+pi)/sqrt(3)+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/4+pi/12)/sqrt(2)+c3;
B=expi(2*(i+1)*pi/4+pi/12)/sqrt(2)+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/6)/sqrt(3)+c4;
B=expi(2*(i+1)*pi/3-pi/6)/sqrt(3)+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6)/sqrt(3)+c5;
B=expi(2*(i+1)*pi/3+pi/6)/sqrt(3)+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(circle(c5,1/21)); filldraw(c1--c2--c3--c4--c5--cycle,blue+opacity(0.667),black+linewidth(1.0)); label("Constructing V$4.3.4.3^2$ (V$3^2.4.3.4$).",(0,-1.1)); [/asy]

[asy] pair c1,c2,c3,c4,c5,c6; c1=(1/2,sqrt(3)/2); c2=expi(5*pi/6)/sqrt(3); c3=expi(-5*pi/6)/sqrt(3); c4=expi(-pi/2)/sqrt(3); c5=expi(-pi/6)/sqrt(3); for(int i=0; i<6; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/6)+c1;
B=expi(2*(i+1)*pi/6)+c1;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c1--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/6)/sqrt(3)+c2;
B=expi(2*(i+1)*pi/3-pi/6)/sqrt(3)+c2;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c2--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6)/sqrt(3)+c3;
B=expi(2*(i+1)*pi/3+pi/6)/sqrt(3)+c3;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c3--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3-pi/6)/sqrt(3)+c4;
B=expi(2*(i+1)*pi/3-pi/6)/sqrt(3)+c4;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c4--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} for(int i=0; i<3; ++i) {

pair A,B,C,D,E,F,G,H,I,J,K;
A=expi(2*i*pi/3+pi/6)/sqrt(3)+c5;
B=expi(2*(i+1)*pi/3+pi/6)/sqrt(3)+c5;
C=(A+B)/2;
D=(A+C)/2+(0,1)*(A-C)/8;
E=(A+C)/2+(0,1)*(C-A)/8;
F=(B+C)/2+(0,1)*(B-C)/8;
G=(B+C)/2+(0,1)*(C-B)/8;
H=(A+3*C)/4;
I=(A+3*C)/4+(0,1)*(C-A)/4;
J=(B+3*C)/4+(0,1)*(B-C)/4;
K=(B+3*C)/4;
draw(A--B,linewidth(0.5));
draw(c5--C,rgb(0.667,0.667,0.667)+linewidth(0.5));
draw(D--E,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(F--G,rgb(0.333,0.333,0.333)+linewidth(0.5));
draw(H--I--J--K,rgb(0.333,0.333,0.333)+linewidth(0.5));
filldraw(circle(A,1/42));

} filldraw(circle(c1,1/21)); filldraw(circle(c2,1/21)); filldraw(circle(c3,1/21)); filldraw(circle(c4,1/21)); filldraw(circle(c5,1/21)); filldraw(c1--c2--c3--c4--c5--cycle,blue+opacity(0.667),black+linewidth(1.0)); label("Constructing V$6.3^4$ (V$3^4.6$).",(0,-1.1)); [/asy]

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

16 July 2019

image/png

2272c07e20cc5968ec3fdbdbf9057b2665a13f69

2,030,404 byte

7,000 pixel

5,120 pixel

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current19:22, 29 August 2019Thumbnail for version as of 19:22, 29 August 20195,120 × 7,000 (1.94 MB)Harry PrincetonOrdered the vertex regular planigons by size and colored them with frequency inverse to size. Dual lattices are faintly present. Complex version at 200 px/side length.
23:39, 30 July 2019Thumbnail for version as of 23:39, 30 July 20195,120 × 7,000 (2.5 MB)Harry PrincetonCorrected orientation of rhombus from (3.6)^2 to (6.3)^2.
00:30, 17 July 2019Thumbnail for version as of 00:30, 17 July 20195,120 × 7,000 (1.96 MB)Harry PrincetonCross-wiki upload from en.wikipedia.org
The following pages on the English Wikipedia use this file (pages on other projects are not listed):

Metadata