tkz-euclide
Examples
50 Different authors¶
50.1 Code from Andrew Swan¶
\begin{tikzpicture}[scale=1.25]
\def\radius{4}
\def\angle{40}
\pgfmathsetmacro{\htan}{tan(\angle)}
\tkzDefPoint(0,0){A} \tkzDefPoint(0,\radius){F}
\tkzDefPoint(\radius,0){B}
\tkzDefPointBy[rotation= center A angle \angle](B)
\tkzGetPoint{C}
\tkzDefLine[perpendicular=through B,K=1](A,B)
\tkzGetPoint{b}
\tkzInterLL(A,C)(B,b) \tkzGetPoint{D}
\tkzDefLine[perpendicular=through C,K=-1](A,B)
\tkzGetPoint{c}
\tkzInterLL(C,c)(A,B) \tkzGetPoint{E}
\tkzDrawSector[fill=blue,opacity=0.1](A,B)(C)
\tkzDrawArc[thin](A,B)(F)
\tkzMarkAngle(B,A,C)
\tkzLabelAngle[pos=0.8](B,A,C){$x$}
\tkzDrawPolygon(A,B,D)
\tkzDrawSegments(C,B)
\tkzDrawSegments[dashed,thin](C,E)
\tkzLabelPoints[below left](A)
\tkzLabelPoints[below right](B)
\tkzLabelPoints[above](C)
\tkzLabelPoints[above right](D)
\begin{scope}[/pgf/decoration/raise=5pt]
\draw [decorate,decoration={brace,mirror,
amplitude=10pt},xshift=0pt,yshift=-4pt]
(A) -- (B) node [black,midway,yshift=-20pt]
{\footnotesize $1$};
\draw [decorate,decoration={brace,amplitude=10pt},
xshift=4pt,yshift=0pt]
(D) -- (B) node [black,midway,xshift=27pt]
{\footnotesize $\tan x$};
\draw [decorate,decoration={brace,amplitude=10pt},
xshift=4pt,yshift=0pt]
(E) -- (C) node [black,midway,xshift=-27pt]
{\footnotesize $\sin x$};
\end{scope}
\end{tikzpicture}
50.2 Example by Dimitris Kapetas¶
In this example you need mkpos=.2 with \tkzMarkAngle, because the angle \(\widehat{CAM}\) is too small. Another possibility is to use \tkzFillAngle.
\begin{tikzpicture}[scale=1]
\tkzDefPoint(0,0){O}
\tkzDefPoint(2.5,0){N}
\tkzDefPoint(-4.2,0.5){M}
\tkzDefPointBy[rotation=center O angle 30](N)
\tkzGetPoint{B}
\tkzDefPointBy[rotation=center O angle -50](N)
\tkzGetPoint{A}
\tkzInterLC[common=B](M,B)(O,B) \tkzGetFirstPoint{C}
\tkzInterLC[common=A](M,A)(O,A) \tkzGetFirstPoint{A'}
\tkzMarkAngle[mkpos=.2, size=0.5](A,C,B)
\tkzMarkAngle[mkpos=.2, size=0.5](A,M,C)
\tkzDrawSegments(A,C M,A M,B A,B)
\tkzDrawCircle(O,N)
\tkzLabelCircle[above left](O,N)(120){%
$\mathcal{C}$}
\begin{scope}[veclen]
\tkzMarkAngle[mkpos=.2, size=1.2](C,A,M)
\end{scope}
\tkzDrawPoints(O, A, B, M, B, C)
\tkzLabelPoints[right](O,A,B)
\tkzLabelPoints[above left](M,C)
\tkzLabelPoint[below left](A'){$A'$}
\end{tikzpicture}
50.3 Example by John Kitzmiller¶
Prove that \(\dfrac{AC}{CE}=\dfrac{BD}{DF}\).
Another interesting example from John, which shows how to use TikZ options such as
decoration and postaction with tkz-euclide.
\begin{tikzpicture}[scale=1.5,decoration={markings,
mark=at position 3cm with {\arrow[scale=2]{>}}}]
\tkzDefPoints{0/0/E, 6/0/F, 0/1.8/P, 6/1.8/Q, 0/3/R, 6/3/S}
\tkzDrawLines[postaction={decorate}](E,F P,Q R,S)
\tkzDefPoints{3.5/3/A, 5/3/B}
\tkzDrawSegments(E,A F,B)
\tkzInterLL(E,A)(P,Q) \tkzGetPoint{C}
\tkzInterLL(B,F)(P,Q) \tkzGetPoint{D}
\tkzLabelPoints[above right](A,B)
\tkzLabelPoints[below](E,F)
\tkzLabelPoints[above left](C)
\tkzDrawSegments[style=dashed](A,F)
\tkzInterLL(A,F)(P,Q) \tkzGetPoint{G}
\tkzLabelPoints[above right](D,G)
\tkzDrawSegments[color=teal, line width=3pt, opacity=0.4](A,C A,G)
\tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](C,E G,F)
\tkzDrawSegments[color=teal, line width=3pt, opacity=0.4](B,D)
\tkzDrawSegments[color=magenta, line width=3pt, opacity=0.4](D,F)
\end{tikzpicture}
50.4 Example 1: from Indonesia¶
\begin{tikzpicture}[scale=3]
\tkzDefPoints{0/0/A,2/0/B}
\tkzDefSquare(A,B) \tkzGetPoints{C}{D}
\tkzDefPointBy[rotation=center D angle 45](C)\tkzGetPoint{G}
\tkzDefSquare(G,D)\tkzGetPoints{E}{F}
\tkzInterLL(B,C)(E,F)\tkzGetPoint{H}
\tkzFillPolygon[gray!10](D,E,H,C,D)
\tkzDrawPolygon(A,...,D)\tkzDrawPolygon(D,...,G)
\tkzDrawSegment(B,E)
\tkzMarkSegments[mark=|,size=3pt,color=gray](A,B B,C C,D D,A E,F F,G G,D D,E)
\tkzMarkSegments[mark=||,size=3pt,color=gray](B,E E,H)
\tkzLabelPoints[left](A,D)
\tkzLabelPoints[right](B,C,F,H)
\tkzLabelPoints[above](G)\tkzLabelPoints[below](E)
\tkzMarkRightAngles(D,A,B D,G,F)
\end{tikzpicture}
50.5 Example 2: from Indonesia¶
\begin{tikzpicture}[pol/.style={fill=brown!40,opacity=.2},
seg/.style={tkzdotted,color=gray}, hidden pt/.style={fill=gray!40},
mra/.style={color=gray!70,tkzdotted,/tkzrightangle/size=.2},scale=2]
\tkzDefPoints{0/0/A,2.5/0/B,1.33/0.75/D,0/2.5/E,2.5/2.5/F}
\tkzDefLine[parallel=through D](A,B) \tkzGetPoint{I1}
\tkzDefLine[parallel=through B](A,D) \tkzGetPoint{I2}
\tkzInterLL(D,I1)(B,I2) \tkzGetPoint{C}
\tkzDefLine[parallel=through E](A,D) \tkzGetPoint{I3}
\tkzDefLine[parallel=through D](A,E) \tkzGetPoint{I4}
\tkzInterLL(E,I3)(D,I4) \tkzGetPoint{H}
\tkzDefLine[parallel=through F](E,H) \tkzGetPoint{I5}
\tkzDefLine[parallel=through H](E,F) \tkzGetPoint{I6}
\tkzInterLL(F,I5)(H,I6) \tkzGetPoint{G}
\tkzDefMidPoint(G,H) \tkzGetPoint{P} \tkzDefMidPoint(G,C) \tkzGetPoint{Q}
\tkzDefMidPoint(B,C) \tkzGetPoint{R} \tkzDefMidPoint(A,B) \tkzGetPoint{S}
\tkzDefMidPoint(A,E) \tkzGetPoint{T} \tkzDefMidPoint(E,H) \tkzGetPoint{U}
\tkzDefMidPoint(A,D) \tkzGetPoint{M} \tkzDefMidPoint(D,C) \tkzGetPoint{N}
\tkzInterLL(B,D)(S,R)\tkzGetPoint{L} \tkzInterLL(H,F)(U,P) \tkzGetPoint{K}
\tkzDefLine[parallel=through K](D,H) \tkzGetPoint{I7}
\tkzInterLL(K,I7)(B,D) \tkzGetPoint{O}
\tkzFillPolygon[pol](P,Q,R,S,T,U)
\tkzDrawSegments[seg](K,O K,L P,Q R,S T,U C,D H,D A,D M,N B,D)
\tkzDrawSegments(E,H B,C G,F G,H G,C Q,R S,T U,P H,F)
\tkzDrawPolygon(A,B,F,E)
\tkzDrawPoints(A,B,C,E,F,G,H,P,Q,R,S,T,U,K) \tkzDrawPoints[hidden pt](M,N,O,D)
\tkzMarkRightAngle[mra](L,O,K)
\tkzMarkSegments[mark=|,size=1pt,thick,color=gray](A,S B,S B,R C,R
Q,C Q,G G,P H,P E,U H,U E,T A,T)
\tkzLabelAngle[pos=.3](K,L,O){$\alpha$}
\tkzLabelPoints[below](O,A,S,B) \tkzLabelPoints[above](H,P,G)
\tkzLabelPoints[left](T,E) \tkzLabelPoints[right](C,Q)
\tkzLabelPoints[above left](U,D,M) \tkzLabelPoints[above right](L,N)
\tkzLabelPoints[below right](F,R) \tkzLabelPoints[below left](K)
\end{tikzpicture}
50.6 Illustration of the Morley theorem by Nicolas François¶
\begin{tikzpicture}
\tkzInit[ymin=-3,ymax=5,xmin=-5,xmax=7]
\tkzClip
\tkzDefPoints{-2.5/-2/A,2/4/B,5/-1/C}
\tkzFindAngle(C,A,B) \tkzGetAngle{anglea}
\tkzDefPointBy[rotation=center A angle 1*\anglea/3](C) \tkzGetPoint{TA1}
\tkzDefPointBy[rotation=center A angle 2*\anglea/3](C) \tkzGetPoint{TA2}
\tkzFindAngle(A,B,C) \tkzGetAngle{angleb}
\tkzDefPointBy[rotation=center B angle 1*\angleb/3](A) \tkzGetPoint{TB1}
\tkzDefPointBy[rotation=center B angle 2*\angleb/3](A) \tkzGetPoint{TB2}
\tkzFindAngle(B,C,A) \tkzGetAngle{anglec}
\tkzDefPointBy[rotation=center C angle 1*\anglec/3](B) \tkzGetPoint{TC1}
\tkzDefPointBy[rotation=center C angle 2*\anglec/3](B) \tkzGetPoint{TC2}
\tkzInterLL(A,TA1)(B,TB2) \tkzGetPoint{U1}
\tkzInterLL(A,TA2)(B,TB1) \tkzGetPoint{V1}
\tkzInterLL(B,TB1)(C,TC2) \tkzGetPoint{U2}
\tkzInterLL(B,TB2)(C,TC1) \tkzGetPoint{V2}
\tkzInterLL(C,TC1)(A,TA2) \tkzGetPoint{U3}
\tkzInterLL(C,TC2)(A,TA1) \tkzGetPoint{V3}
\tkzDrawPolygons(A,B,C U1,U2,U3 V1,V2,V3)
\tkzDrawLines[add=2 and 2,very thin,dashed](A,TA1 B,TB1 C,TC1 A,TA2 B,TB2 C,TC2)
\tkzDrawPoints(U1,U2,U3,V1,V2,V3)
\tkzLabelPoint[left](V1){$s_a$} \tkzLabelPoint[right](V2){$s_b$}
\tkzLabelPoint[below](V3){$s_c$} \tkzLabelPoint[above left](A){$A$}
\tkzLabelPoints[above right](B,C) \tkzLabelPoint(U1){$t_a$}
\tkzLabelPoint[below left](U2){$t_b$} \tkzLabelPoint[above](U3){$t_c$}
\end{tikzpicture}
50.7 Gougu theorem (Pythagorean theorem) by Zhao Shuang¶
\begin{tikzpicture}[scale=.8]
\tkzDefPoint(0,0){A} \tkzDefPoint(4,0){A'}
\tkzInterCC[R](A, 5)(A', 3)
\tkzGetSecondPoint{B}
\tkzDefSquare(A,B) \tkzGetPoints{C}{D}
\tkzCalcLength(A,A') \tkzGetLength{lA}
\tkzCalcLength(A',B) \tkzGetLength{lB}
\pgfmathparse{\lA-\lB}
\tkzInterLC[R](A,A')(A',\pgfmathresult)
\tkzGetFirstPoint{D'}
\tkzDefSquare(D',A')\tkzGetPoints{B'}{C'}
\tkzDefLine[orthogonal=through D](D,D')
\tkzGetPoint{d}
\tkzDefLine[orthogonal=through A](A,A')
\tkzGetPoint{a}
\tkzDefLine[orthogonal=through C](C,C')
\tkzGetPoint{c}
\tkzInterLL(D,d)(C,c) \tkzGetPoint{E}
\tkzInterLL(D,d)(A,a) \tkzGetPoint{F}
\tkzDefSquare(E,F)\tkzGetPoints{G}{H}
\tkzDrawPolygons[fill=teal!10](A,B,A' B,C,B'
C,D,C' A,D',D)
\tkzDrawPolygons(A,B,C,D E,F,G,H)
\tkzDrawPolygon[fill=green!10](A',B',C',D')
\tkzDrawSegment[dim={$a$,-10pt,}](D,C')
\tkzDrawSegment[dim={$b$,-10pt,}](C,C')
\tkzDrawSegment[dim={$c$,-10pt,}](C,D)
\tkzDrawPoints[size=2](A,B,C,D,A',B',C',D')
\tkzLabelPoints[left](A)
\tkzLabelPoints[below](B)
\tkzLabelPoints[right](C)
\tkzLabelPoints[above](D)
\tkzLabelPoints[right](A')
\tkzLabelPoints[below right](B')
\tkzLabelPoints[below left](C')
\tkzLabelPoints[below](D')
\end{tikzpicture}
50.8 Reuleaux triangle¶
\begin{tikzpicture}
\tkzDefPoint(0,0){A} \tkzDefPoint(4,1){B}
\tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{D}
\tkzInterLC(A,B)(B,A) \tkzGetPoints{F}{E}
\tkzDrawCircles[dashed](A,B B,A)
\tkzDrawPolygons(A,B,C A,E,D)
\tkzCompasss[color=red, very thick](A,C B,C A,D B,D)
\begin{scope}
\tkzSetUpArc[thick,delta=0]
\tkzDrawArc[fill=blue!10](A,B)(C)
\tkzDrawArc[fill=blue!10](B,C)(A)
\tkzDrawArc[fill=blue!10](C,A)(B)
\end{scope}
\tkzMarkAngles(D,A,E A,E,D)
\tkzFillAngles[fill=yellow,opacity=0.5](D,A,E A,E,D)
\tkzMarkRightAngle[size=0.65,fill=red!20,opacity=0.2](A,D,E)
\tkzLabelAngle[pos=0.7](D,A,E){$\alpha$}
\tkzLabelAngle[pos=0.8](A,E,D){$\beta$}
\tkzLabelAngle[pos=0.5,xshift=-1.4mm](A,D,D){$90^\circ$}
\begin{scope}[font=\small]
\tkzLabelSegment[below=0.6cm,align=center](A,B){Reuleaux\\triangle}
\tkzLabelSegment[above right,sloped](A,E){hypotenuse}
\tkzLabelSegment[below,sloped](D,E){opposite}
\tkzLabelSegment[below,sloped](A,D){adjacent}
\tkzLabelSegment[below right=4cm](A,E){Thales circle}
\end{scope}
\tkzLabelPoints[below left](A)
\tkzLabelPoints(B,D)
\tkzLabelPoint[above](C){$C$}
\tkzLabelPoints(E)
\tkzDrawPoints(A,...,E)
\end{tikzpicture}