在javascript中协调数学

时间:2015-03-10 08:30:11

标签: javascript canvas html5-canvas

我正在使用Canvas和JS,我有一个简单的物理模拟器,其中一个球被添加到画布并对重力,碰撞和阻力作出反应。

目前它可以通过拖动(如弹性带)来解决。

function drawSlingshot() {
if (mouse.isDown) {
    ctx.beginPath();
    ctx.moveTo(ball.position.x, ball.position.y);
    ctx.lineTo(mouse.x, mouse.y);
    ctx.stroke();
    ctx.closePath();
}

}

这是我绘制线条的功能,指示球的去向。不幸的是,这与其预期相反。球应该与线一起移动而不是靠在它上面。

目前我获取球的X和Y的位置以及球的X和Y. 光标。如果要通过球镜像线,我正在寻找的点是镜像线的x,y。 (见下图)

Ball picture

我对如何做到这一点有任何想法?

1 个答案:

答案 0 :(得分:1)

首先计算光标和球之间的差异。

var difference_x = mouse.x - ball.position.x;
var difference_y = mouse.y - ball.position.y;

然后在球位置和球位置之间画一条线减去差值:

ctx.lineTo(ball.position.x - difference_x, ball.position.y - difference_y);