我一直在尝试在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);
答案 0 :(得分:1)
我不确定为什么要按照你的方式执行newX / Y计算。 正确的计算实际上要简单得多:
var newX = 100 * Math.cos(directionInRadians);
var newY = 100 * Math.sin(directionInRadians);