tikz add tag
Anonymous 1123
I am tring to draw the circle passing through three points `O, A, B`. I tried 
```
\begin{scope}[canvas is xy plane at z=0]
    \draw[red] (I) circle[radius=\r] ;
   \end{scope}
```
I got correct result. If I used

```
\pgfmathsetmacro{\Angle}{acos(\r/\R)};
\begin{scope}[shift={(T)}]
\tdplotCsDrawLatCircle[]{\r}{{-\Angle}}
```
I got incorrect result. How can I choose `\Angle` to draw circle?
My code
```
\documentclass[border=2mm,12pt,tikz]{standalone}
\usepackage{tikz-3dplot-circleofsphere}
\usepackage{fouriernc}
\usetikzlibrary{calc}
\usetikzlibrary{3dtools}
\usetikzlibrary{fpu}
\def\pgfmathsetmacroFPU#1#2{\begingroup%
	\pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
	\pgfmathsetmacro{#1}{#2}%
	\pgfmathsmuggle#1\endgroup}%
\begin{document}
    \tdplotsetmaincoords{65}{70}
    \begin{tikzpicture}[tdplot_main_coords,scale=1,line join = round, line cap = round,declare function={a=5;xA=a;yA=0;zA=0;xB=0;yB=a;zB=0;xC=0;yC=0;zC=a;}]
    \path
    (0,0,0) coordinate (O)
    (xA,yA,zA) coordinate (A)
    (xB,yB,zB) coordinate (B)
   (xC,yC,zC) coordinate (C)
       ({-((-xC*xC*yB*zA +xB*xB*yC*zA + yB*yB* yC* zA - yB* yC*yC* zA + xC*xC* yA* zB - xA*xA *yC* zB - yA*yA* yC *zB + yA* yC*yC *zB - yC* zA*zA *zB + yC *zA* zB*zB -  xB*xB* yA* zC + xA*xA *yB* zC + yA*yA *yB* zC - yA *yB*yB* zC + yB* zA*zA *zC -  yA *zB*zB* zC - yB* zA* zC*zC +  yA* zB* zC*zC)/(2* (xC* yB* zA - xB* yC* zA - xC* yA *zB + xA* yC *zB + xB *yA* zC - xA* yB* zC)))},{ -((-xB*xB* xC* zA + xB* xC*xC* zA - xC* yB*yB* zA + xB* yC*yC* zA + xA*xA *xC* zB - xA* xC*xC *zB + xC* yA*yA *zB - xA* yC*yC* zB + xC *zA*zA *zB - xC *zA* zB*zB - xA*xA* xB* zC + xA*xB*xB* zC -  xB* yA*yA* zC + xA* yB*yB* zC - xB* zA*zA* zC + xA* zB*zB *zC + xB*zA *zC*zC -  xA* zB* zC*zC)/(2 *(xC* yB* zA - xB* yC* zA - xC* yA* zB + xA *yC*zB + xB* yA* zC - xA* yB* zC)))}, {-((xB*xB* xC* yA - xB* xC*xC *yA - xA*xA *xC*yB + xA* xC*xC* yB - xC* yA*yA* yB + xC* yA* yB*yB + xA*xA *xB*yC -  xA*xB*xB *yC + xB *yA*yA* yC - xA* yB*yB* yC - xB*yA* yC*yC + xA *yB* yC*yC - xC* yB *zA*zA + xB* yC *zA*zA + xC* yA *zB*zB - xA *yC* zB*zB - xB *yA *zC*zC +  xA* yB* zC*zC)/(2* (xC* yB* zA - xB* yC* zA - xC* yA* zB + xA* yC *zB +  xB* yA* zC - xA* yB* zC)))}) coordinate (T)
     
     ({(-xB*xB*yA + (xA*xA + yA*(yA - yB))*yB)/(-2*xB*yA + 2*xA*yB)}, {(xA*xA*xB + xB*yA*yA - xA*(xB*xB + yB*yB))/(2*xB*yA - 2*xA*yB)}) coordinate (I); 
  
   \foreach \p in {O,A,B,C,T,I}
   {\draw[fill=black] (\p) circle (1.5pt);}
   \foreach \p/\g in {O/90,A/60,B/-90,C/-90,T/90,I/90}
   {\path (\p)+(\g:3mm) node{$\p$}; }
   \pgfmathsetmacro{\R}{sqrt(TD("(T)-(O)o(T)-(O)")};
   \pgfmathsetmacroFPU{\r}{1/2*sqrt((((xA*xA + yA*yA)* (xA*xA - 2 *xA *xB + xB*xB + (yA - yB)*(yA - yB))* (xB*xB + yB*yB))/((xB *yA - xA *yB)*(xB *yA - xA *yB)))) };
  
   \begin{scope}[canvas is xy plane at z=0]
    \draw[red] (I) circle[radius=\r] ;
   \end{scope}
   
   \begin{scope}[tdplot_screen_coords]
  \draw (T) circle circle[radius=\R] ;
    \end{scope}
    \pgfmathsetmacro{\Angle}{acos(\r/\R)};
\begin{scope}[shift={(T)}]
\tdplotCsDrawLatCircle[]{\r}{{-\Angle}}
\end{scope}
 
\end{tikzpicture}
   \end{document}
```
![ScreenHunter 792.png](/image?hash=250594f33052b23e9480d65ec88cd17885fc7aea8a957c3ed74a03eb526fb088)

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.