spring-bound-point.js

total 0
used 0
limit 0
/* categories: springs files: ../point_src/core/head.js ../point_src/pointpen.js ../point_src/pointdraw.js ../point_src/math.js ../point_src/functions/springs.js ../point_src/extras.js ../point_src/point-content.js ../point_src/pointlistpen.js ../point_src/pointlist.js ../point_src/point.js dragging ../point_src/stage.js stroke mouse moved to functions/springs */ class MainStage extends Stage { // canvas = document.getElementById('playspace'); canvas = 'playspace' mounted(){ this.points = new PointList( new Point({ x: 150, y: 230 , radius: 10 , vx: 1, vy: 0 , mass: 10 }) , new Point({ x: 350, y: 200 , vx: -1, vy: 0 , radius: 10 , mass: 10 }) , new Point({ x: 450, y: 520 , vx: .4, vy: -.1 , radius: 8 , mass: 8 }) // , new Point({ // x: 450, y: 520 // , vx: .4, vy: -.1 // , radius: 8 // , mass: 8 // }) // , new Point({ // x: 450, y: 520 // , vx: .4, vy: -.1 // , radius: 8 // , mass: 8 // }) // , new Point({ // x: 450, y: 520 // , vx: .4, vy: -.1 // , radius: 8 // , mass: 8 // }) ) } draw(ctx){ this.clear(ctx) let mouse = Point.mouse.position let ps = this.points; let restLength = 100; let springConstant = .6; let dampingFactor = 0.99; // Adjust this value between 0 and 1 const lockedPoints = new Set([ps[0]]); // Lock pointA in place applySpringForceDistributed(ps[0], ps[1], restLength, springConstant, dampingFactor, lockedPoints); applySpringForceDistributed(ps[1], ps[2], restLength, springConstant, dampingFactor, lockedPoints); applySpringForceDistributed(ps[2], ps[0], restLength, springConstant, dampingFactor, lockedPoints); // this.points.last().rotation += 2 this.points.pen.indicators(ctx) } } stage = MainStage.go(/*{ loop: true }*/)
Run
Meta Data
imports ()
files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/math.js', '../point_src/functions/springs.js', '../point_src/extras.js', '../point_src/point-content.js', '../point_src/pointlistpen.js', '../point_src/pointlist.js', '../point_src/point.js', 'dragging', '../point_src/stage.js', 'stroke', 'mouse')
unused_keys ('title',)
unknown_keys ('categories',)
categories ['springs']
filepath_exists True
path spring-bound-point.js
filepath spring-bound-point.js
clean_files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/math.js', '../point_src/functions/springs.js', '../point_src/extras.js', '../point_src/compass.js', '../point_src/center.js', '../point_src/point-content.js', '../point_src/pointlistpen.js', '../point_src/pointlistdraw.js', '../point_src/pointlistgradient.js', '../point_src/pointlistshape.js', '../point_src/pointlistgenerator.js', '../point_src/unpack.js', '../point_src/pointlist.js', '../point_src/relative-xy.js', '../point_src/pointcast.js', '../point_src/point.js', '../point_src/functions/clamp.js', '../point_src/distances.js', '../point_src/protractor.js', '../point_src/text/beta.js', '../point_src/dragging.js', '../point_src/stage-resize.js', '../point_src/functions/resolve.js', '../point_src/stage.js', '../point_src/setunset.js', '../point_src/stroke.js', '../point_src/events.js', '../point_src/automouse.js')
markdown {'html': '<p>moved to functions/springs</p>', 'content': 'categories: springs\nfiles:\n ../point_src/core/head.js\n ../point_src/pointpen.js\n ../point_src/pointdraw.js\n ../point_src/math.js\n ../point_src/functions/springs.js\n ../point_src/extras.js\n ../point_src/point-content.js\n ../point_src/pointlistpen.js\n ../point_src/pointlist.js\n ../point_src/point.js\n dragging\n ../point_src/stage.js\n stroke\n mouse\n\n\nmoved to functions/springs'}