以下のコードでは、ある線が別の線に対して時計回りに回転していることを確認したいと思います。時計回りに行きたい線の角度は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を下回ると機能しなくなります。