1 | initial version |
Modelling the problem into a system of equation does not necessarily involve Sage.
Solving the equation can then be done with or without Sage, symbolically or numerically.
Here is an approach to the modelisation part.
Set up a coordinate frame so that
O
,Call A
that midpoint, and call
B
be the midpoint of the next edge of the pentagon,
so that OA
and OB
make an angle of 2*pi/5
C
the centre of the hexagon in the vertical plane containing OA
,D
the centre of the hexagon in the vertical plane containing OB
,U
and V
the vertices of those two hexagons that are distinct when
they lie horizontally, but that coincide once they have been rotated
by the mystery angle alpha
which we are looking for,r
the radius of the pentagon, R
that of the hexagon.Use complex coordinates in the xy plane. Let zeta = exp(i*2*pi/5)
. Let
ux
, uy
, uz
be the coordinates of U
, and let u = ux + i * uy
.vx
, vy
, vz
be the coordinates of V
, and let v = vx + i * vy
.In terms of distances,
OA = OB = r * cos(pi/5)
AC = BD = R * cos(pi/6)
CU = DV = R
If the corresponding hexagons have been rotated by the same angle
around their common edge with the pentagon, the z
coordinates
of U
and V
are the same: uz = vz = R * cos(pi/6) * sin(alpha)
.
Their horizontal coordinates are found by decomposing
OU
as OA + AC + CU
OV
as OB + BD + DV
and their expressions as complex numbers are:
u = r * cos(pi/5) + R * cos(pi/6) * cos(alpha) + R * i
v = zeta * (r * cos(pi/5) + R * cos(pi/6) * cos(alpha) - R * i)
We have two equations from the geometry:
the polygons share the same edge length, so r * sin(pi/5) = R * sin(pi/6)
,
the angle alpha
is such that U
and V
coincide, so we equate u = v
to find alpha
.
The first equation lets us express r
in terms of R
as r = R * sin(pi/6) / sin(pi/5)
.
From the equation u = v
, substituting the values of u
and v
,
and the value of r
in terms of R
, we get a linear equation
in terms of cos(alpha)
which easily gives cos(alpha)
,
from where we get alpha
with the arccosine function.
In terms of using Sage, some possible exercises here are:
cos(alpha)
alpha
One could try to obtain a numerical solution or an exact solution.
2 | No.2 Revision |
Modelling the problem into a system of equation does not necessarily involve Sage.
Solving the equation
The soccer ball polyhedron is the polyhedron made of 12 regular pentagons and 20 regular hexagons, all with the same side length, glued edge to edge, each pentagon adjacent to 5 hexagons, each hexagon adjacent to 3 pentagons and 3 hexagons.
To determine the angle the hexagons make with the plane of a neighbouring pentagon, we restrict our attention to one pentagon and one adjacent hexagon.
We set up some notation. Call
P
the pentagon, E
its centreH
the hexagon, C
its centreU
, V
, W
three consecutive vertices of H
,
such that [UV]
is the common edge with P
A
the midpoint of [UV]
Q
the plane that contains P
q
the orthogonal projection to Q
B = q(C)
L
the line through E
perpendicular to Q
r
the rotation by a fifth of a turn around L
sending U
to V
Observe:
r^k(W)
form a regular pentagon R
parallel to P
C
is a midpoint of an edge of R
Here
R
is twice that of P
FC = 2 * EA
E
, A
, B
are aligned, so, as lengths, EB = EA + AB
R
, q
Set up a coordinate frame so that
Q
EB
and FC
are equalWe notice some right-angled triangles:
(A, B, C)
has a right angle
O
,Call A
that midpoint, and call
B
OA
and OB
make 2*pi/5
alpha
at A
, so cos(alpha) = AB / AC
(E, A, V)
has a right angle at A
and an angle pi/5
at E
, so
tan(pi/5) = AV / EA
(C, A, V)
has a right angle at A
and an angle pi/6
at C
the centre of the hexagon , so
tan(pi/6) = AV / CA
Combining the equations
FC = 2 * EA
FC = EB
EB = EA + AB
we get
EA = AB
Combining with the equations from our right-angled triangles, we get:
cos(alpha) = AB / AC
= EA / AC
= (EA / AV) / (CA / AV)
= (AV / CA) / (AV / EA)
= tan(pi/6) / tan(pi/5)
so in the vertical plane containing end,OA
, D
the centre of the hexagon in the vertical plane containing OB
,U
and V
the vertices of those two hexagons that are distinct when
they lie horizontally, but that coincide once they have been rotated
by the mystery angle alpha
which
cos(alpha) = tan(pi/6) / tan(pi/5)
and since we are looking for, for a positive angle
less than a flat angle, this means:r
the radius of the pentagon, R
alpha = arccos(tan(pi/6)/tan(pi/5))
Even though we solved our problem with pen and paper, let's see if Sage can bring something here.
We can define this number in Sage:
sage: a = arccos(tan(pi/6)/tan(pi/5))
and see that Use complex coordinates in the xy plane. Let of the hexagon. Sage turns zeta = exp(i*2*pi/5)
. Let
ux
tan(pi/6)/tan(pi/5)
into an expression
involving square roots:
sage: a
arccos(1/3*sqrt(3)/sqrt(-2*sqrt(5) + 5))
We can ask Sage for a numerical approximation:
sage: a.numerical_approx()
0.652358139784368
We can check what fraction of pi that is:
sage: f = (a / pi)
sage: f
arccos(1/3*sqrt(3)/sqrt(-2*sqrt(5) + 5))/pi
and get a numerical approximation:
sage: f.numerical_approx()
0.207652045225832
We can check this does not look like a rational number:
sage: continued_fraction(f)
[0; 4, 1, 4, 2, 2, 1, 16, 7, 10, 2, 3, 4, 1, 8, 3, 1, 1, 1, 6, ...]
In the end, the nicest way to express the result is
arccos(tan(pi/6)/tan(pi/5))
, "the angle whose cosine
is the ratio of tangents of pi/6 and pi/5", and this
is quite satisfactory since the quantities bear
a strong relation to the setting of hexagons
around a pentagon.uy
, uz
It would be In terms of distances, If the corresponding hexagons have been rotated by the same angle
around their common edge with the pentagon, the Their horizontal coordinates are found by decomposing and their expressions as complex numbers are: We have two equations from the geometry: the polygons share the same edge length, so the angle The first equation lets us express From the equation In terms of using Sage, some possible exercises here are:the coordinates of a fun project to draw pictures and animations
to illustrate the U
, and let u = ux + i * uy
. vx
, vy
, vz
be the coordinates of V
, and let v = vx + i * vy
.
OA = OB = r * cos(pi/5)
AC = BD = R * cos(pi/6)
CU = DV = R
z
coordinates
of U
and V
are the same: uz = vz = R * cos(pi/6) * sin(alpha)
.
OU
as OA + AC + CU
OV
as OB + BD + DV
u = r * cos(pi/5) + R * cos(pi/6) * cos(alpha) + R * i
v = zeta * (r * cos(pi/5) + R * cos(pi/6) * cos(alpha) - R * i)
r * sin(pi/5) = R * sin(pi/6)
,alpha
is such that U
and V
coincide, so we equate u = v
to find alpha
.r
in terms of R
as r = R * sin(pi/6) / sin(pi/5)
.u = v
, substituting the values of u
and v
,
and the value of r
in terms of R
, we get a linear equation
in terms of cos(alpha)
which easily gives cos(alpha)
,
from where we get alpha
with the arccosine function.
question problem using Sage. For example, one could
producecos(alpha)
alpha
a 3d animated scene to illustrate folding the hexagons from an initial position spread out in the plane of the pentagon to a final folded up position
a 3d animated scene drawing each of the steps of the reasoning above, highlighting the relevant right angled triangles one after the other.
One could try to obtain a numerical solution or an exact solution.
3 | No.3 Revision |
The soccer ball polyhedron is the polyhedron made of 12 regular pentagons and 20 regular hexagons, all with the same side length, glued edge to edge, each pentagon adjacent to 5 hexagons, each hexagon adjacent to 3 pentagons and 3 hexagons.
To determine the angle the hexagons make with the plane of a neighbouring pentagon, we restrict our attention to one pentagon and one adjacent hexagon.
We set up some notation. Call
P
the pentagon, E
its centreH
the hexagon, C
its centreU
, V
, W
three consecutive vertices of H
,
such that [UV]
is the common edge with P
A
the midpoint of [UV]
Q
the plane that contains P
q
the orthogonal projection to Q
B = q(C)
L
the line through E
perpendicular to Q
r
the rotation by a fifth of a turn around L
sending U
to V
Observe:
r^k(W)
form a regular pentagon R
parallel to P
C
is a midpoint of an edge of R
R
is twice that of P
FC = 2 * EA
E
, A
, B
are aligned, so, as lengths, EB = EA + AB
R
, q
is an isometry to Q
EB
and FC
are equalWe notice some right-angled triangles:
(A, B, C)
has a right angle at B
and an angle alpha
at A
, so
cos(alpha) = AB / AC
(E, A, V)
has a right angle at A
and an angle pi/5
at E
, so
tan(pi/5) = AV / EA
(C, A, V)
has a right angle at A
and an angle pi/6
at C
, so
tan(pi/6) = AV / CA
Combining the equations
FC = 2 * EA
FC = EB
EB = EA + AB
we get
EA = AB
Combining with the equations from our right-angled triangles, we get:
cos(alpha) = AB / AC
= EA / AC
= (EA / AV) / (CA / AV)
= (AV / CA) / (AV / EA)
= tan(pi/6) / tan(pi/5)
so in the end,
cos(alpha) = tan(pi/6) / tan(pi/5)
and since we are looking for a positive angle less than a flat angle, this means:
alpha = arccos(tan(pi/6)/tan(pi/5))
Even though we solved our problem with pen and paper, let's see if Sage can bring something here.
We can define this number in Sage:
sage: a = arccos(tan(pi/6)/tan(pi/5))
and see that Sage turns tan(pi/6)/tan(pi/5)
into an expression
involving square roots:
sage: a
arccos(1/3*sqrt(3)/sqrt(-2*sqrt(5) + 5))
We can ask Sage for a numerical approximation:
sage: a.numerical_approx()
0.652358139784368
We can check what fraction of pi that is:
sage: f = (a / pi)
sage: f
arccos(1/3*sqrt(3)/sqrt(-2*sqrt(5) + 5))/pi
and get a numerical approximation:
sage: f.numerical_approx()
0.207652045225832
We can check this does not look like a rational number:
sage: continued_fraction(f)
[0; 4, 1, 4, 2, 2, 1, 16, 7, 10, 2, 3, 4, 1, 8, 3, 1, 1, 1, 6, ...]
In the end, the nicest way to express the result is
arccos(tan(pi/6)/tan(pi/5))
, "the angle whose cosine
is the ratio of tangents of pi/6 and pi/5", and this
is quite satisfactory since the quantities bear
a strong relation to the setting of hexagons
around a pentagon.
It would be a fun project to draw pictures and animations to illustrate the problem using Sage. For example, one could produce
a 3d animated scene to illustrate folding the hexagons from an initial position spread out in the plane of the pentagon to a final folded up position
a 3d animated scene drawing each of the steps of the reasoning above, highlighting the relevant right angled triangles one after the other.
Let us look at the more general case of a central m
-gon
surrounded by m lateral n
-gons.
The hexagon case was a bit special, in that the midpoints of the larger pentagon were are the centre of the hexagon.
In general, it is not the centre we need to use, but really the midpoint of the segment joining the pair of vertices one vertex away from the adjacency side.
Calling C
that midpoint, the formulas we need are:
CW = tan(pi/m) * FC
CW = tan(pi/m) * FC
FC = EA + AB
EA = cot(pi/m)
AB = 2 * sin(tau/n) * cos(alpha)
CW = 1 + 2 * cos(alpha)
So altogether we get:
cos(alpha) = cot(tau/n) * cot(pi/m)
In Sage, define a function:
def basket_angle(m, n):
return arccos(cot(2*pi/n)*cot(pi/m))
and try it out:
sage: a = basket_angle(5, 6)
sage: a
arccos(1/15*sqrt(3)*sqrt(10*sqrt(5) + 25))
sage: a.n()
0.652358139784368
sage: (a/pi).n()
0.207652045225832
sage: (a * 180 / pi).n()
37.3773681406497
Octagons around a triangle:
sage: a = basket_angle(3, 8)
sage: a.n()
0.955316618124509
In degrees:
sage: (a * 180 / pi).n()
54.7356103172453
4 | No.4 Revision |
Fix two integers m ≥ 3
and n ≥ 4
and consider, in the horizontal plane
in three-space, a regular m
-gon surrounded by m
regular n
-gons
with the same side length, glued to it edge to edge.
Depending on m
and n
, the outer n
-gons can
m
and n
both large)n
-gons
only share a vertexThe second case happens only for finitely many pairs (m, n)
and is well studied.
The third case happens for every (m, 4)
and for finitely many other pairs.
In that third case, if we rotate each n
-gon by a same angle around
its common edge with the central m
-gon, as the rotation angle
increases, the gap between neighbouring n
-gons decreases,
until for some special value alpha
(depending on m
and n
),
it vanishes and each n
-gon shares a full edge with each of its neighbours.
We obtain a "basket" ; let's call that an (m, n)
-basket.
The soccer ball polyhedron is the polyhedron made of 12 regular pentagons and 20 regular hexagons, all with the same side length, glued edge to edge, each pentagon adjacent to 5 hexagons, each hexagon adjacent to 3 pentagons and 3 hexagons.
One of the pentagons together with its five adjacent hexagons
form a (5, 6)
-basket.
The question is: for each m
and n
, what is the angle alpha
to use?
To determine the angle the hexagons make with the
plane of a neighbouring pentagon, alpha
, we restrict our
attention our attention
to one pentagon m
-gon and one adjacent hexagon.
n
-gon. For convenience we take half the side length as our length unit.
We set up some notation. Call
P
the pentagon, M the m
-gon, E
its H
the hexagon, C
its centreN
the n
-gon,T
, U
, V
, W
HN
,
such that [UV]
is the common edge with M
A
the midpoint of [UV]
C
the midpoint of [TW]
P
A
the midpoint of [UV]
Q
the plane that contains M
L
the line through E
perpendicular to P
qp
the orthogonal projection Q
P
(parallel to L
)B = q(C)
C
to P
tau
the angle of a full turn, that is, tau = 2*pi
r
the rotation map by tau/m
(an m
-th of a turn) around L
E
perpendicular to Q
r
sending U
to V
and T
to W
;
k
, r^k
the rotation by (k/m)*tau
around L
U
to V
k
-th composition power of r
),Observe:
r^k(W)
r^k(T) for k
from 0
to m - 1
(including T
and W
) form a regular m
-gon parallel to M
. Call
R
P
C
is a midpoint of that m
-gon, and F
its centre. Notice that p(F) = E
. Since the planes containing M
and R
are parallel,
p
induces
R
R
is twice that of P
FC = EB
(both as vectors and as FC = 2 * EA
Notice
E
, A
, B
are aligned, so, as lengths, EB = EA + AB
R
, q
is an isometry to Q
EB
and FC
are equalWe notice some right-angled triangles:
(A, B, C)
has a right angle at B
and an angle alpha
at A
, so
cos(alpha) = AB / AC
(if n = 4
that triangle is degenerate but the formula still holds)
(E, A, V)
has a right angle at A
and an angle
at pi/5pi/mE
, so
tan(pi/5) tan(pi/m) = AV / EA
cot(pi/m) = EA / AV
and notice that by our choice of length unit, (C, A, V)
AV = 1
(F, C, W)
has a right angle at
and an angle AC
at pi/6pi/m
, soCF
tan(pi/6) = AV tan(pi/m) = CW / CA
FC
cot(pi/m) = FC / CW
Furthermore, calling H
the orthogonal projection of U
to the line (TW)
,
(T, H, U)
has a right angle at H
and an angle tau/n
at T
, so
TH = 2 * cos(tau/n)
UH = 2 * sin(tau/n)
In the trapezoid (T, U, V, W)
, C
is the midpoint of [WT]
,
the points C
, H
, T
are aligned, and UACH
is a rectangle, so
CW = CT
CT = CH + HT
AC = UH = 2 * sin(tau/n)
CH = AU = 1
Combining the equationsStarting from the equation
FC = 2 * EA
cot(pi/m) * CW
and substituting
FC = EB
EB = EA + AB
AB = cot(pi/m) + 2 * sin(tau/n) * cos(alpha)
and
CW = CT = CH + HT = AU + TH = 1 + 2 * cos(tau/n)
we get
EA = AB
cot(pi/m) + 2 * sin(tau/n) * cos(alpha) = cot(pi/m) * (1 + 2 * cos(tau/n))
Combining with the equations from our right-angled triangles, we get:which simplifies to
2 * sin(tau/n) * cos(alpha) = AB / AC
= EA / AC
= (EA / AV) / (CA / AV)
= (AV / CA) / (AV / EA)
= tan(pi/6) / tan(pi/5)
cot(pi/m) * 2 * cos(tau/n)
so in the end,and gives
cos(alpha) = tan(pi/6) / tan(pi/5)
and since we are looking for a positive angle less than a flat angle, this means:
alpha = arccos(tan(pi/6)/tan(pi/5))
cot(pi/m) * cot(tau/n)
Even though we solved our problem with pen and paper,
let's see if Sage can bring something here.
We can define this number in Sage:Define a function and try it out:
def basket_angle(m, n):
return arccos(cot(pi/m) * cot(2*pi/n))
Pentagon surrounded by hexagons:
sage: a = arccos(tan(pi/6)/tan(pi/5))
and see that Sage turns tan(pi/6)/tan(pi/5)
into an expression
involving square roots:
basket_angle(5, 6)
sage: a
arccos(1/3*sqrt(3)/sqrt(-2*sqrt(5) arccos(1/15*sqrt(3)*sqrt(10*sqrt(5) + 5))
25))
sage: a.n()
0.652358139784368
sage: (a/pi).n()
0.207652045225832
sage: (a * 180 / pi).n()
37.3773681406497
We can ask Sage for a numerical approximation:Triangle surrounded by octagons:
sage: a.numerical_approx()
0.652358139784368
a = basket_angle(3, 8)
sage: a.n()
0.955316618124509
We can check what fraction of pi that is:In degrees:
sage: f = (a * 180 / pi)
sage: f
arccos(1/3*sqrt(3)/sqrt(-2*sqrt(5) + 5))/pi
pi).n()
54.7356103172453
and get a numerical approximation:
sage: f.numerical_approx()
0.207652045225832
We can check this does not look like a rational number:
sage: continued_fraction(f)
[0; 4, 1, 4, 2, 2, 1, 16, 7, 10, 2, 3, 4, 1, 8, 3, 1, 1, 1, 6, ...]
In the end, the nicest way to express the result is
arccos(tan(pi/6)/tan(pi/5))
, "the angle whose cosine
is the ratio of tangents of pi/6 and pi/5", and this
is quite satisfactory since the quantities bear
a strong relation to the setting of hexagons
around a pentagon.
It would be a fun project to draw pictures and animations to illustrate the problem using Sage. For example, one could produce
a 3d animated scene to illustrate folding the hexagons from an initial position spread out in the plane of the pentagon to a final folded up position
a 3d animated scene drawing each of the steps of the reasoning above, highlighting the relevant right angled triangles one after the other.
Let us look at the more general case of a central m
-gon
surrounded by m lateral n
-gons.
The hexagon case was a bit special, in that the midpoints of the larger pentagon were are the centre of the hexagon.
In general, it is not the centre we need to use, but really the midpoint of the segment joining the pair of vertices one vertex away from the adjacency side.
Calling C
that midpoint, the formulas we need are:
CW = tan(pi/m) * FC
CW = tan(pi/m) * FC
FC = EA + AB
EA = cot(pi/m)
AB = 2 * sin(tau/n) * cos(alpha)
CW = 1 + 2 * cos(alpha)
So altogether we get:
cos(alpha) = cot(tau/n) * cot(pi/m)
In Sage, define a function:
def basket_angle(m, n):
return arccos(cot(2*pi/n)*cot(pi/m))
and try it out:
sage: a = basket_angle(5, 6)
sage: a
arccos(1/15*sqrt(3)*sqrt(10*sqrt(5) + 25))
sage: a.n()
0.652358139784368
sage: (a/pi).n()
0.207652045225832
sage: (a * 180 / pi).n()
37.3773681406497
Octagons around a triangle:
sage: a = basket_angle(3, 8)
sage: a.n()
0.955316618124509
In degrees:
sage: (a * 180 / pi).n()
54.7356103172453