\section{Triangles}

\subsection{Definition of triangles \tkzcname{tkzDefTriangle}}
The following macros will allow you to define or construct a triangle from \tkzname{at least} two points.

 At the moment, it is possible to define the following triangles:
 \begin{itemize}
\item  \tkzname{two angles}  determines a triangle with two angles;
\item  \tkzname{equilateral}  determines an equilateral triangle;
\item \tkzname{half} determines a right-angled triangle such that the ratio of the measurements of the two adjacent sides to the right angle is equal to $2$;
\item \tkzname{pythagore} determines a right-angled triangle whose side measurements are proportional to 3, 4 and 5;
\item \tkzname{school} determines a right-angled triangle whose angles are 30, 60 and 90 degrees;
\item \tkzname{golden} determines a right-angled triangle such that the ratio of the measurements on the two adjacent sides to the right angle is equal to $\Phi=1.618034$, I chose "golden triangle" as the denomination because it comes from the golden rectangle and I kept the denomination "gold triangle" or "Euclid's triangle" for the isosceles triangle whose angles at the base are 72 degrees;

\item  \tkzname{euclide} or \tkzname{gold} for the gold triangle;

\item \tkzname{cheops} determines a third point such that the triangle is isosceles with side measurements proportional to $2$, $\Phi$ and $\Phi$.
\end{itemize}

\begin{NewMacroBox}{tkzDefTriangle}{\oarg{local options}\parg{A,B}}%
The points are ordered because the triangle is constructed following the direct direction of the trigonometric circle. This macro is either used in partnership with \tkzcname{tkzGetPoint} or by using \tkzname{tkzPointResult} if it is not necessary to keep the name.

\medskip
\begin{tabular}{lll}%
\toprule
options             & default & definition                        \\
\midrule
\TOline{two angles= \#1 and \#2}{no defaut}{triangle knowing two angles}
\TOline{equilateral} {no defaut}{equilateral triangle }
\TOline{pythagore}{no defaut}{proportional to the pythagorean triangle 3-4-5}
\TOline{school} {no defaut}{angles of 30, 60 and 90 degrees }
\TOline{gold}{no defaut}{angles of 72, 72 and 36 degrees, $A$ is the apex}
\TOline{euclide} {no defaut}{same as above but $[AB]$ is the base}
\TOline{golden} {no defaut}{B rectangle and $AB/AC = \Phi$}
\TOline{cheops} {no defaut}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
\bottomrule
\end{tabular}

\medskip
\tkzcname{tkzGetPoint} allows you to store the point otherwise \tkzname{tkzPointResult} allows for immediate use.
\end{NewMacroBox}

\subsubsection{Option \tkzname{golden}}
\begin{tkzexample}[latex=6 cm,small]
\begin{tikzpicture}[scale=.8]
\tkzInit[xmax=5,ymax=3] \tkzClip[space=.5]
  \tkzDefPoint(0,0){A}      \tkzDefPoint(4,0){B}
  \tkzDefTriangle[golden](A,B)\tkzGetPoint{C}
  \tkzDrawPolygon(A,B,C) \tkzDrawPoints(A,B,C)
  \tkzLabelPoints(A,B) \tkzDrawBisector(A,C,B)
  \tkzLabelPoints[above](C)
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{equilateral}}
\begin{tkzexample}[latex=7 cm,small]
\begin{tikzpicture}
  \tkzDefPoint(0,0){A}
  \tkzDefPoint(4,0){B}
  \tkzDefTriangle[equilateral](A,B)
  \tkzGetPoint{C}
  \tkzDrawPolygon(A,B,C)
  \tkzDefTriangle[equilateral](B,A)
  \tkzGetPoint{D}
  \tkzDrawPolygon(B,A,D)
  \tkzDrawPoints(A,B,C,D)
  \tkzLabelPoints(A,B,C,D)
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{gold} or \tkzname{euclide} }
\begin{tkzexample}[latex=7 cm,small]
\begin{tikzpicture}
 \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
 \tkzDefTriangle[euclide](A,B)\tkzGetPoint{C}
 \tkzDrawPolygon(A,B,C)
 \tkzDrawPoints(A,B,C)
 \tkzLabelPoints(A,B)
 \tkzLabelPoints[above](C)
 \tkzDrawBisector(A,C,B)
