dwitter.net | indygon (50)

+ 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.
Try the new frontend: beta.dwitter.net
Current theme challenge: #Opposites
show FPS hide FPS share fullscreen

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

  • zoetrope
  • u/indygon
    aka "enter the headache vortex"
  • u/indygon
    Here's an pre-golfed version with some parameters in the first line if anyone wants to mess around with it: x.reset();a=1e3;s=300;p=2*Math.PI;n=12 for(j=1;j<n+1;j++){ for(i=0;i<a;i++){ c=200-j*20 x.fillStyle=R(c,c,c) x.fillRect(1.5*i*S(j*p/n+i*t/s)+960,1.5*i*C(j*p/n+i*t/s)+540,9,9)}}

Please log in (or register) to comment.

show FPS hide FPS share 2 remixes fullscreen

function u(t) {

}//
134/140


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

  • u/tomxor
    Inspired by d/23398. Uses raster/2d-voxel based intersection
  • u/Xen
    love it!
  • u/magna
    HOW?!
  • u/katkip
    how
  • u/tomxor
    It's particle physics, but the collisions are with implicit volumes. So rather than checking against a specific object, each pixel is intersected with the circle, if the pixel is filled and intersects, then it contributes velocity to the particle along the collision normal (the vector between the pixel and the point), the deeper the intersection based on the radius the greater the contribution... this is not correct at all and creates lots of phantom momentum, but is very simple and shares the code with drawining the screen.

Please log in (or register) to comment.

show FPS hide FPS share fullscreen

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

Please log in (or register) to comment.

You've reached the end.