double signedAngle(double startAngle, double targetAngle) { //return (startAngle - targetAngle).abs() % 360; return atan2(sin(startAngle - targetAngle), cos(startAngle - targetAngle)); }