public static double comparableAngleOnScreen( Point source, Point target, Side nullSide ){
		int sx = source.x;
		int sy = source.y;
		int tx = target.x;
		int ty = target.y;
		
		if( sx == tx && sy == ty ){
			return 0;
		}
		
		double angle = Math.atan2( tx-sx, sy-ty );
		switch( nullSide ){
			case NORTH: return angle;
			case SOUTH: return -rotate( angle, Math.PI );
			case EAST: return rotate( angle, -Math.PI/2 );
			case WEST: return -rotate( angle, Math.PI/2 );
			default: throw new IllegalStateException();
		}
	}