dwitter.net

+ New dweet
function u(t) {
} //
122/140


Please log in (or register) to post a dweet (copy-paste the code somewhere safe to save it meanwhile)


u(t) is called 60 times per second. t: Elapsed time in seconds. S: Shorthand for Math.sin. C: Shorthand for Math.cos. T: Shorthand for Math.tan. R: Function that generates rgba-strings, usage ex.: R(255, 255, 255, 0.5) c: A 1920x1080 canvas. x: A 2D context for that canvas.

function u(t) {

}//
131/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • (X=-0.7453, Y=0.1127, R=6.5e-4) section of the #mandelbrot set
  • u/pavel
    This version draws 1x3 pixels to speed up rendering. for(let i=2e3,f=(x,n=420,a=0,b=0)=>a*a+b*b<n?f(x,n-1,a*a-b*b+x,2*a*b+.1133-t/13845):n/420;i--;)x.fillRect(i,60*t,s=f(i/8e5-.7467),s) looks better in fullscreen but is 3x as slow.
  • u/pavel
    let and the automatic scoping of args in f makes this _really_ quick. I can increase the loop to 4e3 iterations and still have 60fps on my machine. Would be interesting to speed this up by rendering multiple rows per frame.
  • u/katkip
    all dweets made by u/pavel are genius
  • u/Xen
    godlike!
  • u/Qwitter
    agreed !!!!

Please log in (or register) to comment.

u(t) is called 60 times per second. t: elapsed time in seconds. c: A 1920x1080 canvas. x: A 2D context for that canvas. S: Math.sin C: Math.cos T: Math.tan R: Generates rgba-strings, ex.: R(255, 255, 255, 0.5)