OK, here's my answer to part 1 (what is the pattern?):
We encode a dragon, $D$, as a string of $L$s and $R$s, where we start facing right and place the first letter at our starting point. If it is an $L$, we turn left and move forward one space; if it is an $R$ turn right and move forward one space. Then place the second letter, and repeat the process until the string of letters is used up.
Given a dragon, $D$, we write $\overline D$ to mean the dragon obtained from $D$ by replacing all its $L$s with $R$s and vice versa. We write $\neg D$ to represent the dragon whose string of letters is the string for $D$ listed in reverse. Finally, for two dragons, $D$ and $D'$, we write $DD'$ to mean the dragon whose string is the concatenation of the strings for $D$ and $D'$, in that order.
Let $D_i$ represent the level $i$ dragon, and take $D_0 = R$ and $D_1 = LRR$. The $D_i$ (for $i\ge2$) is obtained by $(\neg\overline{D_{i-2}})\, D_{i-1}\, D_{i-2}$.
Now I need to program that in MathJax (a formidable task).