]>
git.r.bdr.sh - rbdr/r.bdr.sh/blob - js/animation.js
3 var K
= document
.querySelector('canvas'),
4 { random: R
, PI
, cos: C
, sin: S
, floor
, atan2: A
} = Math
,
10 X
= K
.getContext('2d'),
17 I
= Array(r(10) + 6).fill().map(() => ({
21 c: Array(3).fill(r(256))
23 H
= [sqr
, crc
, hrt
, chs
, lch
],
24 P
= [id
, spn(5), spn(15)],
25 draw
= H
[r(H
.length
)],
35 X
.fillRect(x
, y
, z
, z
)
42 X
.arc(x
, y
, z
/ 2, 0, 2 * PI
)
51 X
.lineTo(x
* 10 * C(i
.a
), y
* 10 * S(i
.a
))
52 X
.lineTo(r(64), r(64))
61 X
.strokeStyle
= `rgb(${i.c.join(',')})`
63 X
.lineTo(x
* 10 * C(i
.a
), y
* 10 * S(i
.a
))
70 X
.fillRect(x
, y
, z
, z
)
73 X
.arc(x
+ z
/ 2, y
, z
/ 2, 0, 2 * PI
, false)
78 X
.arc(x
+ z
, y
+ z
/ 2, z
/ 2, 0, 2 * PI
, false)
85 i
.x
= i
.x
+ s
* C(i
.a
)
86 i
.y
= i
.y
+ s
* S(i
.a
)
88 if (i
.x
< 0 || i
.x
> 64) {
89 i
.a
= A(S(i
.a
), -C(i
.a
))
91 if (i
.y
< 0 || i
.y
> 64) {
92 i
.a
= A(-S(i
.a
), C(i
.a
))
97 i
.c
= i
.c
.map(c
=> (c
+ 5) % 256)
102 requestAnimationFrame(frm
)
107 k
&& X
.clearRect(0, 0, 64, 64)
109 X
.fillStyle
= `rgb(${i.c.join(',')})`