]>
git.r.bdr.sh - rbdr/r.bdr.sh/blob - js/animation.js
38b95aff495af2449092d3cd7f7528dafe1f1117
3 var K
= document
.querySelector('canvas'),
4 { random: R
, PI
, cos: C
, sin: S
, floor
, atan2: A
} = Math
,
5 r
= x
=> floor(R() * x
),
13 x
.fillRect(p
.x
, p
.y
, siz
, siz
)
18 x
.arc(p
.x
, p
.y
, siz
/ 2, 0, 2 * PI
)
25 x
.lineTo(p
.x
* 10 * C(i
.a
), p
.y
* 10 * S(i
.a
))
26 x
.lineTo(r(64), r(64))
34 x
.strokeStyle
= `rgb(${i.c.join(',')})`
36 x
.lineTo(p
.x
* 10 * C(i
.a
), p
.y
* 10 * S(i
.a
))
42 x
.fillRect(p
.x
, p
.y
, siz
, siz
)
45 x
.arc(p
.x
+ siz
/ 2, p
.y
, siz
/ 2, 0, 2 * PI
, false)
50 x
.arc(p
.x
+ siz
, p
.y
+ siz
/ 2, siz
/ 2, 0, 2 * PI
, false)
56 i
.x
= i
.x
+ spd
* C(i
.a
)
57 i
.y
= i
.y
+ spd
* S(i
.a
)
59 if (i
.x
< 0 || i
.x
> 64) {
60 i
.a
= A(S(i
.a
), -C(i
.a
))
62 if (i
.y
< 0 || i
.y
> 64) {
63 i
.a
= A(-S(i
.a
), C(i
.a
))
66 ucl
= i
=> i
.c
= i
.c
.map(c
=> (c
+ 5) % 256),
69 window
.requestAnimationFrame(frm
)
74 clr
&& x
.clearRect(0, 0, 64, 64)
76 x
.fillStyle
= `rgb(${i.c.join(',')})`
85 x
= K
.getContext('2d'),
92 I
= Array(r(10) + 6).fill().map(() => ({
96 c: Array(3).fill(r(256))
98 H
= [sqr
, crc
, hrt
, chs
, lch
],
99 P
= [id
, spn(5), spn(15)],
100 draw
= H
[r(H
.length
)],