Привет всем. Помогите реализовать движение объекта с учётом силы тяжести. Необходимо, чтобы объект двигался вниз с ускорением, а вверх - с замедлением. Не могу сделать. Как применить формулу F=mg ? Вот наработки:
<script type="text/javascript">
window.onload = function() {
var canv = document.getElementById("canv");
var ctx = canv.getContext("2d");
var interval = null;
var x = 50, y = 50, vx = 1, vy = 1,
angle = 0, g = 9.8, a = 10, m = 5; /*vx, vy - скорость для х и у координат, m - масса, g - ускорение свободного падения, а - ускорение*/
function line(x0, y0, x1, y1) {
ctx.beginPath();
ctx.moveTo(x0, y0);
ctx.lineTo(x1, y1);
ctx.strokeStyle = "blue";
ctx.stroke();
}
function circ(x, y){
ctx.beginPath();
ctx.fillStyle = "red";
ctx.arc(x, y, 6, 0, Math.PI * 2, true);
ctx.fill();
}
function update() {
ctx.clearRect(0, 0, 600, 400);
//едим вниз
if(x < 300 && y < 300) {
angle = Math.atan2(300 - 50, 300 - 50);
}
//едим вверх
else{
angle = Math.atan2(80 - 300, 600 - 300);
}
//приращаем координаты х, у в зависимости от угла между точками прямой
x += Math.cos(angle) * vx;
y += Math.sin(angle) * vy;
//доехали до верхней точки
if(x >= 600 && y <= 80) {
clearInterval(interval);
}
line(50, 50, 300, 300);
line(300, 300, 600, 80);
circ(x, y);
}
function anim() {
interval = setInterval(function() {
update();
}, 16);
}
anim();
}
</script>
<canvas id="canv" width="800" height="600"></canvas>
Пока объект движется равномерно, так как не знаю как применить физику.