diff options
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex')
-rw-r--r-- | macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex | 560 |
1 files changed, 525 insertions, 35 deletions
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex index 91923e2232..baaebd5d71 100644 --- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex +++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex @@ -1370,7 +1370,7 @@ z.F = intersection (L.LH,C.IH) -- feuerbach z.A = point: new (0 , 0) z.B = point: new (8 , 0) L.AB = line: new (z.A,z.B) - z.X,z.Y = L.AB: square () + _,_,z.X,z.Y = get_points(L.AB: square ()) L.BX = line: new (z.B,z.X) z.M = L.BX.mid C.MA = circle: new (z.M,z.A) @@ -1424,7 +1424,7 @@ z.C = intersection (L.AK,L.AB) z.A = point: new (0 , 0) z.C = point: new (6 , 0) L.AC = line: new (z.A,z.C) - z.x,z.y = L.AC: square () + _,_,z.x,z.y = get_points(L.AC: square ()) z.O_1 = L.AC . mid C = circle: new (z.O_1,z.x) z.B = intersection (L.AC,C) @@ -2370,7 +2370,7 @@ z.O = C.DC : inversion (z.W) z.L = T.ABC: lemoine_point () z.S = T.ABC: spieker_center () C.euler = T.ABC: euler_circle () - z.N,z.Ma = get_points (C.euler) + z.N,z.Ma = get_points (C.euler) C.exA = T.ABC : ex_circle () z.Ja,z.Xa = get_points (C.exA) C.exB = T.ABC : ex_circle (1) @@ -2388,7 +2388,7 @@ z.O = C.DC : inversion (z.W) \begin{tikzpicture} \tkzGetNodes - \tkzDrawLines[add=1 and 1](A,B A,C B,C) + \tkzDrawLines[add=1 and 1](A,B A,C B,C) \tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) % \tkzClipCircle(o,t) \tkzDrawLines[red](o,L N,o Ma,t) @@ -2411,7 +2411,7 @@ z.G = T.ABC.centroid z.L = T.ABC: lemoine_point () z.S = T.ABC: spieker_center () C.euler = T.ABC: euler_circle () -z.N,z.Ma = get_points (C.euler) +z.N,z.Ma = get_points (C.euler) C.exA = T.ABC : ex_circle () z.Ja,z.Xa = get_points (C.exA) C.exB = T.ABC : ex_circle (1) @@ -2431,7 +2431,7 @@ z.t = intersection (L.ox,L.MaS) -- through \hspace*{\fill} \begin{tikzpicture} \tkzGetNodes -\tkzDrawLines[add=1 and 1](A,B A,C B,C) +\tkzDrawLines[add=1 and 1](A,B A,C B,C) \tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) % \tkzClipCircle(o,t) \tkzDrawLines[red](o,L N,o Ma,t) @@ -2523,7 +2523,7 @@ L.OOp = line : new (z.O,z.Op) z.M = L.OOp.mid \end{tkzelements} \begin{tikzpicture} - \tkzGetNodes + \tkzGetNodes \tkzDrawCircle[red](O,P) \tkzDrawCircle[purple](O',z1) \tkzDrawCircle[cyan](M,T) @@ -2559,7 +2559,7 @@ z.M = L.OOp.mid \hspace*{\fill} \begin{tikzpicture} -\tkzGetNodes +\tkzGetNodes \tkzDrawCircle[red](O,P) \tkzDrawCircle[purple](O',z1) \tkzDrawCircle[cyan](M,T) @@ -2576,7 +2576,7 @@ z.M = L.OOp.mid \end{tikzpicture} \hspace*{\fill} % subsection orthogonal_circles_v2 (end) - +% \subsection{Orthogonal circle to two circles} % (fold) \label{sub:orthogonal_circle_to_two_circles} @@ -2599,7 +2599,7 @@ z.M = L.OOp.mid z.Kp = L.Kp.pb \end{tkzelements} \begin{tikzpicture} - \tkzGetNodes + \tkzGetNodes \tkzDrawCircles(O,B O',D) \tkzDrawLine[add=1 and 2,cyan](E,F) \tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T') @@ -2628,10 +2628,10 @@ z.K = L.K.pb z.Tp = L.Tp.pb z.Kp = L.Kp.pb \end{tkzelements} - + \hspace*{\fill} \begin{tikzpicture} -\tkzGetNodes +\tkzGetNodes \tkzDrawCircles(O,B O',D) \tkzDrawLine[add=1 and 2,cyan](E,F) \tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T') @@ -2662,12 +2662,12 @@ z.Kp = L.Kp.pb C.O2C = circle : new (z.O_2,z.B) z.Q = C.O1C : midarc (z.C,z.A) z.P = C.O2C : midarc (z.B,z.C) - L.O1O2 = line : new (z.O_1,z.O_2) - L.O0O1 = line : new (z.O_0,z.O_1) + L.O1O2 = line : new (z.O_1,z.O_2) + L.O0O1 = line : new (z.O_0,z.O_1) L.O0O2 = line : new (z.O_0,z.O_2) z.M_0 = L.O1O2 : harmonic_ext (z.C) z.M_1 = L.O0O1 : harmonic_int (z.A) - z.M_2 = L.O0O2 : harmonic_int (z.B) + z.M_2 = L.O0O2 : harmonic_int (z.B) L.BQ = line : new (z.B,z.Q) L.AP = line : new (z.A,z.P) z.S = intersection (L.BQ,L.AP) @@ -2739,12 +2739,12 @@ C.O1C = circle : new (z.O_1,z.C) C.O2C = circle : new (z.O_2,z.B) z.Q = C.O1C : midarc (z.C,z.A) z.P = C.O2C : midarc (z.B,z.C) -L.O1O2 = line : new (z.O_1,z.O_2) -L.O0O1 = line : new (z.O_0,z.O_1) +L.O1O2 = line : new (z.O_1,z.O_2) +L.O0O1 = line : new (z.O_0,z.O_1) L.O0O2 = line : new (z.O_0,z.O_2) z.M_0 = L.O1O2 : harmonic_ext (z.C) z.M_1 = L.O0O1 : harmonic_int (z.A) -z.M_2 = L.O0O2 : harmonic_int (z.B) +z.M_2 = L.O0O2 : harmonic_int (z.B) L.BQ = line : new (z.B,z.Q) L.AP = line : new (z.A,z.P) z.S = intersection (L.BQ,L.AP) @@ -2966,7 +2966,7 @@ C.OA = circle : new (z.O,z.A) z.Ap = C.OA : antipode (z.A) z.B = intersection (L.AM, C.OA) \end{tkzelements} - + \hspace*{\fill} \begin{tikzpicture} \tkzGetNodes @@ -3253,7 +3253,7 @@ z.n,z.np = get_points (C.BC: tangent_at (z.N)) \subsection{Tangent and circle} % (fold) \label{sub:tangent_and_circle} \begin{minipage}{.5\textwidth} -\begin{verbatim} +\begin{verbatim} \begin{tkzelements} z.A = point: new (1,0) z.B = point: new (2,2) @@ -3888,21 +3888,21 @@ z.Cp = C.AC: inversion ( z.B, z.E, z.C ) \begin{minipage}[t]{.5\textwidth}\vspace{0pt}% \begin{verbatim} \begin{tkzelements} - z.a = point: new(1,0) - z.b = point: new(6,2) - z.c = point: new(2,5) - T = triangle : new (z.a,z.b,z.c) - z.g = T : gergonne_point () - z.i = T.incenter - z.ta,z.tb,z.tc = get_points (T : intouch ()) -end{tkzelements} +z.a = point: new(1,0) +z.b = point: new(6,2) +z.c = point: new(2,5) +T = triangle : new (z.a,z.b,z.c) +z.g = T : gergonne_point () +z.i = T.incenter +z.ta,z.tb,z.tc = get_points (T : intouch ()) +\end{tkzelements} \begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygons(a,b,c) - \tkzDrawPoints(a,b,c,g) - \tkzLabelPoints(a,b,c) - \tkzDrawSegments (a,ta b,tb c,tc) - \tkzDrawCircle(i,ta) +\tkzGetNodes +\tkzDrawPolygons(a,b,c) +\tkzDrawPoints(a,b,c,g) +\tkzLabelPoints(a,b,c) +\tkzDrawSegments (a,ta b,tb c,tc) +\tkzDrawCircle(i,ta) \end{tikzpicture} \end{verbatim} \end{minipage} @@ -3986,4 +3986,494 @@ z.z_0,z.z_1 = get_points (L.anti) \tkzDrawCircle(L,x_0) \end{tikzpicture} \end{minipage} -% subsection antiparallel_through_lemoine_point (end)
\ No newline at end of file +% subsection antiparallel_through_lemoine_point (end) + +\subsection{Soddy circle without function} % (fold) +\label{sub:soddy} + +\begin{verbatim} +\begin{tkzelements} +z.A = point : new ( 0 , 0 ) +z.B = point : new ( 5 , 0 ) +z.C = point : new ( 0.5 , 4 ) +T.ABC = triangle : new ( z.A,z.B,z.C ) +z.I = T.ABC.incenter +z.E,z.F,z.G = T.ABC : projection (z.I) +C.ins = circle : new (z.I,z.E) +T.orthic = T.ABC : orthic () +z.Ha,z.Hb,z.Hc = get_points (T.orthic) +C.CF = circle : new ( z.C , z.F ) +C.AG = circle : new ( z.A , z.G ) +C.BE = circle : new ( z.B , z.E ) +L.Ah = line : new ( z.A , z.Ha ) +L.Bh = line : new ( z.B , z.Hb ) +L.Ch = line : new ( z.C , z.Hc ) +z.X,z.Xp = intersection (L.Ah,C.AG) +z.Y,z.Yp = intersection (L.Bh,C.BE) +z.Z,z.Zp = intersection (L.Ch,C.CF) +L.XpE = line : new (z.Xp,z.E) +L.YpF = line : new (z.Yp,z.F) +L.ZpG = line : new (z.Zp,z.G) +z.S = intersection (L.XpE,L.YpF) +z.Xi = intersection(L.XpE,C.AG) +z.Yi = intersection(L.YpF,C.BE) +_,z.Zi = intersection(L.ZpG,C.CF) +z.S = triangle : new (z.Xi,z.Yi,z.Zi).circumcenter +C.soddy_int = circle : new (z.S,z.Xi) +C.soddy_ext = C.ins : inversion (C.soddy_int) +z.w = C.soddy_ext.center +z.s = C.soddy_ext.through +z.Xip,z.Yip,z.Zip = C.ins : inversion (z.Xi,z.Yi,z.Zi) +\end{tkzelements} + +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawPolygon(A,B,C) +\tkzDrawPoints(A,B,C,E,F,G,Ha,Hb,Hc,X,Y,Z,X',Y',Z',Xi,Yi,Zi,I) +\tkzDrawPoints(Xi',Yi',Zi',S) +\tkzLabelPoints(A,B,C,E,F,G,X,Y,Z,X',Y',Z') +\tkzDrawCircles(A,G B,E C,F I,E S,Xi w,s) +\tkzDrawLines(X',Ha Y',Hb Z',Hc) +\tkzDrawLines(X',E Y',F Z',G) +\end{tikzpicture} +\end{verbatim} + +\begin{tkzelements} +z.A = point : new ( 0 , 0 ) +z.B = point : new ( 5 , 0 ) +z.C = point : new ( 0.5 , 4 ) +T.ABC = triangle : new ( z.A,z.B,z.C ) +z.I = T.ABC.incenter +z.E,z.F,z.G = T.ABC : projection (z.I) +C.ins = circle : new (z.I,z.E) +T.orthic = T.ABC : orthic () +z.Ha,z.Hb,z.Hc = get_points (T.orthic) +C.CF = circle : new ( z.C , z.F ) +C.AG = circle : new ( z.A , z.G ) +C.BE = circle : new ( z.B , z.E ) +L.Ah = line : new ( z.A , z.Ha ) +L.Bh = line : new ( z.B , z.Hb ) +L.Ch = line : new ( z.C , z.Hc ) +z.X,z.Xp = intersection (L.Ah,C.AG) +z.Y,z.Yp = intersection (L.Bh,C.BE) +z.Z,z.Zp = intersection (L.Ch,C.CF) +L.XpE = line : new (z.Xp,z.E) +L.YpF = line : new (z.Yp,z.F) +L.ZpG = line : new (z.Zp,z.G) +z.S = intersection (L.XpE,L.YpF) +z.Xi = intersection(L.XpE,C.AG) +z.Yi = intersection(L.YpF,C.BE) +_,z.Zi = intersection(L.ZpG,C.CF) +z.S = triangle : new (z.Xi,z.Yi,z.Zi).circumcenter +C.soddy_int = circle : new (z.S,z.Xi) +C.soddy_ext = C.ins : inversion (C.soddy_int) +z.w = C.soddy_ext.center +z.s = C.soddy_ext.through +z.Xip,z.Yip,z.Zip = C.ins : inversion (z.Xi,z.Yi,z.Zi) +\end{tkzelements} + +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawPolygon(A,B,C) +\tkzDrawPoints(A,B,C,E,F,G,Ha,Hb,Hc,X,Y,Z,X',Y',Z',Xi,Yi,Zi,I) +\tkzDrawPoints(Xi',Yi',Zi',S) +\tkzLabelPoints(A,B,C,E,F,G,X,Y,Z,X',Y',Z') +\tkzDrawCircles(A,G B,E C,F I,E S,Xi w,s) +\tkzDrawLines(X',Ha Y',Hb Z',Hc) +\tkzDrawLines(X',E Y',F Z',G) +\end{tikzpicture} +% subsection soddy (end) + +\subsection{Soddy circle with function} % (fold) +\label{sub:soddy_circle_with_function} + +\begin{verbatim} +\begin{tkzelements} +z.A = point : new ( 0 , 0 ) +z.B = point : new ( 5 , 0 ) +z.C = point : new (4 , 4 ) +T.ABC = triangle : new ( z.A,z.B,z.C ) +z.I = T.ABC.incenter +z.E,z.F,z.G = T.ABC : projection (z.I) +T.orthic = T.ABC : orthic () +z.Ha,z.Hb,z.Hc = get_points (T.orthic) +C.ins = circle : new (z.I,z.E) +z.s,z.xi,z.yi,z.zi = T.ABC : soddy_center () +C.soddy_int = circle : new (z.s,z.xi) +C.soddy_ext = C.ins : inversion (C.soddy_int) +z.w = C.soddy_ext.center +z.t = C.soddy_ext.through +z.Xip,z.Yip,z.Zip = C.ins : inversion (z.xi,z.yi,z.zi) + \end{tkzelements} + +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawPolygon(A,B,C) +\tkzDrawCircles(A,G B,E C,F I,E s,xi w,t) +\tkzDrawPoints(A,B,C,E,F,G,s,w,xi,t) +\tkzLabelPoints(A,B,C) +\tkzDrawPoints(A,B,C,E,F,G,Ha,Hb,Hc,xi,yi,zi,I) +\tkzDrawPoints(Xi',Yi',Zi') +\tkzLabelPoints(A,B,C,E,F,G) +\tkzDrawCircles(A,G B,E C,F I,E w,s) +\end{tikzpicture} +\end{verbatim} + +\begin{tkzelements} +z.A = point : new ( 0 , 0 ) +z.B = point : new ( 5 , 0 ) +z.C = point : new (4 , 4 ) +T.ABC = triangle : new ( z.A,z.B,z.C ) +z.I = T.ABC.incenter +z.E,z.F,z.G = T.ABC : projection (z.I) +T.orthic = T.ABC : orthic () +z.Ha,z.Hb,z.Hc = get_points (T.orthic) +C.ins = circle : new (z.I,z.E) +z.s,z.xi,z.yi,z.zi = T.ABC : soddy_center () +C.soddy_int = circle : new (z.s,z.xi) +C.soddy_ext = C.ins : inversion (C.soddy_int) +z.w = C.soddy_ext.center +z.t = C.soddy_ext.through +z.Xip,z.Yip,z.Zip = C.ins : inversion (z.xi,z.yi,z.zi) + \end{tkzelements} + +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawPolygon(A,B,C) +\tkzDrawCircles(A,G B,E C,F I,E s,xi w,t) +\tkzDrawPoints(A,B,C,E,F,G,s,w,xi,t) +\tkzLabelPoints(A,B,C) +\tkzDrawPoints(A,B,C,E,F,G,Ha,Hb,Hc,xi,yi,zi,I) +\tkzDrawPoints(Xi',Yi',Zi') +\tkzLabelPoints(A,B,C,E,F,G) +\tkzDrawCircles(A,G B,E C,F I,E w,s) +\end{tikzpicture} + +% subsection soddy_circle_with_function (end) + +\subsubsection{Pappus chain} % (fold) +\label{ssub:pappus_chain} + Soit le point $D$ appartenant à la droite $(AC)$ tel que + \[ DB \cdot DA = AC^2\] + alors $B$ est l'image de $D$ dans l'inversion de centre $A$ et puissance $AC^2$. + Les demi-cercles de diamètre $[AB]$ et$[AC]$ passent par le pôle $A$. Ils ont pour images les demi-droites $\mathcal{L'}$ et $\mathcal{L}$. + +Les cercles de centre $J_i$ et de diamètre $S_iT_i$ ont pour images les cercles de diamètre $S'_iT'_i$. + + \pgfmathsetmacro{\xB}{6}% + \pgfmathsetmacro{\xC}{9}% + \pgfmathsetmacro{\xD}{(\xC*\xC)/\xB}% + \pgfmathsetmacro{\xJ}{(\xC+\xD)/2}% + \pgfmathsetmacro{\r}{\xD-\xJ}% + \pgfmathsetmacro{\nc}{2}% + +\begin{tikzpicture}[scale=1,ultra thin] + \tkzDefPoints{0/0/A,\xB/0/B,\xC/0/C,\xD/0/D} + \tkzDefPointBy[rotation = center C angle -90](B) \tkzGetPoint{c} + \tkzDefPointBy[rotation = center A angle 90](C) \tkzGetPoint{a} + \tkzDefPointBy[rotation = center D angle -90](C) \tkzGetPoint{d} + \tkzDrawLines[add=0 and 2.25](C,c) + \tkzDrawLines[add=0 and 1.5](D,d) + \tkzDefCircle[diameter](A,C) \tkzDrawSemiCircle(tkzPointResult,C) + \tkzDefCircle[diameter](A,B) \tkzDrawSemiCircle(tkzPointResult,B) + \tkzDefCircle[diameter](B,C) \tkzDrawSemiCircle(tkzPointResult,C) + \tkzDefCircle[diameter](C,D) \tkzDrawSemiCircle(tkzPointResult,D) + \tkzDrawArc[red](A,C)(a) + \tkzDrawPoints(A,B,C,D) + \tkzLabelPoints(A,B,C,D) + \tkzLabelLine[left,pos=3](C,c){$\mathcal{L}$} + \tkzLabelLine[right,pos=2.5](D,d){$\mathcal{L'}$} + \foreach \i in {1,...,\nc} +{\tkzDefPoint(\xJ,2*\r*\i){J} + \tkzDefPoint(\xJ,2*\r*\i-\r){H} + \tkzDefCircleBy[inversion = center A through C](J,H)\tkzGetPoints{J'}{H'} + \tkzInterLC(A,J)(J,H) \tkzGetPoints{S}{T} + \tkzDefPointsBy[inversion = center A through C](S,T){S',T'} + \tkzDrawCircle(J,H) + \tkzDefCircle[diameter](S',T') \tkzGetPoint{I'} + \tkzDrawCircle(I',T') + \tkzDrawLines[dashed,add = 0 and .15](A,T A,S A,H) + \tkzDrawPoints(J,H,H',S,S',T,T') + \tkzLabelPoint(J){$J_\i$} + \tkzLabelPoint(S){$S_\i$} + \tkzLabelPoint(T){$T_\i$} + \tkzLabelPoint(H){$H_\i$} + \tkzLabelPoint(S'){$S'_\i$} + \tkzLabelPoint(T'){$T'_\i$} + \tkzLabelPoint(H'){$H'_\i$}} +\end{tikzpicture} + +\begin{verbatim} +\begin{tkzelements} + xC,nc = 10,16 + xB = xC/tkzphi + xD = (xC*xC)/xB + xJ = (xC+xD)/2 + r = xD-xJ + z.A = point : new ( 0 , 0 ) + z.B = point : new ( xB , 0) + z.C = point : new ( xC , 0) + L.AC = line : new (z.A,z.C) + z.i = L.AC.mid + L.AB = line:new (z.A,z.B) + z.j = L.AB.mid + z.D = point : new ( xD , 0) + C.AC = circle: new (z.A,z.C) + for i = -nc,nc do + z["J"..i] = point: new (xJ,2*r*i) + z["H"..i] = point: new (xJ,2*r*i-r) + z["J"..i.."p"], z["H"..i.."p"] = C.AC : inversion (z["J"..i],z["H"..i]) + L.AJ = line : new (z.A,z["J"..i]) + C.JH = circle: new ( z["J"..i] , z["H"..i]) + z["S"..i], z["T"..i] = intersection (L.AJ,C.JH) + z["S"..i.."p"], z["T"..i.."p"] = C.AC : inversion (z["S"..i],z["T"..i]) + L.SpTp = line:new ( z["S"..i.."p"], z["T"..i.."p"]) + z["I"..i] = L.SpTp.mid + end +\end{tkzelements} + +\def\nc{\tkzUseLua{nc}} + +\begin{tikzpicture}[ultra thin] + \tkzGetNodes + \tkzDrawCircle[fill=teal!20](i,C) + \tkzDrawCircle[fill=PineGreen!60](j,B) + \foreach \i in {-\nc,...,0,...,\nc} { + \tkzDrawCircle[fill=teal]({I\i},{S\i'}) + } +\end{tikzpicture} + +\end{verbatim} + +\begin{tkzelements} + xC,nc = 10,16 + xB = xC/tkzphi + xD = (xC*xC)/xB + xJ = (xC+xD)/2 + r = xD-xJ + z.A = point : new ( 0 , 0 ) + z.B = point : new ( xB , 0) + z.C = point : new ( xC , 0) + L.AC = line : new (z.A,z.C) + z.i = L.AC.mid + L.AB = line:new (z.A,z.B) + z.j = L.AB.mid + z.D = point : new ( xD , 0) + C.AC = circle: new (z.A,z.C) + for i = -nc,nc do + z["J"..i] = point: new (xJ,2*r*i) + z["H"..i] = point: new (xJ,2*r*i-r) + z["J"..i.."p"], z["H"..i.."p"] = C.AC : inversion (z["J"..i],z["H"..i]) + L.AJ = line : new (z.A,z["J"..i]) + C.JH = circle: new ( z["J"..i] , z["H"..i]) + z["S"..i], z["T"..i] = intersection (L.AJ,C.JH) + z["S"..i.."p"], z["T"..i.."p"] = C.AC : inversion (z["S"..i],z["T"..i]) + L.SpTp = line:new ( z["S"..i.."p"], z["T"..i.."p"]) + z["I"..i] = L.SpTp.mid + end +\end{tkzelements} + +\def\nc{\tkzUseLua{nc}} + +\begin{tikzpicture}[ultra thin] + \tkzGetNodes + \tkzDrawCircle[fill=teal!20](i,C) + \tkzDrawCircle[fill=PineGreen!60](j,B) + \foreach \i in {-\nc,...,0,...,\nc} { + \tkzDrawCircle[fill=teal]({I\i},{S\i'}) + } +\end{tikzpicture} + + +% subsubsection pappus_chain (end) + +\subsection{Three Circles} % (fold) +\label{sub:three_circles} + +\begin{verbatim} +\begin{tkzelements} +function threecircles(c1,r1,c2,r2,c3,h1,h3,h2) + local xk = math.sqrt (r1*r2) + local cx = (2*r1*math.sqrt(r2))/(math.sqrt(r1)+math.sqrt(r2)) + local cy = (r1*r2)/(math.sqrt(r1)+math.sqrt(r2))^2 + z[c2] = point : new ( 2*xk , r2 ) + z[h2] = point : new (2*xk,0) + z[c1] = point : new (0,r1) + z[h1] = point : new (0,0) + L.h1h2 = line: new(z[h1],z[h2]) + z[c3] = point : new (cx,cy) + z[h3] = L.h1h2: projection (z[c3]) +end + threecircles("A",4,"B",3,"C","E","G","F") +\end{tkzelements} + +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawSegment[color = red](E,F) +\tkzDrawCircle[orange,fill=orange!20](A,E) +\tkzDrawCircle[purple,fill=purple!20](B,F) +\tkzDrawCircle[teal,fill=teal!20](C,G) +\end{tikzpicture} +\end{verbatim} + +\begin{tkzelements} +function threecircles(c1,r1,c2,r2,c3,h1,h3,h2) + local xk = math.sqrt (r1*r2) + local cx = (2*r1*math.sqrt(r2))/(math.sqrt(r1)+math.sqrt(r2)) + local cy = (r1*r2)/(math.sqrt(r1)+math.sqrt(r2))^2 + z[c2] = point : new ( 2*xk , r2 ) + z[h2] = point : new (2*xk,0) + z[c1] = point : new (0,r1) + z[h1] = point : new (0,0) + L.h1h2 = line: new(z[h1],z[h2]) + z[c3] = point : new (cx,cy) + z[h3] = L.h1h2: projection (z[c3]) +end + threecircles("A",4,"B",3,"C","E","G","F") +\end{tkzelements} + +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawSegment[color = red](E,F) +\tkzDrawCircle[orange,fill=orange!20](A,E) +\tkzDrawCircle[purple,fill=purple!20](B,F) +\tkzDrawCircle[teal,fill=teal!20](C,G) +\end{tikzpicture} + +% subsection three_circles (end) + +\subsection{pentagons in a golden arbelos} % (fold) +\label{sub:golden_arbelos} + +\begin{verbatim} +\begin{tkzelements} +z.A = point: new (0 , 0) +z.B = point: new (10 , 0) +L.AB = line: new ( z.A, z.B) +z.C = L.AB : gold_ratio () +L.AC = line: new ( z.A, z.C) +L.CB = line: new ( z.C, z.B) +z.O_0 = L.AB.mid +z.O_1 = L.AC.mid +z.O_2 = L.CB.mid +C.O0B = circle: new ( z.O_0, z.B) +C.O1C = circle: new ( z.O_1, z.C) +C.O2B = circle: new ( z.O_2, z.B) +z.M_0 = C.O1C : external_similitude (C.O2B) +L.O0C = line:new(z.O_0,z.C) +T.golden = L.O0C : golden () +z.L = T.golden.pc +L.O0L = line:new(z.O_0,z.L) +z.D = intersection (L.O0L,C.O0B) +L.DB = line:new(z.D,z.B) +z.Z = intersection (L.DB,C.O2B) +L.DA = line:new(z.D,z.A) +z.I = intersection (L.DA,C.O1C) +L.O2Z = line:new(z.O_2,z.Z) +z.H = intersection (L.O2Z,C.O0B) +C.BD = circle:new (z.B,z.D) +C.DB = circle:new (z.D,z.B) +_,z.G = intersection (C.BD,C.O0B) +z.E = intersection (C.DB,C.O0B) +C.GB = circle:new (z.G,z.B) +_,z.F = intersection (C.GB,C.O0B) +k = 1/tkzphi^2 +kk = tkzphi +z.D_1,z.E_1,z.F_1,z.G_1 = z.B : homothety (k, z.D,z.E,z.F,z.G) +z.D_2,z.E_2,z.F_2,z.G_2 = z.M_0 : homothety (kk,z.D_1,z.E_1,z.F_1,z.G_1) +\end{tkzelements} +\end{verbatim} + +\begin{verbatim} +\begin{tikzpicture}[scale=.8] +\tkzGetNodes +\tkzDrawPolygon[red](O_2,O_0,I,D,H) +\tkzDrawPolygon[blue](B,D_1,E_1,F_1,G_1) +\tkzDrawPolygon[green](C,D_2,E_2,F_2,G_2) +\tkzDrawPolygon[purple](B,D,E,F,G) +\tkzDrawCircles(O_0,B O_1,C O_2,B) +\tkzFillPolygon[fill=red!20,opacity=.20](O_2,O_0,I,D,H) +\tkzFillPolygon[fill=blue!20,opacity=.20](B,D_1,E_1,F_1,G_1) +\tkzFillPolygon[fill=green!60,opacity=.20](C,D_2,E_2,F_2,G_2) +\tkzFillPolygon[fill=purple!20,opacity=.20](B,D,E,F,G) +\tkzDrawCircles(O_0,B O_1,C O_2,B) +\tkzDrawSegments[new](A,B) +\tkzDrawPoints(A,B,C,O_0,O_1,O_2,Z,I,H,B,D,E,F) +\tkzDrawPoints(D_1,E_1,F_1,G_1) +\tkzDrawPoints(D_2,E_2,F_2,G_2) +\tkzDrawPoints[red](F_1) +\tkzLabelPoints(A,B,C,O_0,O_2) +\tkzLabelPoints[below](O_1,G) +\tkzLabelPoints[above right](D,H) +\tkzLabelPoints[above left](E,E_1,E_2) +\tkzLabelPoints[below left](F,F_1,F_2) +\tkzLabelPoints(D_1,G_1) +\tkzLabelPoints(D_2,G_2) +\end{tikzpicture} +\vspace{\fill} +\end{verbatim} + +\begin{tkzelements} +z.A = point: new (0 , 0) +z.B = point: new (10 , 0) +L.AB = line: new ( z.A, z.B) +z.C = L.AB : gold_ratio () +L.AC = line: new ( z.A, z.C) +L.CB = line: new ( z.C, z.B) +z.O_0 = L.AB.mid +z.O_1 = L.AC.mid +z.O_2 = L.CB.mid +C.O0B = circle: new ( z.O_0, z.B) +C.O1C = circle: new ( z.O_1, z.C) +C.O2B = circle: new ( z.O_2, z.B) +z.M_0 = C.O1C : external_similitude (C.O2B) +L.O0C = line:new(z.O_0,z.C) +T.golden = L.O0C : golden () +z.L = T.golden.pc +L.O0L = line:new(z.O_0,z.L) +z.D = intersection (L.O0L,C.O0B) +L.DB = line:new(z.D,z.B) +z.Z = intersection (L.DB,C.O2B) +L.DA = line:new(z.D,z.A) +z.I = intersection (L.DA,C.O1C) +L.O2Z = line:new(z.O_2,z.Z) +z.H = intersection (L.O2Z,C.O0B) +C.BD = circle:new (z.B,z.D) +C.DB = circle:new (z.D,z.B) +_,z.G = intersection (C.BD,C.O0B) +z.E = intersection (C.DB,C.O0B) +C.GB = circle:new (z.G,z.B) +_,z.F = intersection (C.GB,C.O0B) +k = 1/tkzphi^2 +kk = tkzphi +z.D_1,z.E_1,z.F_1,z.G_1 = z.B : homothety (k, z.D,z.E,z.F,z.G) +z.D_2,z.E_2,z.F_2,z.G_2 = z.M_0 : homothety (kk,z.D_1,z.E_1,z.F_1,z.G_1) +\end{tkzelements} +\vspace{\fill} +\begin{tikzpicture}[scale=.8] +\tkzGetNodes +\tkzDrawPolygon[red](O_2,O_0,I,D,H) +\tkzDrawPolygon[blue](B,D_1,E_1,F_1,G_1) +\tkzDrawPolygon[green](C,D_2,E_2,F_2,G_2) +\tkzDrawPolygon[purple](B,D,E,F,G) +\tkzDrawCircles(O_0,B O_1,C O_2,B) +\tkzFillPolygon[fill=red!20,opacity=.20](O_2,O_0,I,D,H) +\tkzFillPolygon[fill=blue!20,opacity=.20](B,D_1,E_1,F_1,G_1) +\tkzFillPolygon[fill=green!60,opacity=.20](C,D_2,E_2,F_2,G_2) +\tkzFillPolygon[fill=purple!20,opacity=.20](B,D,E,F,G) +\tkzDrawCircles(O_0,B O_1,C O_2,B) +\tkzDrawSegments[new](A,B) +\tkzDrawPoints(A,B,C,O_0,O_1,O_2,Z,I,H,B,D,E,F) +\tkzDrawPoints(D_1,E_1,F_1,G_1) +\tkzDrawPoints(D_2,E_2,F_2,G_2) +\tkzDrawPoints[red](F_1) +\tkzLabelPoints(A,B,C,O_0,O_2) +\tkzLabelPoints[below](O_1,G) +\tkzLabelPoints[above right](D,H) +\tkzLabelPoints[above left](E,E_1,E_2) +\tkzLabelPoints[below left](F,F_1,F_2) +\tkzLabelPoints(D_1,G_1) +\tkzLabelPoints(D_2,G_2) +\end{tikzpicture} +\vspace{\fill} +% subsection golden_arbelos (end)
\ No newline at end of file |