## 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. ```
show FPS hide FPS share

`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
• 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.

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