public Ball(int xInitial, int yInitial, double thetaInitial) throws IllegalArgumentException {
		
		// Check to see if the x-axis position is within bounds.
		if (xInitial >= BALL_MIN_X + BALL_RADIUS && xInitial <= BALL_MAX_X - BALL_RADIUS) {
			xPosition = xInitial;
		} else {
			throw new IllegalArgumentException("Initial horizontal position out of bounds.");
		}
		
		// Check to see if the y-axis position is acceptable.
		if (yInitial >= BALL_MIN_Y + BALL_RADIUS && yInitial <= BALL_MAX_Y - BALL_RADIUS) {
			yPosition = yInitial;
		} else {
			throw new IllegalArgumentException("Initial vertical position out of bounds.");
		}
		
		// Check to see if the given orientation is acceptable.
		if (thetaInitial >= BALL_MIN_THETA && thetaInitial <= BALL_MAX_THETA) {
			if (thetaInitial == BALL_MAX_THETA) {
				theta = BALL_MIN_THETA;
			} else {
				theta = thetaInitial;
			}
		} else {
			throw new IllegalArgumentException("Initial orientation out of range.");
		}
	}