\end{tikzpicture}
\end{tkzexample}

\newpage
\subsection{Drawing of triangles}
 \begin{NewMacroBox}{tkzDrawTriangle}{\oarg{local options}\parg{A,B}}%
Macro similar to the previous macro but the sides are drawn.

\medskip
\begin{tabular}{lll}%
\toprule
options             & default & definition                        \\
\midrule
\TOline{two angles= \#1 and \#2}{equilateral}{triangle knowing two angles}
\TOline{equilateral} {equilateral}{equilateral triangle }
\TOline{pythagore}{equilateral}{proportional to the pythagorean triangle 3-4-5}
\TOline{school} {equilateral}{the angles are 30, 60 and 90 degrees }
\TOline{gold}{equilateral}{the angles are 72, 72 and 36 degrees, $A$ is the vertex }
\TOline{euclide} {equilateral}{identical to the previous one but $[AB]$ is the base}
\TOline{golden} {equilateral}{B rectangle and $AB/AC = \Phi$}
\TOline{cheops} {equilateral}{isosceles in C and $AC/AB = \frac{\Phi}{2}$}
\bottomrule
 \end{tabular}

\medskip
In all its definitions, the dimensions of the triangle depend on the two starting points.
\end{NewMacroBox}

\subsubsection{Option \tkzname{pythagore}}
This triangle has sides whose lengths are proportional to 3, 4 and 5.

\begin{tkzexample}[latex=6 cm,small]
\begin{tikzpicture}
 \tkzDefPoint(0,0){A}
 \tkzDefPoint(4,0){B}
 \tkzDrawTriangle[pythagore,fill=blue!30](A,B)
 \tkzMarkRightAngles(A,B,tkzPointResult)
\end{tikzpicture}
\end{tkzexample}


\subsubsection{Option \tkzname{school}}
The angles are 30, 60 and 90 degrees.

\begin{tkzexample}[latex=6 cm,small]
\begin{tikzpicture}
  \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
  \tkzDrawTriangle[school,fill=red!30](A,B)
  \tkzMarkRightAngles(tkzPointResult,B,A)  
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{golden}}
\begin{tkzexample}[latex=6 cm,small]
\begin{tikzpicture}[scale=1]
	\tkzDefPoint(0,-10){M}
	\tkzDefPoint(3,-10){N}
	\tkzDrawTriangle[golden,color=brown](M,N)
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{gold}}
\begin{tkzexample}[latex=6 cm,small]
\begin{tikzpicture}[scale=1]
 	\tkzDefPoint(5,-5){I}
 	\tkzDefPoint(8,-5){J}
 	\tkzDrawTriangle[gold,color=blue!50](I,J) 
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{euclide}}
\begin{tkzexample}[latex=6 cm,small]
  \begin{tikzpicture}[scale=1]
    \tkzDefPoint(10,-5){K}
    \tkzDefPoint(13,-5){L}
    \tkzDrawTriangle[euclide,color=blue,fill=blue!10](K,L)
  \end{tikzpicture}
\end{tkzexample}


\section{Specific triangles with \tkzcname{tkzDefSpcTriangle}}

The centers of some triangles have been defined in the "points" section, here it is a question of determining the three vertices of specific triangles.

\begin{NewMacroBox}{tkzDefSpcTriangle}{\oarg{local options}\parg{A,B,C}}
The order of the points is important!


