Construct tangential, cyclic and bicentric quadrilaterals.
Bicentric quadrilaterals using intersections:
Edit and compile if you like:
% Author: Izaak Neutelings (January 2022) \documentclass[border=3pt,tikz]{standalone} \usetikzlibrary{calc} \usetikzlibrary{intersections} \usepackage[outline]{contour} % glow around text \contourlength{0.9pt} \colorlet{myred}{red!80!black} \colorlet{myblue}{blue!80!black} \colorlet{mygreen}{green!80!black} \colorlet{myorange}{orange!90!black} \colorlet{mydarkred}{red!60!black} \colorlet{mydarkblue}{blue!50!black} \colorlet{mydarkgreen}{green!50!black} \colorlet{mydarkorange}{orange!70!black} \newcommand\rightAngle[4]{ \pgfmathanglebetweenpoints{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#1}{center}} \coordinate (tmpRA) at ($(#2)+(\pgfmathresult+45:#4)$); \draw[mydarkblue] ($(#2)!(tmpRA)!(#1)$) -- (tmpRA) -- ($(#2)!(tmpRA)!(#3)$); } \tikzset{ angshift/.initial=1, % shift from origin/center angcol/.style={draw=#1!80!black,fill=#1!30}, % shorthand to fill (light) & draw (dark) angcol/.default={myblue}, pics/right angle/.style args={(#1)-(#2)-(#3):#4}{ % right angle code={ \tikzset{angshift/.get=\angshift} \pgfmathanglebetweenpoints{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#1}{center}} \pgfmathsetmacro\tmpAngA{\pgfmathresult} \coordinate (tmpS) at (\tmpAngA+45:\angshift*0.01); % shift \coordinate (tmp#1) at ($(#1)+(tmpS)$); \coordinate (tmp#2) at ($(#2)+(tmpS)$); \coordinate (tmp#3) at ($(#3)+(tmpS)$); \coordinate (tmpRA) at ($(tmp#2)+(\tmpAngA+45:#4)$); \fill[pic actions,draw=none] % fill square area ($(tmp#2)!(tmpRA)!(tmp#1)$) -- (tmpRA) -- ($(tmp#2)!(tmpRA)!(tmp#3)$) -- (tmp#2) -- cycle; \draw[pic actions,fill=none] % draw orthogonal mark ($(tmp#2)!(tmpRA)!(tmp#1)$) -- (tmpRA) -- ($(tmp#2)!(tmpRA)!(tmp#3)$); } } } \begin{document} % CYCLIC QUADRILATERAL % Construct cyclic quadrilateral four points on the circumcircle \begin{tikzpicture}[scale=1.5] \def\R{1.0} % circumradius = radius of circumcircle % COORDINATES \coordinate (O) at (0,0); %\coordinate (A) at ( 10:\R); %\coordinate (B) at (100:\R); %\coordinate (C) at (210:\R); %\coordinate (D) at (290:\R); \foreach \P/\angP in {A/10,B/100,C/210,D/290}{ \coordinate (\P) at (\angP:\R); % vertex \node[anchor=180+\angP,inner sep=2] at (\P) {\P}; } % LINES \draw[mydarkgreen] (O) circle(\R); \draw[myblue,thick] (A) -- (B) -- (C) -- (D) -- cycle; \fill[mydarkgreen] (O) circle(0.02); \fill[mydarkblue] (A) circle(0.02) (B) circle(0.02) (C) circle(0.02) (D) circle(0.02); \end{tikzpicture} % TANGENTIAL TRAPEZOID % Construct tangential trapezoid from four points of tangency on the incircle \begin{tikzpicture}[scale=1.5] \def\R{1.0} % inradius = radius of incircle \def\angW{5} % polar angle of tangent point W % CIRCLE \coordinate (O) at (0,0); \draw[mydarkgreen] (O) circle(\R); % COORDINATES \foreach \P/\Q/\angQ [remember={\angQ as \lastang (initially \angW);}, evaluate={ \r=\R/cos((\angQ-\lastang)/2); \angP=(\angQ+\lastang)/2; }] in {A/X/98,B/Y/210,C/Z/290,D/W/\angW}{ \coordinate (\P) at (\angP:\r); % vertex \coordinate (\Q) at (\angQ:\R); % point of tangency \node[anchor=180+\angP,inner sep=2] at (\P) {\P}; \node[anchor=180+\angQ,inner sep=2] at (\Q) {\Q}; } % LINES \draw[myblue,thick] (A) -- (B) -- (C) -- (D) -- cycle; \draw[myred] (X) -- (Z) (W) -- (Y); \fill[mydarkgreen] (O) circle(0.02); \fill[mydarkblue] (A) circle(0.02) (B) circle(0.02) (C) circle(0.02) (D) circle(0.02); \fill[mydarkred] (W) circle(0.02) (X) circle(0.02) (Y) circle(0.02) (Z) circle(0.02); \end{tikzpicture} % TANGENTIAL TRAPEZOID using intersections % Construct tangential trapezoid from four points of tangency on the incircle using intersections \begin{tikzpicture}[scale=2] % CIRCLE \def\R{1} % inradius = radius of incircle \coordinate (O) at (0,0); \draw[mydarkgreen] (O) circle(\R); % COORDINATES \foreach \Q/\angQ in {W/10,X/95,Y/210,Z/290}{ \coordinate (\Q) at (\angQ:\R); % vertex \node[anchor=180+\angQ,inner sep=2] at (\Q) {\Q}; } % TANGENTS & INTERSECTIONS \draw[myblue,thick,name path=W] ($(W)!1.5!90:(O)$) -- (W) -- ($(W)!1.5!-90:(O)$); \draw[myblue,thick,name path=X] ($(X)!1.5!90:(O)$) -- (X) -- ($(X)!1.9!-90:(O)$); \draw[myblue,thick,name path=Y] ($(Y)!1.9!90:(O)$) -- (Y) -- ($(Y)!1.5!-90:(O)$); \draw[myblue,thick,name path=Z] ($(Z)!1.5!90:(O)$) -- (Z) -- ($(Z)!1.5!-90:(O)$); \path[name intersections={of={W and X},by=A}] node at ($(A)+(O)!5pt!(A)$) {A}; \path[name intersections={of={X and Y},by=B}] node at ($(B)+(O)!5pt!(B)$) {B}; \path[name intersections={of={Y and Z},by=C}] node at ($(C)+(O)!5pt!(C)$) {C}; \path[name intersections={of={Z and W},by=D}] node at ($(D)+(O)!5pt!(D)$) {D}; % LINES \draw[myblue,thick] (A) -- (B) -- (C) -- (D) -- cycle; \draw[myred] (X) -- (Z) (W) -- (Y); \fill[mydarkgreen] (O) circle(0.02); \fill[mydarkblue] (A) circle(0.02) (B) circle(0.02) (C) circle(0.02) (D) circle(0.02); \fill[mydarkred] (W) circle(0.02) (X) circle(0.02) (Y) circle(0.02) (Z) circle(0.02); \end{tikzpicture} % BICENTRIC QUADRILATERAL % http://dynamicmathematicslearning.com/new-bicentric-construction.html % Construct bicentric quadrilateral for given incircle, circumcircle and one vertex \foreach \r in {0.55,0.68}{ % inradius = radius of incircle \foreach \angA in {0,20,45}{ % polar angle of point A %\foreach \angA in {0,10,15,20,25,30,35,40,45,50}{ % polar angle of point A \begin{tikzpicture}[scale=2.0] %\def\r{0.68} % inradius = radius of incircle \def\R{1.0} % circumradius = radius of circumcircle \def\angXi{45} % polar angle of incircle center %\def\angA{15} % polar angle of point A \pgfmathsetmacro\x{sqrt(\R^2+\r^2-\r*sqrt(4*\R^2+\r^2))} % Fuss's theorem % CIRCLES \coordinate (Oout) at (0,0); \coordinate (Oin) at (\angXi:\x); \draw[mydarkgreen,line width=0.6] (Oout) -- (Oin) node[mydarkgreen!70!black,midway,anchor=\angXi-90,inner sep=1] {$x$}; \fill[mydarkgreen] (Oin) circle(0.02); \fill[mydarkorange] (Oout) circle(0.02); \draw[mygreen] (Oin) circle(\r); \draw[myorange] (Oout) circle(\R); % COORDINATES \foreach \P/\Q [ remember={\angP as \lastang (initially \angA);}, evaluate={ \d=sqrt(\x^2+\R^2-\r^2-2*\x*\R*cos(\angXi-\lastang)); \D=sqrt(\d^2+\r^2); %sqrt(\x^2+\R^2-2*\x*\R*cos(\angXi-\lastang)); \tanang=90+atan2(\d,\r)+atan2(\R*sin(\lastang)-\x*sin(\angXi),\R*cos(\lastang)-\x*cos(\angXi)); \angP=2*\tanang-\lastang-180; }] in {B/W,C/X,D/Y,A/Z}{ \coordinate (\P) at (\angP:\R); % corner \coordinate (\Q) at ($(\lastang:\R)+(\tanang:\d)$); % point of tangency \node[mydarkblue!80!black,anchor=180+\angP,inner sep=2] at (\P) {\P}; \node[mydarkred!80!black,anchor=90+\tanang,inner sep=2] at (\Q) {\Q}; } \coordinate (A) at (\angA:\R); % overwrite for precision % SIDES \draw[myblue,thick] (A) -- (B) -- (C) -- (D) -- cycle; \draw[myred,name path=a] (X) -- (Z); \draw[myred,name path=b] (W) -- (Y); \fill[mydarkblue] (A) circle(0.02) (B) circle(0.02) (C) circle(0.02) (D) circle(0.02); \fill[mydarkred] (W) circle(0.02) (X) circle(0.02) (Y) circle(0.02) (Z) circle(0.02); \path[name intersections={of={a and b},by=O}]; % get intersection C %\rightAngle{Z}{C}{W}{0.15} % mark right angle \pic[angcol=myred] {right angle={(Z)-(O)-(W):0.28}}; %\pic[angcol=myred] {right angle={(X)-(O)-(Y):0.28}}; \end{tikzpicture} } } % BICENTRIC QUADRILATERAL - right kite % https://en.wikipedia.org/wiki/Right_kite \begin{tikzpicture}[scale=2.0] \def\a{1.7} % length of long sides \def\b{1.0} % length of short sides \pgfmathsetmacro\angA{2*atan2(\b,\a)} % angle A = B--A--D \pgfmathsetmacro\angC{180-\angA} % angle C = B--C--D \pgfmathsetmacro\R{sqrt(\a^2+\b^2)/2} % circumradius = radius of circumcircle \pgfmathsetmacro\r{\a*\b/(\a+\b)} % inradius = radius of incircle \pgfmathsetmacro\R{sqrt(\a^2+\b^2)/2} % Fuss's theorem \pgfmathsetmacro\x{sqrt(\R^2+\r^2-\r*sqrt(4*\R^2+\r^2))} % Fuss's theorem % COORDINATES \coordinate (Oout) at (0,0); \coordinate (Oin) at (-90:\x); \coordinate (A) at (90:\R); \coordinate (B) at (270-\angA:\R); \coordinate (C) at (-90:\R); \coordinate (D) at (\angA-90:\R); \coordinate (W) at ($(Oin)+(180-\angA/2:\r)$); \coordinate (X) at ($(Oin)+(180+\angC/2:\r)$); \coordinate (Y) at ($(Oin)+(-\angC/2:\r)$); \coordinate (Z) at ($(Oin)+(\angA/2:\r)$); % CIRCLES \draw[mygreen] (Oin) circle(\r); \draw[myorange] (Oout) circle(\R); % SIDES \draw[myblue,thick] (A) -- (B) -- (C) -- (D) -- cycle; \draw[myred,name path=a] (X) -- (Z); \draw[myred,name path=b] (W) -- (Y); % MARK ANGLES \path[name intersections={of={a and b},by=O}]; % get intersection O %\rightAngle{Z}{C}{W}{0.15} % mark right angle %\rightAngle{X}{B}{W}{0.15} % mark right angle %\rightAngle{Z}{D}{Y}{0.15} % mark right angle \pic[angcol=myred] {right angle={(Z)-(O)-(W):0.30}}; \pic[angcol=myblue] {right angle={(X)-(B)-(W):0.30}}; \pic[angcol=myblue] {right angle={(Z)-(D)-(Y):0.30}}; \draw[myblue,thin] (A) -- (C) (B) -- (D); \draw[mydarkgreen,thick,line width=0.6] (Oout) -- (Oin) node[mydarkgreen!70!black,midway,anchor=0,inner sep=1] {$x$}; % DOTS \fill[mydarkgreen] (Oin) circle(0.02); \fill[mydarkorange] (Oout) circle(0.02); \fill[mydarkblue] (A) circle(0.02) node[mydarkblue!80!black,above] {A} (B) circle(0.02) node[mydarkblue!80!black,below left=-2] {B} (C) circle(0.02) node[mydarkblue!80!black,below] {C} (D) circle(0.02) node[mydarkblue!80!black,below right=-2] {D}; \fill[mydarkred] (W) circle(0.02) node[mydarkred!80!black,above left=-3] {W} (X) circle(0.02) node[mydarkred!80!black,below left=-2] {\contour{white}{X}} (Y) circle(0.02) node[mydarkred!80!black,below right=-2] {\contour{white}{Y}} (Z) circle(0.02) node[mydarkred!80!black,above right=-2] {Z}; \end{tikzpicture} \end{document}
Click to download: quadrilaterals_bicentric.tex • quadrilaterals_bicentric.pdf
Open in Overleaf: quadrilaterals_bicentric.tex