music
+ math
▲ WELCOME TO THE 5TH DIMENSION | This isn't meant to be understood — it's meant to be enjoyed.
Max Cooper's Ascent — Making of the Music video
Enter the 5th dimension
Ascent answers the question: if you were living in a 5-dimensional room and projected digits of `\pi` onto its walls, what would you see?
There are three versions of the video — black-and-white (this is the official release), viridis (yellow, green, blue, purple), and plasma (yellow, orange, red, pruple, violet). You can see the viridis and plasma color palettes here.
Here are all 172 keyframes of the black-and-white version of Ascent. Below each frame is the key frame definition. The values of this keyframe are interpolated over the number of frames defined in the next keyframe's n parameter.
▲ MAX COOPER'S ASCENT #1 0:00:00 | 1/48 1.a0–1.a1
▲ MAX COOPER'S ASCENT #49 0:02:00 | 1/48 1.a1–1.a2
▲ MAX COOPER'S ASCENT #97 0:04:00 | 1/48 1.a2–1.a3
1.a2
n 2fs
c c0 s [
x] 0
.05
▲ MAX COOPER'S ASCENT #145 0:06:00 | 1.a3–1.a4
1.a3
n 2fs
c c0 s [
x] 0
.10
▲ MAX COOPER'S ASCENT #193 0:08:00 | 1.a4–1.a5
1.a4
n 2fs
c c0 s [
x] 0
.15
▲ MAX COOPER'S ASCENT #265 0:11:00 | 1.a5–1.a6
1.a5
n 3fs
c c0 s [
y] 0
.05
rxy3
▲ MAX COOPER'S ASCENT #337 0:14:00 | 1.a6–1.a7
1.a6
n 3fs
c c0 s [
y] 0
.10
rxy3
▲ MAX COOPER'S ASCENT #385 0:16:00 | 1.a7–1.b1
1.a7
n 2fs
c c0 s [
y] 0
.15
rxy3
▲ MAX COOPER'S ASCENT #433 0:18:00 | 1.b1–1.b2
1.b1
n 2fs
c c0 f [
z] 0
.80
c c0 s [
xy] 0
.15
c c0 s [
z] 0
.100
ryz6
▲ MAX COOPER'S ASCENT #481 0:20:00 | 1.b2–1.b3
1.b2
n 2fs
c c0 f [
z] 0
.60
c c0 s [
xy] 0
.15
c c0 s [
z] 0
.110
ryz6
▲ MAX COOPER'S ASCENT #529 0:22:00 | 1.b3–1.b4
1.b3
n 2fs
c c0 f [
z] 0
.40
c c0 s [
xy] 0
.15
c c0 s [
z] 0
.120
ryz6
▲ MAX COOPER'S ASCENT #577 0:24:00 | 1.b4–1.b5
1.b4
n 2fs
c c0 f [
z] 0
.20
c c0 s [
xy] 0
.15
c c0 s [
z] 0
.130
ryz6
▲ MAX COOPER'S ASCENT #625 0:26:00 | 1.b5–1.b6
1.b5
n 2fs
c c0 f [
z] 0
.10
c c0 s [
xy] 0
.15
c c0 s [
z] 0
.140
ryz6
▲ MAX COOPER'S ASCENT #673 0:28:00 | 1.b6–1.c1
1.b6
n 2fs
c c0 f [
z] 0
.00
c c0 s [
xy] 0
.15
c c0 s [
z] 0
.150
ryz6
▲ MAX COOPER'S ASCENT #697 0:29:00 | 1.c1–1.c2
1.c1
n 1fs
c c0 s [
w] 0
.815
c c0 s [
xyz] 0
.15
▲ MAX COOPER'S ASCENT #745 0:31:00 | 1.c2–1.d1
▲ MAX COOPER'S ASCENT #793 0:33:00 | 1.d1–1.d2
1.d1
n 2fs
a xw astepb4
c c0 f [
w] 0
.9
c c0 s [
w] 0
.715
c c0 s [
xyz] 0
.15
rotsrxy2!ryz2
▲ MAX COOPER'S ASCENT #841 0:35:00 | 1.d2–1.d3
1.d2
n 2fs
a xw astepb4
c c0 f [
w] 0
.8
c c0 s [
w] 0
.615
c c0 s [
xyz] 0
.15
rotsrxy2!ryz2
▲ MAX COOPER'S ASCENT #889 0:37:00 | 1.d3–1.d4
1.d3
n 2fs
a xw astepb4
c c0 f [
w] 0
.7
c c0 s [
w] 0
.515
c c0 s [
xyz] 0
.15
rotsrxy2!ryz2
▲ MAX COOPER'S ASCENT #937 0:39:00 | 1.d4–1.d5
1.d4
n 2fs
a xw astepb4
c c0 f [
w] 0
.6
c c0 s [
w] 0
.415
rotsrxy2!ryz2
▲ MAX COOPER'S ASCENT #985 0:41:00 | 1.d5–1.d6
1.d5
n 2fs
a xw astepb4
c c0 f [
w] 0
.4
c c0 s [
w] 0
.315
rotsrxy2!ryz2
▲ MAX COOPER'S ASCENT #1033 0:43:00 | 1.d6–1.d7
1.d6
n 2fs
a xw astepb4
c c0 f [
w] 0
.2
c c0 s [
w] 0
.215
rotsrxy2!ryz2
▲ MAX COOPER'S ASCENT #1081 0:45:00 | 1.d7–1.e1
1.d7
n 2fs
a xw astepb4
c c0 f [
w] 0
.0
c c0 s [
w] 0
.150
rotsrxy2!ryz2
▲ MAX COOPER'S ASCENT #1129 0:47:00 | 1.e1–1.e2
1.e1
n 2fs
c c0 s [
v] 0
.150
rotsrxy2 ryz2
▲ MAX COOPER'S ASCENT #1177 0:49:00 | 1.e2–1.e3
1.e2
n 2fs
c c0 f [
v] 1
.00
c c0 s [
xyzwv] 0
.150
rotsrxy2 ryz2
▲ MAX COOPER'S ASCENT #1225 0:51:00 | 1.e3–1.e3
1.e3
n 1fs
c c0 f [
v] 1
.05
c c0 s [
xyzwv] 0
.175
rotsrxy2ryz2
▲ MAX COOPER'S ASCENT #1249 0:52:00 | 1.e3–1.e4
1.e3
n 1fs
c c0 f [
v] 1
.05
c c0 s [
xyzwv] 0
.175
rotsrxy2ryz2
▲ MAX COOPER'S ASCENT #1297 0:54:00 | 1.e4–1.e5
1.e4
n 2fs
c c0 f [
v] 1
.00
c c0 s [
xyzwv] 0
.200
rotsrxy2 ryz2
▲ MAX COOPER'S ASCENT #1345 0:56:00 | 1.e5–1.e6
1.e5
n 2fs
c c0 f [
v] 1
.00
c c0 s [
xyzwv] 0
.225
rotsrxy2ryz2size . 1.30
▲ MAX COOPER'S ASCENT #1393 0:58:00 | 1.e6–1.e7
1.e6
n 2fs
c c0 f [
v] 0
.80
c c0 s [
xyzwv] 0
.250
rotsrxy2ryz2
▲ MAX COOPER'S ASCENT #1441 1:00:00 | 1.e7–1.e8
1.e7
n 2fs
c c0 f [
v] 0
.70
c c0 s [
xyzwv] 0
.275
rotsrxy2ryz2
▲ MAX COOPER'S ASCENT #1489 1:02:00 | 1.e8–1.e9
1.e8
n 2fs
c c0 f [
v] 0
.50
c c0 s [
xyzwv] 0
.300
rotsrxy2ryz2
▲ MAX COOPER'S ASCENT #1537 1:04:00 | 1.e9–1.f1
1.e9
n 2fs
c c0 f [
v] 0
.40
c c0 s [
xyzwv] 0
.325
rotsrxy2ryz2
▲ MAX COOPER'S ASCENT #1585 1:06:00 | 1.f1–1.f2
1.f1
n 2fs
c c0 f [
v] 0
.30
rotsrxy2ryz2
▲ MAX COOPER'S ASCENT #1633 1:08:00 | 1.f2–1.f3
1.f2
n 2fs
c c0 f [
v] 0
.20
rotsrxy2ryz2
▲ MAX COOPER'S ASCENT #1681 1:10:00 | 1.f3–1.f4
1.f3
n 2fs
c c0 f [
v] 0
.10
rotsrxy2ryz2
▲ MAX COOPER'S ASCENT #1729 1:12:00 | 2.a–2.a
2.a
n 2fs
c c1 f [
xy] s2f
rotthis2
▲ MAX COOPER'S ASCENT #1777 1:14:00 | 2.a–2.b
2.a
n 2fs
c c1 f [
xy] s2f
rotthis2
▲ MAX COOPER'S ASCENT #1825 1:16:00 | 2.b–2.c
2.b
n 2fs
c c1 f [
xy] s2f
rotthis2
▲ MAX COOPER'S ASCENT #1873 1:18:00 | 2.c–2.d
2.c
n 2fs
c c1 f [
xy] s2f
rotthis2
▲ MAX COOPER'S ASCENT #1921 1:20:00 | 2.d–2.e
2.d
n 2fs
c c1 f [
xy] s2f
rotthis2
▲ MAX COOPER'S ASCENT #1969 1:22:00 | 2.e–2.f
2.e
n 2fs
c c1 f [
xy] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2017 1:24:00 | 2.f–2.g
2.f
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2065 1:26:00 | 2.g–2.h
2.g
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2113 1:28:00 | 2.h–2.i
2.h
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2161 1:30:00 | 2.i–2.j
2.i
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
c c3 f [
xw] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2209 1:32:00 | 2.j–2.k
2.j
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
c c3 f [
xw] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2257 1:34:00 | 2.k–2.l
2.k
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
c c3 f [
xw] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2305 1:36:00 | 2.l–2.m
2.l
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
c c3 f [
xw] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2353 1:38:00 | 2.m–2.n
2.m
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
c c3 f [
xw] s2f
c c4 f [
xv] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2401 1:40:00 | 2.n–2.o
2.n
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
c c3 f [
xw] s2f
c c4 f [
xv] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2449 1:42:00 | 2.o–2.p
2.o
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
c c3 f [
xw] s2f
c c4 f [
xv] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2497 1:44:00 | 2.p–2.q
2.p
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
c c3 f [
xw] s2f
c c4 f [
xv] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2545 1:46:00 | 2.q–2.r
2.q
n 2fs
c c1 f [
xy] s2f
c c2 f [
xz] s2f
c c3 f [
xw] s2f
c c4 f [
xv] s2f
rotthis2
▲ MAX COOPER'S ASCENT #2593 1:48:00 | 2.r–3.a
2.r
n 2fs
c c1 f [
xy] 0
c c2 f [
xz] 0
c c3 f [
xw] 0
c c4 f [
xv] 0
rotthis2
▲ MAX COOPER'S ASCENT #2641 1:50:00 | 3.a–3.b
3.a
n 2fs
c c1 s
. s3s
rotthis2
▲ MAX COOPER'S ASCENT #2689 1:52:00 | 3.b–3.c
3.b
n 2fs
c c1 s
. s3s
rotthis2
▲ MAX COOPER'S ASCENT #2737 1:54:00 | 3.c–3.d
3.c
n 2fs
c c1 s
. s3s
c c2 s
. s3s
rotthis2
▲ MAX COOPER'S ASCENT #2785 1:56:00 | 3.d–3.e
3.d
n 2fs
c c1 s
. s3s
c c2 s
. s3s
rotthis2
▲ MAX COOPER'S ASCENT #2833 1:58:00 | 3.e–3.f
3.e
n 2fs
c c0 f
. s3f
c c1 s
. s3s
c c2 s
. s3s
c c3 s
. s3s
rotthis2
▲ MAX COOPER'S ASCENT #2881 2:00:00 | 3.f–3.g
3.f
n 2fs
c c0 f
. s3f
c c1 s
. s3s
c c2 s
. s3s
c c3 s
. s3s
rotthis2
▲ MAX COOPER'S ASCENT #2929 2:02:00 | 3.g–3.h
3.g
n 2fs
c c0 f
. s3f
c c[1-4] s
. s3s
rotthis2
▲ MAX COOPER'S ASCENT #2977 2:04:00 | 3.h–3.i
3.h
n 2fs
c c0 f
. s3f
c c[1-4] s
. s3s
rotthis2
▲ MAX COOPER'S ASCENT #3025 2:06:00 | 3.i–3.i
3.i
n 2fs
c c0 f
. s3f
c c[1-4] s
. s3s
rotthis2rep 2
▲ MAX COOPER'S ASCENT #3073 2:08:00 | 3.i–3.j
3.i
n 2fs
c c0 f
. s3f
c c[1-4] s
. s3s
rotthis2rep 2
▲ MAX COOPER'S ASCENT #3121 2:10:00 | 3.j–3.j
3.j
n 2fs
c c0 f
. s3f
rotthis2rep 2
▲ MAX COOPER'S ASCENT #3169 2:12:00 | 3.j–3.k
3.j
n 2fs
c c0 f
. s3f
rotthis2rep 2
▲ MAX COOPER'S ASCENT #3217 2:14:00 | 3.k–3.k
▲ MAX COOPER'S ASCENT #3265 2:16:00 | 4.a–4.a
4.a
n 2fs
c c0 f
. 0.90
c c1 f [
xy] s4f
c c[0-1] s
. p2
map_fade(c1,.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3313 2:18:00 | 4.a–4.b
4.a
n 2fs
c c0 f
. 0.90
c c1 f [
xy] s4f
c c[0-1] s
. p2
map_fade(c1,.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3361 2:20:00 | 4.b–4.c
4.b
n 2fs
a xv 0
.10
a xw 0
.90
a xz 0
.16
c c1 f [
xy] s4f
c c[0-1] s
. p2
map_fade(c1,.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3409 2:22:00 | 4.c–4.d
4.c
n 2fs
a yv 0
.13
a yw 0
.03
c c1 f [
xy] s4f
c c[0-1] s
. p2
map_fade(c1,.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3457 2:24:00 | 4.d–4.e
4.d
n 2fs
c c2 f [
xz] s4f
c c[0-2] s
. p2
cube c[1] a [
xy][yzwvu] astep-fast
map_fade(c2,.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3505 2:26:00 | 4.e–4.f
4.e
n 2fs
c c2 f [
xz] s4f
c c[0-2] s
. p2
cube c[1-2] a [
xy][yzwvu] astep-fast
map_fade(c2,.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3553 2:28:00 | 4.f–4.g
4.f
n 2fs
a xv 0
.10
a xw 0
.90
a xz 0
.16
c c2 f [
xz] s4f
c c[0-2] s
. p2
cube c[1-2] a [
xy][yzwvu] astep-fast
map_fade(c2,.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3601 2:30:00 | 4.g–4.h
4.g
n 2fs
a yv 0
.15
a yw 0
.03
c c3 f [
xw] s4f
c c[0-3] s
. p2
cube c[1-2] a [
xy][yzwvu] astep-fast
map_fade(c3,.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3649 2:32:00 | 4.h–4.i
4.h
n 2fs
c c3 f [
xw] s4f
c c[0-3] s
. p2
cube c[1-3] a [
xy][yzwvu] astep-fast
map_fade(c3,.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3697 2:34:00 | 4.i–4.j
4.i
n 2fs
c c3 f [
xw] s4f
c c[0-3] s
. p2
cube c[1-3] a [
xy][yzwvu] astep-fast
map_fade(c4,.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3745 2:36:00 | 4.j–4.k
4.j
n 2fs
a xv 0
.10
a xw 0
.89
a xz 0
.16
c c4 f [
xv] s4f
cube c[1-3] a [
xy][yzwvu] astep-fast
map_fade(c[1-4],.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3793 2:38:00 | 4.k–4.l
4.k
n 2fs
a yv 0
.13
a yw 0
.03
c c4 f [
xv] s4f
cube c[1-4] a [
xy][yzwvu] astep-fast
map_fade(c[1-4],.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3841 2:40:00 | 4.l–4.m
4.l
n 2fs
c c4 f [
xv] s4f
cube c[1-4] a [
xy][yzwvu] astep-fast
map_fade(c[1-4],.,p1)rotthis3size . s4u
▲ MAX COOPER'S ASCENT #3889 2:42:00 | 5.a–5.a
▲ MAX COOPER'S ASCENT #3937 2:44:00 | 5.a–5.b
▲ MAX COOPER'S ASCENT #3985 2:46:00 | 5.b–5.c
5.b
n 2fs
c c[1-4] a [
xy][yzwvu] astep-vfast
c c[5-5] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3
▲ MAX COOPER'S ASCENT #4033 2:48:00 | 5.c–5.c
5.c
n 2fs
c c[1-5] a [
xy][yzwvu] astep-vfast
c c[5-6] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 5
▲ MAX COOPER'S ASCENT #4081 2:50:00 | 5.c–5.c
5.c
n 2fs
c c[1-5] a [
xy][yzwvu] astep-vfast
c c[5-6] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 5
▲ MAX COOPER'S ASCENT #4129 2:52:00 | 5.c–5.c
5.c
n 2fs
c c[1-5] a [
xy][yzwvu] astep-vfast
c c[5-6] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 5
▲ MAX COOPER'S ASCENT #4177 2:54:00 | 5.c–5.c
5.c
n 2fs
c c[1-5] a [
xy][yzwvu] astep-vfast
c c[5-6] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 5
▲ MAX COOPER'S ASCENT #4225 2:56:00 | 5.c–5.d
5.c
n 2fs
c c[1-5] a [
xy][yzwvu] astep-vfast
c c[5-6] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 5
▲ MAX COOPER'S ASCENT #4273 2:58:00 | 5.d–5.d
5.d
n 2fs
c c[1-6] a [
xy][yzwvu] astep-vfast
c c[5-7] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 9
▲ MAX COOPER'S ASCENT #4321 3:00:00 | 5.d–5.d
5.d
n 2fs
c c[1-6] a [
xy][yzwvu] astep-vfast
c c[5-7] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 9
▲ MAX COOPER'S ASCENT #4369 3:02:00 | 5.d–5.d
5.d
n 2fs
c c[1-6] a [
xy][yzwvu] astep-vfast
c c[5-7] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 9
▲ MAX COOPER'S ASCENT #4417 3:04:00 | 5.d–5.d
5.d
n 2fs
c c[1-6] a [
xy][yzwvu] astep-vfast
c c[5-7] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 9
▲ MAX COOPER'S ASCENT #4465 3:06:00 | 5.d–5.d
5.d
n 2fs
c c[1-6] a [
xy][yzwvu] astep-vfast
c c[5-7] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 9
▲ MAX COOPER'S ASCENT #4513 3:08:00 | 5.d–5.d
5.d
n 2fs
c c[1-6] a [
xy][yzwvu] astep-vfast
c c[5-7] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 9
▲ MAX COOPER'S ASCENT #4561 3:10:00 | 5.d–5.d
5.d
n 2fs
c c[1-6] a [
xy][yzwvu] astep-vfast
c c[5-7] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 9
▲ MAX COOPER'S ASCENT #4609 3:12:00 | 5.d–5.d
5.d
n 2fs
c c[1-6] a [
xy][yzwvu] astep-vfast
c c[5-7] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 9
▲ MAX COOPER'S ASCENT #4657 3:14:00 | 5.d–5.e
5.d
n 2fs
c c[1-6] a [
xy][yzwvu] astep-vfast
c c[5-7] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 9
▲ MAX COOPER'S ASCENT #4705 3:16:00 | 5.e–5.e
5.e
n 2fs
c c[1-7] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 4
▲ MAX COOPER'S ASCENT #4753 3:18:00 | 5.e–5.e
5.e
n 2fs
c c[1-7] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 4
▲ MAX COOPER'S ASCENT #4801 3:20:00 | 5.e–5.e
5.e
n 2fs
c c[1-7] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 4
▲ MAX COOPER'S ASCENT #4849 3:22:00 | 5.e–5.f
5.e
n 2fs
c c[1-7] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cf
map_fade(c[1-4],.,s5f)rotthis3rep 4
▲ MAX COOPER'S ASCENT #4897 3:24:00 | 5.f–5.f
5.f
n 2fs
c c[1-8] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cs
rotthis3rep 5
▲ MAX COOPER'S ASCENT #4945 3:26:00 | 5.f–5.f
5.f
n 2fs
c c[1-8] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cs
rotthis3rep 5
▲ MAX COOPER'S ASCENT #4993 3:28:00 | 5.f–5.f
5.f
n 2fs
c c[1-8] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cs
rotthis3rep 5
▲ MAX COOPER'S ASCENT #5041 3:30:00 | 5.f–5.f
5.f
n 2fs
c c[1-8] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cs
rotthis3rep 5
▲ MAX COOPER'S ASCENT #5089 3:32:00 | 5.f–5.g
5.f
n 2fs
c c[1-8] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cs
rotthis3rep 5
▲ MAX COOPER'S ASCENT #5137 3:34:00 | 5.g–5.g
5.g
n 2fs
c c[1-8] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cs
rotthis3rep 6
▲ MAX COOPER'S ASCENT #5185 3:36:00 | 5.g–5.g
5.g
n 2fs
c c[1-8] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cs
rotthis3rep 6
▲ MAX COOPER'S ASCENT #5233 3:38:00 | 5.g–5.g
5.g
n 2fs
c c[1-8] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cs
rotthis3rep 6
▲ MAX COOPER'S ASCENT #5281 3:40:00 | 5.g–5.g
5.g
n 2fs
c c[1-8] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cs
rotthis3rep 6
▲ MAX COOPER'S ASCENT #5329 3:42:00 | 5.g–5.g
5.g
n 2fs
c c[1-8] a [
xy][yzwvu] astep-vfast
c c[5-8] f
. s5cs
rotthis3rep 6
▲ MAX COOPER'S ASCENT #5377 3:44:00 | 6.a–6.b
6.a
map_add(cd,xyzwv,179c)
▲ MAX COOPER'S ASCENT #5713 3:58:00 | 6.b–6.c
6.b
n 14fs
a xv refxv
a xw refxw
a xy refxy
a xz refxz
a yv refyv
a yw refyw
a yz refyz
c c[0-9a-d] a
. 0
map_fade(c[a-d],.,ps6)
▲ MAX COOPER'S ASCENT #5761 4:00:00 | 6.c–6.d
6.c
n 2fs
a xw d0
.01
cube c[0-8] fade
. ps15
cube_rot(.,[xy][yzwvu],astep-vvslow)f . . map . fade ps15
rot6vvssize . ps20
▲ MAX COOPER'S ASCENT #5809 4:02:00 | 6.d–6.e
6.d
n 2fs
a xw d0
.01
a xy d-0
.001
cube c[0-8] fade
. ps14
cube_rot(.,[xy][yzwvu],astep-vvslow)f . . map . fade ps14
rot6vssize . ps20
▲ MAX COOPER'S ASCENT #5857 4:04:00 | 6.e–6.f
6.e
n 2fs
a xw d0
.01
a xy d-0
.002
cube c[0-8] fade
. ps13
cube_rot(.,[xy][yzwvu],astep-vslow)f . . map . fade ps13
rot6ssize . ps20
▲ MAX COOPER'S ASCENT #5905 4:06:00 | 6.f–6.g
6.f
n 2fs
a xw d0
.01
a xy d-0
.002
cube c[0-8] fade
. ps12
cube_rot(.,[xy][yzwvu],astep-slow)f . . map . fade ps12
rot6ssize . ps20
▲ MAX COOPER'S ASCENT #5953 4:08:00 | 6.g–6.h
6.g
n 2fs
a xw d0
.02
a xy d-0
.002
cube c[0-8] fade
. ps11
cube_rot(.,[xy][yzwvu],astep-slow)f . . map . fade ps11
rot6fsize . ps20
▲ MAX COOPER'S ASCENT #6001 4:10:00 | 6.h–6.i
6.h
n 2fs
a xw d0
.02
a xy d-0
.002
cube c[0-8] fade
. ps10
cube_rot(.,[xy][yzwvu],astep-med)f . . map . fade ps10
rot6fsize . ps20
▲ MAX COOPER'S ASCENT #6049 4:12:00 | 6.i–6.j
6.i
n 2fs
a xw d0
.03
a xy d-0
.003
cube c[0-8] fade
. ps9
cube_rot(.,[xy][yzwvu],astep-med)f . . map . fade ps9
rot6vfsize . ps20
▲ MAX COOPER'S ASCENT #6097 4:14:00 | 6.j–6.k
6.j
n 2fs
a xw d0
.03
a xy d-0
.003
cube c[0-8] fade
. ps8
cube_rot(.,[xy][yzwvu],astep-fast)f . . map . fade ps8
rot6vfsize . ps20
▲ MAX COOPER'S ASCENT #6145 4:16:00 | 6.k–6.l
6.k
n 2fs
a xw d0
.04
a xy d-0
.004
cube c[0-8] fade
. ps7
cube_rot(.,[xy][yzwvu],astep-fast)f . . map . fade ps7
rot6vfsize . ps21
▲ MAX COOPER'S ASCENT #6193 4:18:00 | 6.l–6.m
6.l
n 2fs
a xw d0
.05
a xy d-0
.005
cube c[0-8] fade
. ps6
cube_rot(.,[xy][yzwvu],astep-vfast)f . . map . fade ps6
rot6vfsize . ps21
▲ MAX COOPER'S ASCENT #6241 4:20:00 | 6.m–6.n
6.m
n 2fs
a xw d0
.06
a xy d-0
.010
cube c[0-8] fade
. ps6
cube_rot(.,[xy][yzwvu],astep-vfast)f . . map . fade ps6
rot6vvfsize . ps21
▲ MAX COOPER'S ASCENT #6289 4:22:00 | 6.n–6.o
6.n
n 2fs
a xw d0
.07
a xy d-0
.010
cube c[0-8] fade
. ps6
cube_rot(.,[xy][yzwvu],astep-vfast)f . . map . fade ps6
rot6vvfsize . ps21
▲ MAX COOPER'S ASCENT #6337 4:24:00 | 6.o–6.p
6.o
n 2fs
a xw d0
.08
a xy d-0
.007
cube c[0-8] fade
. ps8
cube_rot(.,[xy][yzwvu],astep-vvfast)f . . map . fade ps8
rot6vvvfsize . ps21
▲ MAX COOPER'S ASCENT #6385 4:26:00 | 6.p–6.q
6.p
n 2fs
a xw d0
.05
a xy d-0
.004
cube c[0-8] fade
. ps10
cube_rot(.,[xy][yzwvu],astep-vvfast)f . . map . fade ps10
rot6vvvfsize . ps21
▲ MAX COOPER'S ASCENT #6433 4:28:00 | 6.q–6.r
6.q
n 2fs
a xw d0
.03
a xy d-0
.002
cube c[0-8] fade
. ps12
cube_rot(.,[xy][yzwvu],astep-vvfast)f . . map . fade ps12
rot6vvvfsize . ps21
▲ MAX COOPER'S ASCENT #6481 4:30:00 | 7.a–7.a
7.a
n 2fs
cube c[0-2] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med)face c[0-9a-e]
. map . fade p5
rot6frep 2
▲ MAX COOPER'S ASCENT #6529 4:32:00 | 7.a–7.a
7.a
n 2fs
cube c[0-2] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med)face c[0-9a-e]
. map . fade p5
rot6frep 2
▲ MAX COOPER'S ASCENT #6577 4:34:00 | 7.a–7.b
7.a
n 2fs
cube c[0-2] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med)face c[0-9a-e]
. map . fade p5
rot6frep 2
▲ MAX COOPER'S ASCENT #6625 4:36:00 | 7.b–7.b
7.b
n 2fs
cube_rot(.,[xy][yzwvu],astep-med) rot6frep 2
▲ MAX COOPER'S ASCENT #6673 4:38:00 | 7.b–7.c
7.b
n 2fs
cube_rot(.,[xy][yzwvu],astep-med) rot6frep 2
▲ MAX COOPER'S ASCENT #6721 4:40:00 | 7.c–7.c
7.c
n 2fs
cube c[0-4] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med) face c[0-9a-f]
. map . fade p5
rot6vfrep 2
▲ MAX COOPER'S ASCENT #6769 4:42:00 | 7.c–7.d
7.c
n 2fs
cube c[0-4] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med) face c[0-9a-f]
. map . fade p5
rot6vfrep 2
▲ MAX COOPER'S ASCENT #6817 4:44:00 | 7.d–7.d
7.d
n 2fs
cube_rot(.,[xy][yzwvu],astep-med) rot6vfrep 2
▲ MAX COOPER'S ASCENT #6865 4:46:00 | 7.d–7.e
7.d
n 2fs
cube_rot(.,[xy][yzwvu],astep-med) rot6vfrep 2
▲ MAX COOPER'S ASCENT #6913 4:48:00 | 7.e–7.e
7.e
n 2fs
cube c[0-6] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med) face c[0-9a-g]
. map . fade p5
rot6vvfrep 2
▲ MAX COOPER'S ASCENT #6961 4:50:00 | 7.e–7.f
7.e
n 2fs
cube c[0-6] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med) face c[0-9a-g]
. map . fade p5
rot6vvfrep 2
▲ MAX COOPER'S ASCENT #7009 4:52:00 | 7.f–7.f
7.f
n 2fs
cube_rot(.,[xy][yzwvu],astep-med) rot6vvfrep 2
▲ MAX COOPER'S ASCENT #7057 4:54:00 | 7.f–7.g
7.f
n 2fs
cube_rot(.,[xy][yzwvu],astep-med) rot6vvfrep 2
▲ MAX COOPER'S ASCENT #7105 4:56:00 | 7.g–7.g
7.g
n 2fs
cube c[0-8] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med) face c[0-9a-h]
. map . fade p5
rot6vfrep 2
▲ MAX COOPER'S ASCENT #7153 4:58:00 | 7.g–7.h
7.g
n 2fs
cube c[0-8] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med) face c[0-9a-h]
. map . fade p5
rot6vfrep 2
▲ MAX COOPER'S ASCENT #7201 5:00:00 | 7.h–7.h
7.h
n 2fs
cube_rot(.,[xy][yzwvu],astep-med) rot6vfrep 2
▲ MAX COOPER'S ASCENT #7249 5:02:00 | 7.h–7.i
7.h
n 2fs
cube_rot(.,[xy][yzwvu],astep-med) rot6vfrep 2
▲ MAX COOPER'S ASCENT #7297 5:04:00 | 7.i–7.i
7.i
n 2fs
cube c[0-8] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med) face . . map . fade p5
rot6vfrep 2
▲ MAX COOPER'S ASCENT #7345 5:06:00 | 7.i–7.j
7.i
n 2fs
cube c[0-8] fade
. p5
cube_rot(.,[xy][yzwvu],astep-med) face . . map . fade p5
rot6vfrep 2
▲ MAX COOPER'S ASCENT #7393 5:08:00 | 7.j–7.j
7.j
n 2fs
cube_rot(.,[xy][yzwvu],astep-med) rot6vfrep 2
▲ MAX COOPER'S ASCENT #7441 5:10:00 | 7.j–8.a
7.j
n 2fs
cube_rot(.,[xy][yzwvu],astep-med) rot6vfrep 2
▲ MAX COOPER'S ASCENT #7489 5:12:00 | 8.a–8.a
8.a
n 2fs
cube . f . q33
cube c[e-h] s
. r0.95
cube_rot(.,[xy][yzwvu],astep-med)map_fade(.,.,q33)rot6msize . r0.90
rep 2
▲ MAX COOPER'S ASCENT #7537 5:14:00 | 8.a–8.a
8.a
n 2fs
cube . f . q33
cube c[e-h] s
. r0.95
cube_rot(.,[xy][yzwvu],astep-med)map_fade(.,.,q33)rot6msize . r0.90
rep 2
▲ MAX COOPER'S ASCENT #7585 5:16:00 | 8.a–8.a
8.a
n 2fs
cube . f . q33
cube c[e-h] s
. r0.95
cube_rot(.,[xy][yzwvu],astep-med)map_fade(.,.,q33)rot6msize . r0.90
rep 2
▲ MAX COOPER'S ASCENT #7633 5:18:00 | 8.a–8.a
8.a
n 2fs
cube . f . q33
cube c[e-h] s
. r0.95
cube_rot(.,[xy][yzwvu],astep-med)map_fade(.,.,q33)rot6msize . r0.90
rep 2
▲ MAX COOPER'S ASCENT #7681 5:20:00 | 8.a–8.a
8.a
n 2fs
cube . f . q33
cube c[e-h] s
. r0.95
cube_rot(.,[xy][yzwvu],astep-med)map_fade(.,.,q33)rot6msize . r0.90
rep 2
▲ MAX COOPER'S ASCENT #7729 5:22:00 | 8.a–8.c
8.a
n 2fs
cube . f . q33
cube c[e-h] s
. r0.95
cube_rot(.,[xy][yzwvu],astep-med)map_fade(.,.,q33)rot6msize . r0.90
rep 2
▲ MAX COOPER'S ASCENT #7777 5:24:00 | 8.c–8.c
8.c
n 2fs
cube . f . q50
cube c[e-h] s
. r0.95
cube_rot(.,[xy][yzwvu],astep-med)map_fade(.,.,q50)rot6ssize . q31
rep 4
▲ MAX COOPER'S ASCENT #7825 5:26:00 | 8.c–8.c
8.c
n 2fs
cube . f . q50
cube c[e-h] s
. r0.95
cube_rot(.,[xy][yzwvu],astep-med)map_fade(.,.,q50)rot6ssize . q31
rep 4
▲ MAX COOPER'S ASCENT #7873 5:28:00 | 8.c–8.c
8.c
n 2fs
cube . f . q50
cube c[e-h] s
. r0.95
cube_rot(.,[xy][yzwvu],astep-med)map_fade(.,.,q50)rot6ssize . q31
rep 4
▲ MAX COOPER'S ASCENT #7921 5:30:00 | 8.c–9.a
8.c
n 2fs
cube . f . q50
cube c[e-h] s
. r0.95
cube_rot(.,[xy][yzwvu],astep-med)map_fade(.,.,q50)rot6ssize . q31
rep 4
▲ MAX COOPER'S ASCENT #7969 5:32:00 | 9.a–9.a
9.a
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q30
rep 6
▲ MAX COOPER'S ASCENT #8017 5:34:00 | 9.a–9.a
9.a
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q30
rep 6
▲ MAX COOPER'S ASCENT #8065 5:36:00 | 9.a–9.a
9.a
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q30
rep 6
▲ MAX COOPER'S ASCENT #8113 5:38:00 | 9.a–9.a
9.a
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q30
rep 6
▲ MAX COOPER'S ASCENT #8161 5:40:00 | 9.a–9.a
9.a
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q30
rep 6
▲ MAX COOPER'S ASCENT #8209 5:42:00 | 9.a–9.b
9.a
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q30
rep 6
▲ MAX COOPER'S ASCENT #8257 5:44:00 | 9.b–9.b
9.b
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q29
rep 6
▲ MAX COOPER'S ASCENT #8305 5:46:00 | 9.b–9.b
9.b
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q29
rep 6
▲ MAX COOPER'S ASCENT #8353 5:48:00 | 9.b–9.b
9.b
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q29
rep 6
▲ MAX COOPER'S ASCENT #8401 5:50:00 | 9.b–9.b
9.b
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q29
rep 6
▲ MAX COOPER'S ASCENT #8449 5:52:00 | 9.b–9.b
9.b
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q29
rep 6
▲ MAX COOPER'S ASCENT #8497 5:54:00 | 9.b–9.c
9.b
n 2fs
cube . f . q50
cube_rot(.,[xy][ywvu],astep-med)map_fade(.,.,q50)rot6ssize . q29
rep 6
news
+ thoughts
Thu 23-04-2026
My cover design on the 7 April 2026 Nature Biotechnology issue shows the dendrogram that represents a cluster of uniquely expressed (or downregulated) genes in human naive stem cells induced from such cells. Within each dendrogram block, the genomic barcode sequence (sampled from Supplementary Table 1) is depicted with a Code 39 barcode. The highlighted barcode is one of those used for cell isolation.
Ishiguro S. et al. A multi-kingdom genetic barcoding system for precise clone isolation (2026) Nature Biotechnology 44:616–629.
▲ My Nature Biotechnology phylogenetic tree cover (volume 44, issue 4, 7 April 2026).
(
more)
Browse my gallery of cover designs.
▲ A catalogue of my journal and magazine cover designs.
(
more)
Fri 13-03-2026
Celebrate π Day (March 14th) and enjoy the art — but only if you're part of the 5%.
Go ahead, see what you can't see.
▲ 2026 π DAY | Art for the 5%. Shown in the style of Ishihara color test plates, the art is visible only to those with colour blindness.
(
details)
Wed 23-07-2025
What immortal hand or eye, could frame thy fearful symmetry? — William Blake, "The Tyger"
This month, we look at symmetric regression, which, unlike simple linear regression, it is reversible — remaining unaltered when the variables are swapped.
Simple linear regression can summarize the linear relationship between two variables `X` and `Y` — for example, when `Y` is considered the response (dependent) and `X` the predictor (independent) variable.
However, there are times when we are not interested (or able) to distinguish between dependent and independent variables — either because they have the same importance or the same role. This is where symmetric regression can help.
▲ Nature Methods Points of Significance column: Symmetric alternatives to the ordinary least squares regression. Geometry of quantities minimized in OLS and symmetric regression. OLS minimizes `\Sigma e_y^2` in `Y` ~ `X` and `\Sigma e_x^2` `X` ~ `Y`. Pythagorean regression minimizes AB (magenta). Geometric means regression (GMR) minimizes area of ABP (orange). Orthogonal regression (OR) minimizes HP (blue).
(
read)
Luca Greco, George Luta, Martin Krzywinski & Naomi Altman (2025) Points of significance: Symmetric alternatives to the ordinary least squares regression. Nat. Methods 22:1610–1612.
Wed 11-06-2025
Fuelled by philanthropy, findings into the workings of BRCA1 and BRCA2 genes have led to groundbreaking research and lifesaving innovations to care for families facing cancer.
This set of 100 one-of-a-kind prints explore the structure of these genes. Each artwork is unique — if you put them all together, you get the full sequence of the BRCA1 and BRCA2 proteins.
Mon 17-03-2025
The needs of the many outweigh the needs of the few. —Mr. Spock (Star Trek II)
This month, we explore a related and powerful technique to address bias: propensity score weighting (PSW), which applies weights to each subject instead of matching (or discarding) them.
▲ Nature Methods Points of Significance column: Propensity score weighting.
(
read)
Kurz, C.F., Krzywinski, M. & Altman, N. (2025) Points of significance: Propensity score weighting. Nat. Methods 22:638–640.