Compare commits
14 Commits
6048806e49
...
54d19c2e87
Author | SHA1 | Date | |
---|---|---|---|
54d19c2e87 | |||
5be1a80e30 | |||
28c0d32f7e | |||
a71786ba88 | |||
286e545130 | |||
e5c09302e4 | |||
95663795cf | |||
d9267e8f77 | |||
f2ac44b049 | |||
3ec7433bd8 | |||
aff861fe80 | |||
88d90b87f6 | |||
814620ec19 | |||
6361adb19e |
@ -22,7 +22,6 @@
|
||||
|
||||
// Colors
|
||||
#let ored = rgb("D62121")
|
||||
#let oorange = rgb("#ffaa3b")
|
||||
#let ogrape = rgb("9C36B5")
|
||||
#let ocyan = rgb("2288BF")
|
||||
#let oteal = rgb("12B886")
|
||||
|
@ -1,5 +1,4 @@
|
||||
#import "@local/handout:0.1.0": *
|
||||
#import "@preview/cetz:0.3.1"
|
||||
|
||||
#show: doc => handout(
|
||||
doc,
|
||||
@ -29,170 +28,11 @@ Participant 1 has a black ball. Which balls are held by participants 2, 3, and 4
|
||||
|
||||
#solution([
|
||||
The graph of possible moves is isomorphic to a circle (since 5 and 12 are coprime), \
|
||||
so the order of the balls cannot be changed as they are passed around.
|
||||
but the balls get passed around, so swapping the place of any two balls is not allowed.
|
||||
|
||||
#v(2mm)
|
||||
#v(3mm)
|
||||
|
||||
Therefore, the balls will stay in their initial (cyclic) order:
|
||||
|
||||
#v(2mm)
|
||||
|
||||
#{
|
||||
let s = 0.7 // scale
|
||||
let t = 12pt * s // text size
|
||||
let radius = 0.35
|
||||
|
||||
let pts = (
|
||||
(0 * s, 3 * s),
|
||||
(1 * s, 2 * s),
|
||||
(2 * s, 1 * s),
|
||||
(3 * s, 0 * s),
|
||||
(2 * s, -1 * s),
|
||||
(1 * s, -2 * s),
|
||||
(0 * s, -3 * s),
|
||||
(-1 * s, -2 * s),
|
||||
(-2 * s, -1 * s),
|
||||
(-3 * s, 0 * s),
|
||||
(-2 * s, 1 * s),
|
||||
(-1 * s, 2 * s),
|
||||
)
|
||||
|
||||
let pts_shuf = (
|
||||
(0 * s, 3 * s), // 1
|
||||
(1 * s, -2 * s), // 6
|
||||
(-2 * s, 1 * s), // 11
|
||||
(3 * s, 0 * s), // 4
|
||||
(-2 * s, -1 * s), // 9
|
||||
(1 * s, 2 * s), // 2
|
||||
(0 * s, -3 * s), // 7
|
||||
(-1 * s, 2 * s), // 12
|
||||
(2 * s, -1 * s), // 5
|
||||
(-3 * s, 0 * s), // 10
|
||||
(2 * s, 1 * s), // 3
|
||||
(-1 * s, -2 * s), // 8
|
||||
)
|
||||
|
||||
table(
|
||||
stroke: none,
|
||||
align: center,
|
||||
columns: (1fr, 1fr, 1fr),
|
||||
cetz.canvas({
|
||||
import cetz.draw: *
|
||||
|
||||
set-style(stroke: (thickness: 0.4mm, paint: black))
|
||||
line(..pts_shuf, close: true)
|
||||
|
||||
let i = 1
|
||||
for p in pts {
|
||||
circle(
|
||||
p,
|
||||
radius: radius * s,
|
||||
fill: if i == 1 {
|
||||
ored
|
||||
} else if i == 2 {
|
||||
ogreen
|
||||
} else if i == 3 {
|
||||
oorange
|
||||
} else if i == 4 {
|
||||
oblue
|
||||
} else { white },
|
||||
)
|
||||
|
||||
content(
|
||||
p,
|
||||
text(
|
||||
fill: if i <= 4 {
|
||||
white
|
||||
} else {
|
||||
black
|
||||
},
|
||||
size: t,
|
||||
[*#i*],
|
||||
),
|
||||
)
|
||||
i = i + 1
|
||||
}
|
||||
}),
|
||||
cetz.canvas({
|
||||
import cetz.draw: *
|
||||
|
||||
set-style(stroke: (thickness: 0.4mm, paint: black))
|
||||
line(..pts, close: true)
|
||||
|
||||
let i = 1
|
||||
for p in pts {
|
||||
let l = calc.rem(((i - 1) * 5), 12) + 1
|
||||
|
||||
|
||||
circle(
|
||||
p,
|
||||
radius: radius * s,
|
||||
fill: if l == 1 {
|
||||
ored
|
||||
} else if l == 2 {
|
||||
ogreen
|
||||
} else if l == 3 {
|
||||
oorange
|
||||
} else if l == 4 {
|
||||
oblue
|
||||
} else { white },
|
||||
)
|
||||
|
||||
content(
|
||||
p,
|
||||
text(
|
||||
fill: if l <= 4 {
|
||||
white
|
||||
} else {
|
||||
black
|
||||
},
|
||||
size: t,
|
||||
[*#l*],
|
||||
),
|
||||
)
|
||||
i = i + 1
|
||||
}
|
||||
}),
|
||||
cetz.canvas({
|
||||
import cetz.draw: *
|
||||
|
||||
set-style(stroke: (thickness: 0.4mm, paint: black))
|
||||
line(..pts, close: true)
|
||||
|
||||
let i = 1
|
||||
for p in pts {
|
||||
let l = calc.rem(((i - 1) * 5), 12) + 1
|
||||
|
||||
|
||||
circle(
|
||||
p,
|
||||
radius: radius * s,
|
||||
fill: if l == 1 {
|
||||
oblue
|
||||
} else if l == 2 {
|
||||
oorange
|
||||
} else if l == 3 {
|
||||
ored
|
||||
} else if l == 4 {
|
||||
ogreen
|
||||
} else { white },
|
||||
)
|
||||
|
||||
content(
|
||||
p,
|
||||
text(
|
||||
fill: if l <= 4 {
|
||||
white
|
||||
} else {
|
||||
black
|
||||
},
|
||||
size: t,
|
||||
[*#l*],
|
||||
),
|
||||
)
|
||||
i = i + 1
|
||||
}
|
||||
}),
|
||||
)
|
||||
}
|
||||
// TODO: do this in CeTZ
|
||||
#figure(image("pass-sol.png", width: 90%))
|
||||
])
|
||||
|
BIN
src/Warm-Ups/Passing Balls/pass-sol.png
Normal file
BIN
src/Warm-Ups/Passing Balls/pass-sol.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 47 KiB |
Loading…
x
Reference in New Issue
Block a user