public double angleSign(Vector2D other) {
		double dp, angPi;

		dp = dot(other); // dot product
		if (dp >= 1.0) {
			dp = 1.0f;
		}
		if (dp <= -1.0) {
			dp = -1.0f;
		}
		angPi = acos(dp);

		// side test
		if (y * other.x > x * other.y) {
			return -angPi;
		}
		return angPi;
	}