Circle with "offset" center

I measure an angle on a circle with apex NOT at the center of the cirlce. Now I want to know what the angle would've been if the apex had been at the center.

http://img69.imageshack.us/img69/952...gle1iv3.th.jpg

http://img211.imageshack.us/img211/5...gle2xy9.th.jpg

Point C is the center of a circle. Radius CD known.

Point D is somewhere on the perimeter of the circle.

Point E is a known distance "south of" C inside the circle. CE known.

Points Q and P are fix reference points "to the east" of C and E respectively.

CQ is parallell to EP. QCE 90 degrees.

I now measure angle DEP at different occasions.

**Is there a nice formula for angle DCQ?**

I manage it like this:

CED = DEP+90

CDE = arcsin(sin(CED)*CE/CD) ;Law of sines

DCE = 180-CED-CDE

DCQ = 90-DCE

But this only works in the "south east" quadrant, beacause to the "south west" the angle DEP is >90 and lies outside of the triangle CED and my ad hoc "90-" and "+90" stuff doesn't cope with that. I could test for quadrant in my algorithm and use other ad hoc formulas for that case, but is there not a better and more analytical way to solve this?

I define angles as zero "to the east" and let them increase clockwise. When apexis at point E, then P is the "zero angle direction" reference. When the apex is at C, then point Q is the reference for "zero angle direction".

I'd be thankful for any help!