While walking through town the other day, I saw a pillar that looks a
bit like this:
A circular pillar with vertical
tiles.
In other words, it was a circular vertical column decorated with flat
tiles. I got to thinking: how do you make such a column? I would
probably make a cylindrical base, then stick the tiles to it. But how
would I know how big each tile should be so that they exactly divide the
circumference of the pillar?
The problem is that, since the column is circular, and the tiles are
straight, you can’t just divide the circumference of the pillar by the
number of tiles. Each tile creates a tiny gap vs. the cylindrical
pillar, and those gaps would add up over the circumference of the
pillar. Your tiles wouldn’t exactly meet up when you get back to where
you started!
Gaps introduced by straight tiles
surrounding a circular column.
There should be a simple, mathematical relation between the
circumference of the pillar, and the perimeter of the regular polygon
with
vertices which circumscribes it.
Let’s draw a couple pictures. To keep things easy to visualize, we’ll
look at a case where
,
but we’ll keep our math generalizable to any
.
Figure 1: A circle with radius
circumscribed by a regular triangle with edge length
.
Our circle has radius
,
and the circumscribing polygon has edge length
.
Our task is to come up with some relationship between
and
.
(Or more precisely, an expression for
solely in terms of
.)
Zooming in on the bottom-right corner of our circle, we can define a
few more interesting quantities:
Figure 2: The bottom-right third of our
circle with labeled quantities.
We define:
:
the central angle of the polygon.
:
the height of the intersection point over the horizontal base of the
polygon.
:
the interior angle of the polygon.
Finally, if we focus on the region outlined by
,
and the bottom of the polygon:
Figure 3: The aforementioned
region.
We define one final quantity,
,
the interior angle of the right triangle formed by
and
.
Here is a summary of the quantities defined so far:
Let’s start defining these quantities in terms of each other -
preferably exclusively in terms of
where possible.
We have come up with an expression relating
and
but it’s far from the elegant solution we were searching for. Here is
where I chucked it into wolframalpha and got a nice solution, then asked
a clanker to derive it for me. The simplification process is:
We’re in the final stretch!
Let
,
.
Then:
This represents the ratio of these two shapes’ circumferences, so we
expect that at the limit of n, it should be 1. Therefore we subtract 1
to get an error function. This is the graph of
:
Plot of
(yellow).
As expected, the error starts out very large with few tiles, then
quickly drops towards 0 (the ratio converging to 1).
Our column-builders are more interested in the error with respect to
the length of a tile. To illustrate the point:
tends towards 0, but so does the length of our tiles. Which one
converges faster, and by how much?
To get the error per tile, we use the formula
.
(Intuitively: each tile is small, so the amount of error it sees is
inversely proportional to its size
).
TODO: I think that this measure of relative error is
wrong.
Plot of
(yellow) and
(orange).
Here are the values of
and
for up to 30 tiles:
# of tiles
P/C-1
(P/C-1)*n
3
0.653986686
1.961960059
4
0.273239545
1.092958179
5
0.156328347
0.7816417349
6
0.102657791
0.6159467451
7
0.073029735
0.511208143
8
0.054786175
0.4382894013
9
0.042697915
0.3842812313
10
0.034251515
0.3425151527
11
0.028106371
0.3091700813
12
0.023490523
0.2818862802
13
0.019932427
0.2591215493
14
0.017130161
0.2398222536
15
0.014882824
0.2232423644
16
0.013052368
0.2088378934
17
0.011541311
0.1962022837
18
0.010279181
0.185025256
19
0.009213984
0.1750656961
20
0.008306663
0.1661332692
21
0.007527411
0.1580756349
22
0.006853153
0.1507693603
23
0.006265797
0.1441133352
24
0.005750997
0.1380239172
25
0.005297252
0.1324312968
26
0.004895259
0.1272767379
27
0.004537424
0.1225104564
28
0.004217499
0.1180899697
29
0.003930303
0.1139788006
30
0.003671515
0.1101454484
As we can see, the ratio of
quickly drops below 1% (taking only 19 tiles) but even with 30 tiles the
per-tile error still doesn’t drops below 10%. Therefore in real-world
conditions, you actually need to account for this source of error, or
live with a narrower-than-intended tile on your column.
Finally, let’s address our problem statement directly. I have a
column of radius
,
and I want to wrap it with
tiles. What should the edge length
of each tile be so that the tiles wrap the column exactly?