diff options
Diffstat (limited to 'projects/projectile/index.js')
| -rw-r--r-- | projects/projectile/index.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/projects/projectile/index.js b/projects/projectile/index.js new file mode 100644 index 0000000..4226da5 --- /dev/null +++ b/projects/projectile/index.js @@ -0,0 +1,40 @@ + + +let projectile= function (node){ + + node.setup = function() { + node.createCanvas(width, height); + }; + + + let t=0; + let v0=50 + let x0=1 + let y0=50 + let g=9.81 + let width=800 + let height=200 + let dots=[] + function x(t) { + return x0+v0*t + } + + function y(t) { + return height - (-1/2 * g * t**2 + v0 * t + y0) + } + + node.draw = function() { + node.background(50); + dots.forEach((elt)=>{node.ellipse(elt[0],elt[1],4,4);}) + node.ellipse(x(t),y(t),20,20); + dots.push([x(t),y(t)]) + if(t>10){ + node.noLoop() + } + t+=0.07 + }; + + node.a=function(){ + node.remove() + } +}; |
