dwitter.net | #D3

+ 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 1 remix 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.

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

  • u/f8f82804
    #d3 #sphere #perspective
  • u/katkip
    how lol
  • u/pavel
    I draw #default one pixel at a time and treat (x,y) of the pixels as angles (a,b) in spherical coordinates. Spherical to 3d cartesian is x=r*sin(a)*sin(b), y=r*cos(a)*sin(b), z=r*cos(b). Projecting 3d to 2d cartesian is x'=x/(2+y/r), y'=z/(2+y/r), and scaling pixel size by 1/(2+y/r)**2 so stuff in the back is smaller.

Please log in (or register) to comment.

show FPS hide FPS share 1 remix fullscreen
remix of d/11892 by u/katkip

function u(t) {

}//
128/140


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

  • Resizing the roof! #d3

Please log in (or register) to comment.

show FPS hide FPS share 1 remix 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).

  • u/pavel
    Here is 12 characters saved: c.width^=i=0;for(y of'111121012110')x.lineTo(960+y%2*S(p=t+1.6*'123403020140'[i++])*(z=1600/(3+y%2*C(p))),y*z);x.fill('evenodd')
  • u/f8f82804
    using 1.6 to approximate Math.PI/2 is OK, but you should change all the 4s to 0s in the second data string, just to minimze the aggregate angular error. I used 4 for clarity, because 1.57 is accurate enough that the error is hard to notice. With 1.6 you can notice that one edge is longer than the others. c.width^=i=0;for(y of'111121012110')x.lineTo(960+y%2*S(p=t+1.6*'123003020100'[i++])*(z=1600/(3+y%2*C(p))),y*z);x.fill('evenodd')

Please log in (or register) to comment.

show FPS hide FPS share fullscreen

function u(t) {

}//
139/140


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

  • Uncompressed version achieved with lots of help from u/yonatan

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

  • Magic Land

Please log in (or register) to comment.

show FPS hide FPS share fullscreen
sam

function u(t) {

}//
139/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.

show FPS hide FPS share 1 remix fullscreen
remix of d/9161 by u/f8f82804

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.


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.

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.

Loading...
Next page