Let $r$ be a rational number in the interval $[-1,1]$ and let $\theta = \cos^{-1} r$.  Call a subset $S$ of the plane [i]good[/i] if $S$ is unchanged upon rotation by $\theta$ around any point of $S$ (in both clockwise and counterclockwise directions). Determine all values of $r$ satisfying the following property: The midpoint of any two points in a good set also lies in the set.
1. **Define the problem and initial conditions:**
   Let \( r \) be a rational number in the interval \([-1,1]\) and let \(\theta = \cos^{-1} r\). A subset \( S \) of the plane is called *good* if \( S \) is unchanged upon rotation by \(\theta\) around any point of \( S \) (in both clockwise and counterclockwise directions). We need to determine all values of \( r \) such that the midpoint of any two points in a good set also lies in the set.

2. **Complex number representation:**
   Let \( z = \cos \theta + i \sin \theta \). Notice that if points \( A, B \in S \) correspond to complex numbers \( a \) and \( b \) in the complex plane, then a counterclockwise rotation of \( A \) around \( B \) is given by:
   \[
   a + z(b - a) = (1 - z)a + zb
   \]
   and a clockwise rotation of \( A \) around \( B \) is given by:
   \[
   a + z^{-1}(b - a) = (1 - z^{-1})a + z^{-1}b
   \]

3. **Prove that \( r = 1 - \frac{1}{4n} \) works:**
   We need to show that any set \( T \) containing \( 0 \) and \( 1 \) must contain \(\frac{1}{2}\). From \( 0 \) and \( 1 \), we can:
   - Rotate \( 1 \) counterclockwise around \( 0 \) to get \( z \).
   - Rotate \( 0 \) clockwise around \( z \) to get \( z - 1 \).
   - Rotate \( z \) clockwise around \( z - 1 \) to get:
     \[
     (1 - z^{-1})(z - 1) + 1 = 2r - 1 = 1 - \frac{1}{2n}
     \]
   - Rotate \( z - 1 \) counterclockwise around \( 1 - \frac{1}{2n} \) to get:
     \[
     -\frac{1}{2n}
     \]

   Thus, any set containing \( 0 \) and \( 1 \) also contains \( -\frac{1}{2n} \) and \( 1 - \frac{1}{2n} \). Repeating this argument \( n \) times shows that this set contains \( -\frac{1}{2} \) and \(\frac{1}{2}\), as desired.

4. **Construct sets of Laurent polynomials:**
   - Let \( S_0 = \{0, 1\} \).
   - Let \( S_i = \{(1 - x)A + xB, (1 - x^{-1})A + x^{-1}B \colon A, B \in S_{i-1}\} \) for positive integers \( i \).
   - Let \( S_\infty = \bigcup_{i=0}^\infty S_i \).

   Notice that applying \( z \) to elements of \( S_\infty \) results in the minimal set, by inclusion, containing \( 0 \) and \( 1 \).

5. **Key claim:**
   \( S_\infty \) is a subset of the set of all integer-coefficient Laurent polynomials with a remainder of \( 0 \) or \( 1 \) when divided by \( x - 1 \).

   *Proof:* The map \( a, b \mapsto (1 - x)a + xb \) taken "modulo \( x - 1 \)" is congruent to \( a, b \mapsto b \), and the map \( a, b \mapsto (1 - x^{-1})a + x^{-1}b \) taken "modulo \( x - 1 \)" is congruent to \( a, b \mapsto b \). Since we start with \( S_0 = \{0, 1\} \), all elements of \( S_\infty \) must be congruent to either \( 0 \) or \( 1 \) modulo \( x - 1 \).

6. **Implication of the problem statement:**
   There exists an integer-coefficient Laurent polynomial \( P \) with a remainder of \( 0 \) or \( 1 \) when divided by \( x - 1 \) such that \( P(z) = \frac{1}{2} \). If this remainder is \( 0 \), let \( P^* = P \), and otherwise, let \( P^* = P - 1 \); we must have \( |P^*(z)| = \frac{1}{2} \).

7. **Case analysis:**
   We will prove the case of \( P^*(z) = \frac{1}{2} \implies 2P^*(z) - 1 = 0 \), as the case of \( P^*(z) = -\frac{1}{2} \) is analogous. Choose a nonnegative integer \( N \) such that \( x^N P^*(x) \) is a polynomial. We have:
   \[
   2z^N P^*(z) - z^N = 0
   \]
   so:
   \[
   2x^N P^*(x) - x^N
   \]
   must be divisible by the minimal polynomial of \( z \). We can easily show that \( r = 1 \) and \( r = -1 \) fail, so assume that \( z \ne 1, -1 \). Then, the minimal polynomial of \( z \) is:
   \[
   (x - z)(x - \overline{z}) = x^2 - (z + \overline{z})x + 1 = x^2 - \frac{2p}{q}x + 1
   \]
   where \( r = \frac{p}{q} \). Let \( Q \) satisfy:
   \[
   Q(x)(x^2 - \frac{2p}{q}x + 1) = 2x^N P^*(x) - x^N
   \]
   Notice that:
   \[
   \frac{q}{\gcd(q, 2)}(x^2 - \frac{2p}{q}x + 1) \in \mathbb{Z}[x]
   \]
   and it is irreducible in \( \mathbb{Z}[x] \) because it is a multiple of a minimal polynomial, so:
   \[
   \frac{2x^N P^*(x) - x^N}{\frac{q}{\gcd(q, 2)}(x^2 - \frac{2p}{q}x + 1)} \in \mathbb{Z}[x]
   \]
   which means \( Q(x) \in \mathbb{Z}[x] \). We plug in \( x = 1 \) to the definition of \( Q \) to obtain:
   \[
   Q(1)(2 - \frac{2p}{q}) = -1
   \]
   so:
   \[
   \frac{1}{2 - 2p/q} = \frac{1/2}{1 - r}
   \]
   is an integer, which means \( r = 1 - \frac{1}{2n} \), \( p = 2n - 1 \), and \( q = 2n \) for some positive \( n \).

8. **Prove that \( n \) is even:**
   Notice that since \( z \) satisfies:
   \[
   z^2 - \frac{2n - 1}{n}z + 1 = 0
   \]
   we know that \( z' = nz \) must satisfy:
   \[
   \frac{z'^2}{n^2} - \frac{2n - 1}{n^2}z' + 1 = 0
   \]
   or:
   \[
   z'^2 + (2n - 1)z' + n^2 = 0
   \]
   so \( z' \) is an algebraic integer. Similarly, \( \overline{z'} = n\overline{z} \) is an algebraic integer. Write out the terms of the equation \( P^*(z) = \frac{1}{2} \), replacing each \( z^k \) with \( \frac{z'^k}{n^k} \) and each \( z^{-k} \) with \( \frac{\overline{z'}^k}{n^k} \). If \( n \) is odd, then multiplying the left-hand side by a large power of \( n \) results in an algebraic integer, but no odd multiple of the right-hand side is an algebraic integer, a contradiction. Therefore, \( n \) must be even, as desired.

\(\blacksquare\)

The final answer is \( \boxed{ r = 1 - \frac{1}{4n} } \) for positive integers \( n \).