Apply gravity between two or more objects in HTML5 Canvas


To apply gravity between two or more object in Canvas:

var distX = ob1.x - ob2.x,
distY = ob1.y - ob2.y;

var val = distX *distX + distY * distY;
var r = Math.sqrt(val);
var F = 50 / val;

var rhat_x = distX / r;
var rhat_y = distY / r;

var Fx = F * rhat_x;
var Fy = F * rhat_y;

ob1.vx += -Fx;
ob1.vy += -Fy;

ob2.vx += Fx;
ob2.vy += Fy;

Updated on: 29-Jan-2020

148 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements