Draft
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 |