ball-bearing.js

total 0
used 0
limit 0
/* title: Ball Bearing categories: ball constraint files: ../point_src/core/head.js ../point_src/pointpen.js ../point_src/pointdraw.js ../point_src/extras.js ../point_src/math.js ../point_src/point-content.js ../point_src/stage.js ../point_src/point.js ../point_src/distances.js ../point_src/pointlist.js ../point_src/events.js ../point_src/automouse.js ../point_src/functions/rel.js dragging ../point_src/constrain-distance.js Simulate collisions using a _string_. Here we replicate one of those little balls inside a circle */ // var gravity = {x: 0, y:-0.05}; // Gravity constant for helium balloon. var gravity = {x: 0, y:1}; // Gravity constant class MainStage extends Stage { canvas = 'playspace' mounted() { console.log('mounted') // this.mouse.position.vy = this.mouse.position.vx = 0 this.pin = new Point({ x: 200, y: 200, radius: 140, vx: 0, vy: 0}) this.point = new Point({ x: 300, y: 100, vx: 0, vy: 0}) this.dragging.add(this.pin, this.point) } draw(ctx) { this.clear(ctx); let pin = this.pin let other = this.point let settings = { gravity , forceMultiplier: .9 , dotDamping: .17 , damping: .98 , distance: pin.radius - other.radius - 2 } settings = { gravity , forceMultiplier: 1 // , dotDamping: .17 // , damping: .98 , distance: pin.radius - other.radius - 2 } pin.constraint.string(other, settings) pin.pen.circle(ctx, {color:'red'}) other.pen.indicator(ctx) } } const stage = MainStage.go()
Run
Meta Data
title Ball Bearing
imports ()
files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/extras.js', '../point_src/math.js', '../point_src/point-content.js', '../point_src/stage.js', '../point_src/point.js', '../point_src/distances.js', '../point_src/pointlist.js', '../point_src/events.js', '../point_src/automouse.js', '../point_src/functions/rel.js', 'dragging', '../point_src/constrain-distance.js')
unused_keys ()
unknown_keys ('categories',)
categories ['ball', 'constraint']
filepath_exists True
path ball-bearing.js
filepath ball-bearing.js
clean_files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/extras.js', '../point_src/math.js', '../point_src/compass.js', '../point_src/center.js', '../point_src/point-content.js', '../point_src/stage-resize.js', '../point_src/functions/resolve.js', '../point_src/stage.js', '../point_src/relative-xy.js', '../point_src/pointcast.js', '../point_src/point.js', '../point_src/distances.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/events.js', '../point_src/automouse.js', '../point_src/functions/rel.js', '../point_src/functions/clamp.js', '../point_src/protractor.js', '../point_src/text/beta.js', '../point_src/dragging.js', '../point_src/constrain-distance.js')
markdown {'html': '<p>Simulate collisions using a <em>string</em>. Here we replicate one of those\nlittle balls inside a circle</p>', 'content': 'title: Ball Bearing\ncategories: ball\n constraint\nfiles:\n ../point_src/core/head.js\n ../point_src/pointpen.js\n ../point_src/pointdraw.js\n ../point_src/extras.js\n ../point_src/math.js\n ../point_src/point-content.js\n ../point_src/stage.js\n ../point_src/point.js\n ../point_src/distances.js\n ../point_src/pointlist.js\n ../point_src/events.js\n ../point_src/automouse.js\n ../point_src/functions/rel.js\n dragging\n ../point_src/constrain-distance.js\n\n\nSimulate collisions using a _string_. Here we replicate one of those\nlittle balls inside a circle'}