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) {

}//
140/140


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

  • Projection Faster and Uncompressed
  • u/@noel
    I love this one and I follow the logic, until the z & w performing. I know it's a bitwise AND operation on z and w, but I don't actually grasp it.
  • u/@noel
    I mean on this one: x.fillRect(i, j, 1, (z & w) / w)
  • u/joeytwiddle
    Here (z & w) / w is the height of the rectangle. If that height is less than 1, then the canvas anti-aliasing renders a grey pixel, instead of a black one.
  • u/@noel
    Thanks u/joeytwiddle Now I think I get it. (z & w) ensures that the value of z remains within the range of the canvas width 'w', and the dividing by w normalizes the height value. Great trick!

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)