在下面的代码中,我想确保一条线相对于另一条线顺时针旋转。我想要顺时针走的线有 Angular targetAngle。
var dX = line.start.x - someOtherPoint.x;
var dY = line.start.y - someOtherPoint.y;
var lastAngle = Math.atan2(dY, dX);
var dX = line.start.x - line.end.x;
var dY = line.start.y - line.end.y;
var targetAngle = Math.atan2(dY, dX);
if (targetAngle < lastAngle) {
// is going counter clockwise
} else {
// is going clockwise
}
此代码在大多数情况下都有效,但当 targetAngle 低于 0 时就会中断。
最佳答案
我只是粗略地浏览了一下,但如果它仅在 targetAngle 低于零时中断,请添加如下检查:
if (targetAngle < 0)
targetAngle = targetAngle + 360
这样你就永远不必处理负 Angular 。或者无论如何都可以按照这些思路做一些事情。
关于javascript - 如何测试一条线是否相对于另一条线顺时针旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14429674/