\medskip
\begin{tabular}{lll}%
\toprule
options             & default & definition                        \\
\midrule
\TOline{in or incentral}{centroid}{two-angled triangle}
\TOline{ex or excentral} {centroid}{equilateral triangle }
\TOline{extouch}{centroid}{proportional to the pythagorean triangle 3-4-5}
\TOline{intouch or contact} {centroid}{ 30, 60 and 90 degree angles }
\TOline{centroid or medial}{centroid}{ angles of 72, 72 and 36 degrees, $A$ is the vertex }
\TOline{orthic} {centroid}{same as above but $[AB]$ is the base}
\TOline{feuerbach} {centroid}{B rectangle and $AB/AC = \Phi$}
\TOline{euler} {centroid}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
\TOline{tangential} {centroid}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
\TOline{name} {no defaut}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
\midrule
\end{tabular}

\medskip
\tkzcname{tkzGetPoint} allows you to store the point otherwise \tkzname{tkzPointResult} allows for immediate use.
\end{NewMacroBox}

\subsubsection{Option \tkzname{medial} or \tkzname{centroid} }
The geometric centroid  of the polygon vertices of a triangle is the point $G$ (sometimes also denoted $M$) which is also the intersection of the triangle's three triangle medians. The point is therefore sometimes called the median point. The centroid is always in the interior of the triangle.\\
\href{http://mathworld.wolfram.com/TriangleCentroid.html}{Weisstein, Eric W. "Centroid triangle" From MathWorld--A Wolfram Web Resource.}

In the following example, we obtain the Euler circle which passes through the previously defined points.

\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[rotate=90,scale=.75]
 \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
 \tkzDefTriangleCenter[centroid](A,B,C)
        \tkzGetPoint{M}
 \tkzDefSpcTriangle[medial,name=M](A,B,C){_A,_B,_C}
 \tkzDrawPolygon[color=blue](A,B,C)
 \tkzDrawSegments[dashed,red](A,M_A B,M_B C,M_C)
 \tkzDrawPolygon[color=red](M_A,M_B,M_C)
 \tkzDrawPoints(A,B,C,M)
 \tkzDrawPoints[red](M_A,M_B,M_C)
\tkzAutoLabelPoints[center=M,font=\scriptsize]%
(A,B,C,M_A,M_B,M_C)
 \tkzLabelPoints[font=\scriptsize](M)
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{in} or \tkzname{incentral} }

The incentral triangle is the triangle whose vertices are determined by
the intersections of the reference triangle’s angle bisectors with the
respective opposite sides.\\
\href{http://mathworld.wolfram.com/ContactTriangle.html}{Weisstein, Eric W. "Incentral triangle" From MathWorld--A Wolfram Web Resource.}


\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=1]
  \tkzDefPoints{ 0/0/A,5/0/B,1/3/C}
  \tkzDefSpcTriangle[in,name=I](A,B,C){_a,_b,_c}
  \tkzInCenter(A,B,C)\tkzGetPoint{I}
  \tkzDrawPolygon[red](A,B,C)
  \tkzDrawPolygon[blue](I_a,I_b,I_c)
  \tkzDrawPoints(A,B,C,I,I_a,I_b,I_c)
  \tkzDrawCircle[in](A,B,C)
  \tkzDrawSegments[dashed](A,I_a B,I_b C,I_c)
 \tkzAutoLabelPoints[center=I,
  blue,font=\scriptsize](I_a,I_b,I_c)
 \tkzAutoLabelPoints[center=I,red,
  font=\scriptsize](A,B,C,I_a,I_b,I_c)
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{ex} or \tkzname{excentral} }

The excentral triangle of a triangle $ABC$ is the triangle $J_aJ_bJ_c$ with vertices corresponding to the excenters of $ABC$.

\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=.6]
 \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
 \tkzDefSpcTriangle[excentral,name=J](A,B,C){_a,_b,_c}
 \tkzDefSpcTriangle[extouch,name=T](A,B,C){_a,_b,_c}
 \tkzDrawPolygon[blue](A,B,C)
 \tkzDrawPolygon[red](J_a,J_b,J_c)
 \tkzDrawPoints(A,B,C)
 \tkzDrawPoints[red](J_a,J_b,J_c)
 \tkzLabelPoints(A,B,C)
 \tkzLabelPoints[red](J_b,J_c)
 \tkzLabelPoints[red,above](J_a)
 \tkzClipBB \tkzShowBB 
 \tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c) 
