How to draw tangent line at a given point on the circle? [closed]

I'm trying to draw this picture using TikZ. I'm almost done. After drawing K and the small circle I choose those 2 points (p and \tilde p). The problem is to draw the dashed circle containing those 2 points.

Also other problem is to draw the tangent lines T_1 and T_2. I've found some tricks to draw tangents to a curve but I don't have an open curve to use some positions (as path length).

Finally, how to draw the right angles? That is, the small square for right angles. Here is my code for the moment. It's similar to the figure, it is not necessary to be exactly the same. Note that I had to do a trick to get the orthogonal circle.

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,through,arrows}
\usetikzlibrary{decorations}
\usetikzlibrary{intersections,patterns}
\usetikzlibrary{decorations.markings}

\begin{document}
\begin{tikzpicture}
\coordinate (q) at (0,0);
\coordinate (t) at (-20:3cm);
\coordinate (t1) at (15:3.5cm);
\draw[name path=circ,fill=white!10] (q) circle (2cm);
\draw[name path=reta] (q)--(t)node[below left]{$T$};
\path[name intersections={of=reta and circ,by={a}}] ;
\coordinate (o) at ($(a)!1cm!-90:(q)$);
\draw[name path=circ1] (o) circle (1cm);
\path[name intersections={of=circ and circ1,by={b}}] ;
\path[name path=linha,draw] (q)--(t1);
\path[name intersections={of=circ1 and linha,by={ztilde,z}}] ;

\draw (a) -- ($(a)!-4pt!(q)$) -- ($(a)!-4pt!(q)!4pt!90:(a)$) -- ($(a)!4pt!90:(q)$);
\draw (b) -- ($(b)!-4pt!(q)$) -- ($(b)!-4pt!(q)!4pt!-90:(b)$) -- ($(b)!4pt!-90:(q)$);

\draw[fill=white] (z)node[above left]{$z$} circle (1.2pt) (ztilde)node[above right]{$\tilde z$} circle (1.2pt) (a)node[below=2pt]{$a$} circle (1.2pt) (b)node[above=2pt]{$b$} circle (1.2pt);
\draw[fill=black] (q)node[left]{$q$} circle (1.2pt);
\node[below left] at (220:2cm){$\mathcal{K}$};
\node[right=1cm] at (o){$\mathcal{C}$};
\end{tikzpicture}
\end{document}

closed as too localized by Paul Gaborit, Mensch, Martin Schröder, Sigur, ThorstenDec 27 '12 at 7:33

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

• It'd be easier if you include the code of what you have done so far – Mobius Pizza Dec 26 '12 at 19:28
• If you use the package tkz-euclide then right angles and tangents are commands available to you. The documentation is here and the relevant part of the Altermundus site is here – DJP Dec 26 '12 at 19:37
• @DJP, I can not believe!!! Why did I find this before? Section 9.7.1 is exactly what I need. Inversion on circles. – Sigur Dec 26 '12 at 19:42
• I'm only just learning tikz myself. (I usually use pstricks.) I create a lot documents for geometry students. I just recently found a nice package tkz-euclide. You might want to check that out. – A.Ellett Dec 26 '12 at 19:56