Compare commits
1 Commits
251d9bb9e5
...
88c11cf828
Author | SHA1 | Date | |
---|---|---|---|
88c11cf828 |
9
src/Advanced/Wallpaper/main.typ
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#import "@local/handout:0.1.0": *
|
||||||
|
|
||||||
|
#show: handout.with(
|
||||||
|
title: [Wallpaper Symmetries],
|
||||||
|
by: "Mark",
|
||||||
|
)
|
||||||
|
|
||||||
|
#include "parts/00 arithmetic.typ"
|
||||||
|
#pagebreak()
|
7
src/Advanced/Wallpaper/meta.toml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[metadata]
|
||||||
|
title = "Wallpaper Symmetries"
|
||||||
|
|
||||||
|
|
||||||
|
[publish]
|
||||||
|
handout = true
|
||||||
|
solutions = true
|
254
src/Advanced/Wallpaper/parts/00 arithmetic.typ
Normal file
@ -0,0 +1,254 @@
|
|||||||
|
#import "@local/handout:0.1.0": *
|
||||||
|
#import "@preview/cetz:0.3.1"
|
||||||
|
|
||||||
|
= Wallpaper Symmetries
|
||||||
|
|
||||||
|
#definition()
|
||||||
|
A _Euclidean isometry_ is a transformation of the plane that preserves distances. \
|
||||||
|
Intuituvely, an isometry moves objects on the plane without deforming them.
|
||||||
|
|
||||||
|
There are four classes of _Euclidean isometries_:
|
||||||
|
- Translation
|
||||||
|
- Reflection
|
||||||
|
- Rotation
|
||||||
|
- Glide reflection
|
||||||
|
#note([We can prove that there are no others, but this is beyond the scope of this handout.]) \
|
||||||
|
A simple example of each isometry is shown below:
|
||||||
|
|
||||||
|
#let demo(c) = {
|
||||||
|
let s = 0.75
|
||||||
|
cetz.draw.line(
|
||||||
|
(0, 0),
|
||||||
|
(3 * s, 0),
|
||||||
|
(3 * s, 1 * s),
|
||||||
|
(1 * s, 1 * s),
|
||||||
|
(1 * s, 2 * s),
|
||||||
|
(0, 2 * s),
|
||||||
|
close: true,
|
||||||
|
fill: c,
|
||||||
|
stroke: black + 0mm * s,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
#box(
|
||||||
|
height: 10cm,
|
||||||
|
align(
|
||||||
|
center,
|
||||||
|
table(
|
||||||
|
stroke: none,
|
||||||
|
align: center,
|
||||||
|
columns: (1fr, 1fr),
|
||||||
|
rows: (1fr, 1fr),
|
||||||
|
cetz.canvas({
|
||||||
|
import cetz.draw: *
|
||||||
|
|
||||||
|
demo(ored)
|
||||||
|
translate(x: 0, y: -2.5)
|
||||||
|
demo(oblue)
|
||||||
|
})
|
||||||
|
+ [Translation],
|
||||||
|
cetz.canvas({
|
||||||
|
import cetz.draw: *
|
||||||
|
|
||||||
|
circle((-2, 0), radius: 0.2, stroke: none, fill: black)
|
||||||
|
|
||||||
|
demo(ored)
|
||||||
|
rotate(z: -45deg, origin: (-2, 0))
|
||||||
|
demo(oblue)
|
||||||
|
})
|
||||||
|
+ [Rotation],
|
||||||
|
|
||||||
|
cetz.canvas({
|
||||||
|
import cetz.draw: *
|
||||||
|
|
||||||
|
line((-2, 0), (4, 0))
|
||||||
|
|
||||||
|
translate(x: 0, y: 0.25)
|
||||||
|
demo(ored)
|
||||||
|
set-transform(none)
|
||||||
|
|
||||||
|
set-transform((
|
||||||
|
(1, 0, 0, 0),
|
||||||
|
(0, 1, 0, 0),
|
||||||
|
(0, 0, 1, 0),
|
||||||
|
(0, 0, 0, 1),
|
||||||
|
))
|
||||||
|
|
||||||
|
translate(x: 0, y: 0.25)
|
||||||
|
demo(oblue)
|
||||||
|
})
|
||||||
|
+ [Reflection],
|
||||||
|
cetz.canvas({
|
||||||
|
import cetz.draw: *
|
||||||
|
|
||||||
|
|
||||||
|
demo(ored)
|
||||||
|
|
||||||
|
set-transform((
|
||||||
|
(1, 0, 0, 0),
|
||||||
|
(0, 1, 0, 0),
|
||||||
|
(0, 0, 0, 0),
|
||||||
|
(0, 0, 0, 0),
|
||||||
|
))
|
||||||
|
translate(x: 2.5, y: 0)
|
||||||
|
|
||||||
|
demo(oblue)
|
||||||
|
|
||||||
|
set-transform(none)
|
||||||
|
line((-1, 0), (5, 0))
|
||||||
|
})
|
||||||
|
+ [Glide reflection],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#definition()
|
||||||
|
A _wallpaper_ is a two-dimensional pattern that...
|
||||||
|
- has translational symmetry in at least two directions
|
||||||
|
#note([(and therefore fills the plane)])
|
||||||
|
- has countably many reflection, rotation, or glide symmetries. \
|
||||||
|
|
||||||
|
#problem()
|
||||||
|
Is the empty plane a valid wallpaper?
|
||||||
|
|
||||||
|
#solution([
|
||||||
|
No, since it has an uncountable number of symmetries.
|
||||||
|
])
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
#definition()
|
||||||
|
A _mirror symmetry_ is a reflection about a line.
|
||||||
|
Its signature is `*`.
|
||||||
|
An integer $n$ following `*` denotes $n$-fold mirror symmetry, the intersection of $n$ mirror lines.
|
||||||
|
|
||||||
|
Two intersections of mirror lines are considered the same if we can perform a translation and rotation that sends one to the other, while leaving the pattern the same. There are various possible combinations of mirror symmetries.
|
||||||
|
|
||||||
|
|
||||||
|
This flower pattern has signature `*632`: there are
|
||||||
|
three distinct point of intersecting mirror lines with 6, 3, and 2 mirror lines respectively.
|
||||||
|
|
||||||
|
#table(
|
||||||
|
stroke: none,
|
||||||
|
align: center,
|
||||||
|
columns: (1fr, 1fr),
|
||||||
|
rows: 50mm,
|
||||||
|
image("../res/*632-a.png", height: 100%),
|
||||||
|
image("../res/*632-b.png", height: 100%),
|
||||||
|
)
|
||||||
|
|
||||||
|
#problem()
|
||||||
|
Design a wallpaper pattern with signature `*2222`
|
||||||
|
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
Another symmetry is n-fold rotational symmetry about a point, whose signature is written n. Multiple bold numbers means multiple points of rotational symmetry.
|
||||||
|
|
||||||
|
Two points of rotational symmetry are considered the same if we can perform a translation + rotation sending one to the other, while leaving the pattern the same.
|
||||||
|
|
||||||
|
There are also patterns with both kinds of symmetries. To classify such patterns, first find all the mirror symmetries, then all the rotational symmetries that are not accounted
|
||||||
|
for by the mirror symmetries.
|
||||||
|
|
||||||
|
By convention we write the rotational symmetries before
|
||||||
|
the `*`.
|
||||||
|
|
||||||
|
|
||||||
|
#table(
|
||||||
|
stroke: none,
|
||||||
|
align: center,
|
||||||
|
columns: (1fr, 1fr),
|
||||||
|
rows: 50mm,
|
||||||
|
image("../res/333.png", height: 100%), image("../res/3*3.png", height: 100%),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#problem()
|
||||||
|
Mark the three rotation points in Figure 1.
|
||||||
|
|
||||||
|
#problem()
|
||||||
|
Find the signature of the pattern in Figure 2.
|
||||||
|
|
||||||
|
#solution([`3 *3`])
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
|
||||||
|
Some exceptional cases: It is possible to have two different parallel mirror lines. In
|
||||||
|
this situation the signature is ∗ ∗
|
||||||
|
|
||||||
|
|
||||||
|
#table(
|
||||||
|
stroke: none,
|
||||||
|
align: center,
|
||||||
|
columns: 1fr,
|
||||||
|
rows: 60mm,
|
||||||
|
image("../res/**.png", height: 100%),
|
||||||
|
)
|
||||||
|
|
||||||
|
#problem()
|
||||||
|
Draw another wallpaper pattern with signature `**`
|
||||||
|
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
There are two other types of symmetries. The first called a miracle whose signature is
|
||||||
|
written ×. It is the result of a glide reflection, which is translation along a line followed
|
||||||
|
by reflection about that line.
|
||||||
|
This occurs when there is orientation-reversing symmetry not accounted for by a mirror.
|
||||||
|
For example, if we modify Figure 3 slightly we get a signature of ∗×
|
||||||
|
|
||||||
|
#table(
|
||||||
|
stroke: none,
|
||||||
|
align: center,
|
||||||
|
columns: (1fr, 1fr),
|
||||||
|
rows: 60mm,
|
||||||
|
image("../res/*x-b.png", height: 100%),
|
||||||
|
image("../res/*x-a.png", height: 100%),
|
||||||
|
)
|
||||||
|
|
||||||
|
Signature ∗×. There is a glide reflection (shown by the by the dotted line)
|
||||||
|
taking the clockwise spiral to the counter-clockwise spiral, reversing orientation
|
||||||
|
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
|
||||||
|
#problem()
|
||||||
|
Find the signatures of the following patterns:
|
||||||
|
|
||||||
|
#table(
|
||||||
|
stroke: none,
|
||||||
|
align: center,
|
||||||
|
columns: (1fr, 1fr),
|
||||||
|
rows: 60mm,
|
||||||
|
image("../res/wiki/Wallpaper_group-cm-4.jpg", height: 100%),
|
||||||
|
image("../res/wiki/Wallpaper_group-p4g-2.jpg", height: 100%),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
There is another exceptional case with two miracles, where there are two glide reflection
|
||||||
|
symmetries along distinct lines. There are other glide reflections, but they can be obtained
|
||||||
|
by composing the two marked in the diagram.
|
||||||
|
|
||||||
|
|
||||||
|
#table(
|
||||||
|
stroke: none,
|
||||||
|
align: center,
|
||||||
|
columns: (1fr, 1fr),
|
||||||
|
rows: 60mm,
|
||||||
|
image("../res/xx-b.png", height: 100%),
|
||||||
|
image("../res/xx-a.png", height: 100%),
|
||||||
|
)
|
||||||
|
|
||||||
|
Figure 7: There are two distinct mirrorless crossings, so the signature is `xx`.
|
||||||
|
Lastly, if none of the above symmetries appear in the pattern, then there is only regular
|
||||||
|
translational symmetry, which we denote by O.
|
||||||
|
|
||||||
|
In summary, to find the signature of a pattern:
|
||||||
|
- Find the mirror lines (∗) and the distinct intersections
|
||||||
|
- Find the rotational points of symmetry not account for by reflections.
|
||||||
|
- Look for any miracles (×) i.e. glide reflections that do not cross a mirror line.
|
||||||
|
- If you found none of the above, it is just O
|
BIN
src/Advanced/Wallpaper/res/**.png
Normal file
After Width: | Height: | Size: 535 KiB |
BIN
src/Advanced/Wallpaper/res/*632-a.png
Normal file
After Width: | Height: | Size: 484 KiB |
BIN
src/Advanced/Wallpaper/res/*632-b.png
Normal file
After Width: | Height: | Size: 280 KiB |
BIN
src/Advanced/Wallpaper/res/*x-a.png
Normal file
After Width: | Height: | Size: 666 KiB |
BIN
src/Advanced/Wallpaper/res/*x-b.png
Normal file
After Width: | Height: | Size: 160 KiB |
BIN
src/Advanced/Wallpaper/res/3*3.png
Normal file
After Width: | Height: | Size: 533 KiB |
BIN
src/Advanced/Wallpaper/res/333.png
Normal file
After Width: | Height: | Size: 568 KiB |
BIN
src/Advanced/Wallpaper/res/wiki/Wallpaper_group-cm-4.jpg
Normal file
After Width: | Height: | Size: 800 KiB |
BIN
src/Advanced/Wallpaper/res/wiki/Wallpaper_group-p4g-2.jpg
Normal file
After Width: | Height: | Size: 436 KiB |
6662
src/Advanced/Wallpaper/res/wolfram/all.svg
Normal file
After Width: | Height: | Size: 991 KiB |
8784
src/Advanced/Wallpaper/res/wolfram/cm.svg
Normal file
After Width: | Height: | Size: 233 KiB |
8192
src/Advanced/Wallpaper/res/wolfram/cmm.svg
Normal file
After Width: | Height: | Size: 236 KiB |
6392
src/Advanced/Wallpaper/res/wolfram/p1.svg
Normal file
After Width: | Height: | Size: 196 KiB |
6958
src/Advanced/Wallpaper/res/wolfram/p2.svg
Normal file
After Width: | Height: | Size: 178 KiB |
7653
src/Advanced/Wallpaper/res/wolfram/p3.svg
Normal file
After Width: | Height: | Size: 205 KiB |
11315
src/Advanced/Wallpaper/res/wolfram/p31m.svg
Normal file
After Width: | Height: | Size: 299 KiB |
9995
src/Advanced/Wallpaper/res/wolfram/p3m1.svg
Normal file
After Width: | Height: | Size: 264 KiB |
10133
src/Advanced/Wallpaper/res/wolfram/p4.svg
Normal file
After Width: | Height: | Size: 268 KiB |
7894
src/Advanced/Wallpaper/res/wolfram/p4g.svg
Normal file
After Width: | Height: | Size: 204 KiB |
8247
src/Advanced/Wallpaper/res/wolfram/p4m.svg
Normal file
After Width: | Height: | Size: 229 KiB |
10580
src/Advanced/Wallpaper/res/wolfram/p6.svg
Normal file
After Width: | Height: | Size: 273 KiB |
13887
src/Advanced/Wallpaper/res/wolfram/p6m.svg
Normal file
After Width: | Height: | Size: 379 KiB |
6068
src/Advanced/Wallpaper/res/wolfram/pg.svg
Normal file
After Width: | Height: | Size: 176 KiB |
5703
src/Advanced/Wallpaper/res/wolfram/pgg.svg
Normal file
After Width: | Height: | Size: 147 KiB |
5985
src/Advanced/Wallpaper/res/wolfram/pm.svg
Normal file
After Width: | Height: | Size: 163 KiB |
6908
src/Advanced/Wallpaper/res/wolfram/pmg.svg
Normal file
After Width: | Height: | Size: 178 KiB |
8486
src/Advanced/Wallpaper/res/wolfram/pmm.svg
Normal file
After Width: | Height: | Size: 226 KiB |
BIN
src/Advanced/Wallpaper/res/xx-a.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
src/Advanced/Wallpaper/res/xx-b.png
Normal file
After Width: | Height: | Size: 406 KiB |