\end{tikzpicture}
\end{tkzexample}


\subsubsection{Option \tkzname{intouch}}
The contact triangle of a triangle $ABC$, also called the intouch triangle, is the triangle  formed by the points of tangency of the incircle of $ABC$ with $ABC$.\\
\href{http://mathworld.wolfram.com/ContactTriangle.html}{Weisstein, Eric W. "Contact triangle" From MathWorld--A Wolfram Web Resource.}

We obtain the intersections of the bisectors with the sides.
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=.75]
 \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}					 
 \tkzDefSpcTriangle[intouch,name=X](A,B,C){_a,_b,_c}
 \tkzInCenter(A,B,C)\tkzGetPoint{I}
 \tkzDrawPolygon[red](A,B,C)
 \tkzDrawPolygon[blue](X_a,X_b,X_c)
 \tkzDrawPoints[red](A,B,C)
 \tkzDrawPoints[blue](X_a,X_b,X_c)
 \tkzDrawCircle[in](A,B,C)
 \tkzAutoLabelPoints[center=I,blue,font=\scriptsize]%
(X_a,X_b,X_c)
 \tkzAutoLabelPoints[center=I,red,font=\scriptsize]%
(A,B,C)
\end{tikzpicture} 
\end{tkzexample}

\subsubsection{Option \tkzname{extouch}}
The extouch triangle  $T_aT_bT_c$ is the triangle formed by the points of tangency of a triangle $ABC$ with its excircles $J_a$, $J_b$, and $J_c$. The points  $T_a$, $T_b$, and $T_c$ can also be constructed as the points which bisect the perimeter of $A_1A_2A_3$ starting at $A$, $B$, and $C$.\\
\href{http://mathworld.wolfram.com/ExtouchTriangle.html}{Weisstein, Eric W. "Extouch triangle" From MathWorld--A Wolfram Web Resource.}

We obtain the points of contact of the exinscribed circles as well as the triangle formed by the centres of the exinscribed circles.

\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=.7]
\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
\tkzDefSpcTriangle[excentral,
                 name=J](A,B,C){_a,_b,_c}
\tkzDefSpcTriangle[extouch,
                  name=T](A,B,C){_a,_b,_c}
\tkzDefTriangleCenter[nagel](A,B,C)
\tkzGetPoint{N_a}
\tkzDefTriangleCenter[centroid](A,B,C)
\tkzGetPoint{G}
\tkzDrawPoints[blue](J_a,J_b,J_c)
\tkzClipBB \tkzShowBB
\tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
\tkzDrawLines[add=1 and 1](A,B B,C C,A)
\tkzDrawSegments[gray](A,T_a B,T_b C,T_c)
\tkzDrawSegments[gray](J_a,T_a J_b,T_b J_c,T_c)
\tkzDrawPolygon[blue](A,B,C)
\tkzDrawPolygon[red](T_a,T_b,T_c)
\tkzDrawPoints(A,B,C,N_a)
\tkzLabelPoints(N_a)
\tkzAutoLabelPoints[center=Na,blue](A,B,C)
\tkzAutoLabelPoints[center=G,red,
                         dist=.4](T_a,T_b,T_c)
