1

我一直在尝试将起源于圆心的线朝向 Javascript 中的光标旋转。我让它移动,但它偏离了实际方向。这是有原因的吗?我宁愿在方向同步之前不必添加方向。

这就是我获得方向的方式:

var deltaY = pointerY - charY;
var deltaX = pointerX - charY;

charDirection = Math.atan2(deltaY,deltaX) * 180/ Math.PI;

这就是我计算新点的方式,我希望距离中心 100 点。

var directionInRadians = charDirection * (Math.PI/180);
var newX = 100 * Math.cos(directionInRadians) - 100 * Math.sin(directionInRadians);
var newY = 100 * Math.cos(directionInRadians) + 100 * Math.sin(directionInRadians);

JSFiddle 帖子

4

1 回答 1

1

我不确定你为什么要按照你的方式执行 newX/Y 计算。正确的计算实际上要简单得多:

var newX = 100 * Math.cos(directionInRadians);
var newY = 100 * Math.sin(directionInRadians);

演示

于 2013-08-07T20:01:27.587 回答