You might use a "stretch" sensor connected between moving and fixed parts.
Create a lookup table how much stretch is generated @ which angle. You can do with 5 or 10 values and interpolate them by means of - Arduino Playground - MultiMap - if it is not linear.
Another trick could be some hall sensors with different resistors in parallel and a magnet triggering one sensor at the time.
+5V ---< R0 >-----< HALL >-----+ 0 degrees
|
+5V ---< R1 >-----< HALL >-----+ 10 degrees
|
+5V ---< R2 >-----< HALL >-----+ 20 degrees
|
.
|
+5V ---< R9 >-----< HALL >-----+ 90 degrees
|
|
+----- arduino AnalogRead()