\tkzMarkRightAngles[fill=gray!15](J_a,T_a,B
 J_b,T_b,C J_c,T_c,A)
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{feuerbach}}
The Feuerbach triangle is the triangle formed by the three points of tangency of the nine-point circle with the excircles.\\
\href{http://mathworld.wolfram.com/FeuerbachTriangle.html}{Weisstein, Eric W. "Feuerbach triangle" From MathWorld--A Wolfram Web Resource.}

 The points of tangency define the Feuerbach triangle.


\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=1]
  \tkzDefPoint(0,0){A}
  \tkzDefPoint(3,0){B}
  \tkzDefPoint(0.5,2.5){C}
  \tkzDefCircle[euler](A,B,C) \tkzGetPoint{N}
  \tkzDefSpcTriangle[feuerbach,
                       name=F](A,B,C){_a,_b,_c}
  \tkzDefSpcTriangle[excentral,
                       name=J](A,B,C){_a,_b,_c}
  \tkzDefSpcTriangle[extouch,
                        name=T](A,B,C){_a,_b,_c}
  \tkzDrawPoints[blue](J_a,J_b,J_c,F_a,F_b,F_c,A,B,C)
  \tkzClipBB \tkzShowBB
  \tkzDrawCircle[purple](N,F_a)
  \tkzDrawPolygon(A,B,C)
  \tkzDrawPolygon[blue](F_a,F_b,F_c)
  \tkzDrawCircles[gray](J_a,F_a J_b,F_b J_c,F_c)
  \tkzAutoLabelPoints[center=N,dist=.3,
   font=\scriptsize](A,B,C,F_a,F_b,F_c,J_a,J_b,J_c)
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option   \tkzname{tangential}} 
The tangential triangle is the triangle $T_aT_bT_c$ formed by the lines tangent to the circumcircle of a given triangle $ABC$ at its vertices. It is therefore antipedal triangle of $ABC$ with respect to the circumcenter $O$.\\ 
\href{http://mathworld.wolfram.com/TangentialTriangle.html}{Weisstein, Eric W. "Tangential Triangle." From MathWorld--A Wolfram Web Resource. }


\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}[scale=.5,rotate=80]
  \tkzDefPoints{0/0/A,6/0/B,1.8/4/C}           
  \tkzDefSpcTriangle[tangential,
    name=T](A,B,C){_a,_b,_c}
  \tkzDrawPolygon[red](A,B,C)
  \tkzDrawPolygon[blue](T_a,T_b,T_c)
  \tkzDrawPoints[red](A,B,C)
  \tkzDrawPoints[blue](T_a,T_b,T_c)
  \tkzDefCircle[circum](A,B,C)  
  \tkzGetPoint{O} 
  \tkzDrawCircle(O,A)
  \tkzLabelPoints[red](A,B,C)
  \tkzLabelPoints[blue](T_a,T_b,T_c)
\end{tikzpicture} 
\end{tkzexample} 

\subsubsection{Option   \tkzname{euler}} 
The Euler triangle of a triangle $ABC$ is the triangle $E_AE_BE_C$ whose vertices are the midpoints of the segments joining the orthocenter $H$ with the respective vertices. The vertices of the triangle are known as the Euler points, and lie on the nine-point circle.

\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[rotate=90,scale=1.25]
 \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
 \tkzDefSpcTriangle[medial,
     name=M](A,B,C){_A,_B,_C}
 \tkzDefTriangleCenter[euler](A,B,C)
     \tkzGetPoint{N} % I= N nine points
 \tkzDefTriangleCenter[ortho](A,B,C)
        \tkzGetPoint{H}
 \tkzDefMidPoint(A,H) \tkzGetPoint{E_A}
 \tkzDefMidPoint(C,H) \tkzGetPoint{E_C}
 \tkzDefMidPoint(B,H) \tkzGetPoint{E_B}
 \tkzDefSpcTriangle[ortho,name=H](A,B,C){_A,_B,_C}
 \tkzDrawPolygon[color=blue](A,B,C)
 \tkzDrawCircle(N,E_A)
 \tkzDrawSegments[blue](A,H_A B,H_B C,H_C)
 \tkzDrawPoints(A,B,C,N,H)
 \tkzDrawPoints[red](M_A,M_B,M_C)
 \tkzDrawPoints[blue]( H_A,H_B,H_C)
 \tkzDrawPoints[green](E_A,E_B,E_C)
 \tkzAutoLabelPoints[center=N,font=\scriptsize]%
(A,B,C,M_A,M_B,M_C,H_A,H_B,H_C,E_A,E_B,E_C)
\tkzLabelPoints[font=\scriptsize](H,N)
\tkzMarkSegments[mark=s|,size=3pt,
  color=blue,line width=1pt](B,E_B E_B,H)
   \tkzDrawPolygon[color=red](M_A,M_B,M_C)
\end{tikzpicture}
\end{tkzexample}


\endinput