From baea2de648941d9a729477cbdcbcbfb096253dde Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 11 Apr 2020 22:43:09 +0000 Subject: tkz-euclide (6apr20) git-svn-id: svn://tug.org/texlive/trunk@54669 c570f23f-e606-0410-a88d-b1316a301751 --- .../latex/tkz-euclide/TKZdoc-euclide-polygons.tex | 429 +++++++++++++++++++++ 1 file changed, 429 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-polygons.tex (limited to 'Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-polygons.tex') diff --git a/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-polygons.tex b/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-polygons.tex new file mode 100644 index 00000000000..d63e31fdea0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-polygons.tex @@ -0,0 +1,429 @@ +\section{Definition of polygons} +\subsection{Defining the points of a square} \label{def_square} +We have seen the definitions of some triangles. Let us look at the definitions of some quadrilaterals and regular polygons. + +\begin{NewMacroBox}{tkzDefSquare}{\parg{pt1,pt2}}% +The square is defined in the forward direction. From two points, two more points are obtained such that the four taken in order form a square. The square is defined in the forward direction. The results are in \tkzname{tkzFirstPointResult} and \tkzname{tkzSecondPointResult}.\\ +We can rename them with \tkzcname{tkzGetPoints}. + +\medskip +\begin{tabular}{lll}% +\toprule +Arguments & example & explication \\ +\midrule +\TAline{\parg{pt1,pt2}}{\tkzcname{tkzDefSquare}\parg{A,B}}{The square is defined in the direct direction.} +\end{tabular} +\end{NewMacroBox} + +\subsubsection{Using \tkzcname{tkzDefSquare} with two points} +Note the inversion of the first two points and the result. + +\begin{tkzexample}[latex=4cm,small] +\begin{tikzpicture}[scale=.5] + \tkzDefPoint(0,0){A} \tkzDefPoint(3,0){B} + \tkzDefSquare(A,B) + \tkzDrawPolygon[color=red](A,B,tkzFirstPointResult,% + tkzSecondPointResult) + \tkzDefSquare(B,A) + \tkzDrawPolygon[color=blue](B,A,tkzFirstPointResult,% + tkzSecondPointResult) +\end{tikzpicture} +\end{tkzexample} + + We may only need one point to draw an isosceles right-angled triangle so we use \tkzcname{tkzGetFirstPoint} or \tkzcname{tkzGetSecondPoint}. + +\subsubsection{Use of \tkzcname{tkzDefSquare} to obtain an isosceles right-angled triangle} +\begin{tkzexample}[latex=7cm,small] +\begin{tikzpicture}[scale=1] + \tkzDefPoint(0,0){A} + \tkzDefPoint(3,0){B} + \tkzDefSquare(A,B) \tkzGetFirstPoint{C} + \tkzDrawPolygon[color=blue,fill=blue!30](A,B,C) +\end{tikzpicture} +\end{tkzexample} + +\subsubsection{Pythagorean Theorem and \tkzcname{tkzDefSquare} } +\begin{tkzexample}[latex=8cm,small] +\begin{tikzpicture}[scale=.5] +\tkzInit +\tkzDefPoint(0,0){C} +\tkzDefPoint(4,0){A} +\tkzDefPoint(0,3){B} +\tkzDefSquare(B,A)\tkzGetPoints{E}{F} +\tkzDefSquare(A,C)\tkzGetPoints{G}{H} +\tkzDefSquare(C,B)\tkzGetPoints{I}{J} +\tkzFillPolygon[fill = red!50 ](A,C,G,H) +\tkzFillPolygon[fill = blue!50 ](C,B,I,J) +\tkzFillPolygon[fill = purple!50](B,A,E,F) +\tkzFillPolygon[fill = orange,opacity=.5](A,B,C) +\tkzDrawPolygon[line width = 1pt](A,B,C) +\tkzDrawPolygon[line width = 1pt](A,C,G,H) +\tkzDrawPolygon[line width = 1pt](C,B,I,J) +\tkzDrawPolygon[line width = 1pt](B,A,E,F) +\tkzLabelSegment[](A,C){$a$} +\tkzLabelSegment[](C,B){$b$} +\tkzLabelSegment[swap](A,B){$c$} +\end{tikzpicture} +\end{tkzexample} + +\subsection{Definition of parallelogram} + +\subsection{Defining the points of a parallelogram} +It is a matter of completing three points in order to obtain a parallelogram. +\begin{NewMacroBox}{tkzDefParallelogram}{\parg{pt1,pt2,pt3}}% +From three points, another point is obtained such that the four taken in order form a parallelogram. The result is in \tkzname{tkzPointResult}. \\ +We can rename it with the name \tkzcname{tkzGetPoint}... + +\begin{tabular}{lll}% +\toprule +arguments & default & definition \\ +\midrule +\TAline{\parg{pt1,pt2,pt3}}{no default}{Three points are necessary} +\bottomrule +\end{tabular} +\end{NewMacroBox} + +\subsubsection{Example of a parallelogram definition} + +\begin{tkzexample}[latex=7 cm,small] +\begin{tikzpicture}[scale=1] + \tkzDefPoints{0/0/A,3/0/B,4/2/C} + \tkzDefParallelogram(A,B,C) + \tkzGetPoint{D} + \tkzDrawPolygon(A,B,C,D) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above right](C,D) + \tkzDrawPoints(A,...,D) +\end{tikzpicture} +\end{tkzexample} + + + +\subsubsection{Simple example} +Explanation of the definition of a parallelogram +\begin{tkzexample}[latex=7 cm,small] +\begin{tikzpicture}[scale=1] + \tkzDefPoints{0/0/A,3/0/B,4/2/C} + \tkzDefPointWith[colinear= at C](B,A) + \tkzGetPoint{D} + \tkzDrawPolygon(A,B,C,D) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above right](C,D) + \tkzDrawPoints(A,...,D) +\end{tikzpicture} +\end{tkzexample} + +\subsubsection{Construction of the golden rectangle } + +\begin{tkzexample}[latex=8cm,small] +\begin{tikzpicture}[scale=.5] + \tkzInit[xmax=14,ymax=10] + \tkzClip[space=1] + \tkzDefPoint(0,0){A} + \tkzDefPoint(8,0){B} + \tkzDefMidPoint(A,B)\tkzGetPoint{I} + \tkzDefSquare(A,B)\tkzGetPoints{C}{D} + \tkzDrawSquare(A,B) + \tkzInterLC(A,B)(I,C)\tkzGetPoints{G}{E} + \tkzDrawArc[style=dashed,color=gray](I,E)(D) + \tkzDefPointWith[colinear= at C](E,B) + \tkzGetPoint{F} + \tkzDrawPoints(C,D,E,F) + \tkzLabelPoints(A,B,C,D,E,F) + \tkzDrawSegments[style=dashed,color=gray]% +(E,F C,F B,E) +\end{tikzpicture} +\end{tkzexample} + + + + +\subsection{Drawing a square} +\begin{NewMacroBox}{tkzDrawSquare}{\oarg{local options}\parg{pt1,pt2}}% +The macro draws a square but not the vertices. It is possible to color the inside. The order of the points is that of the direct direction of the trigonometric circle. + +\medskip +\begin{tabular}{lll}% +\toprule +arguments & example & explication \\ +\midrule +\TAline{\parg{pt1,pt2}}{|\tkzcname{tkzDrawSquare}|\parg{A,B}}{|\tkzcname{tkzGetPoints\{C\}\{D\}}|} +\bottomrule +\end{tabular} + +\medskip +\begin{tabular}{lll}% +options & example & explication \\ +\midrule +\TOline{Options TikZ}{|red,line width=1pt|}{} +\end{tabular} +\end{NewMacroBox} + +\subsubsection{The idea is to inscribe two squares in a semi-circle.} + +\begin{tkzexample}[latex=6 cm,small] +\begin{tikzpicture}[scale=.75] + \tkzInit[ymax=8,xmax=8] + \tkzClip[space=.25] \tkzDefPoint(0,0){A} + \tkzDefPoint(8,0){B} \tkzDefPoint(4,0){I} + \tkzDefSquare(A,B) \tkzGetPoints{C}{D} + \tkzInterLC(I,C)(I,B) \tkzGetPoints{E'}{E} + \tkzInterLC(I,D)(I,B) \tkzGetPoints{F'}{F} + \tkzDefPointsBy[projection=onto A--B](E,F){H,G} + \tkzDefPointsBy[symmetry = center H](I){J} + \tkzDefSquare(H,J) \tkzGetPoints{K}{L} + \tkzDrawSector[fill=yellow](I,B)(A) + \tkzFillPolygon[color=red!40](H,E,F,G) + \tkzFillPolygon[color=blue!40](H,J,K,L) + \tkzDrawPolySeg[color=red](H,E,F,G) + \tkzDrawPolySeg[color=red](J,K,L) + \tkzDrawPoints(E,G,H,F,J,K,L) +\end{tikzpicture} +\end{tkzexample} + +\subsection{The golden rectangle} + \begin{NewMacroBox}{tkzDefGoldRectangle}{\parg{point,point}}% +The macro determines a rectangle whose size ratio is the number $\Phi$. The created points are in \tkzname{tkzFirstPointResult} and \tkzname{tkzSecondPointResult}. They can be obtained with the macro \tkzcname{tkzGetPoints}. The following macro is used to draw the rectangle. + +\begin{tabular}{lll}% +\toprule +arguments & example & explication \\ +\midrule +\TAline{\parg{pt1,pt2}}{\parg{A,B}}{If C and D are created then $AB/BC=\Phi$.} + \end{tabular} +\end{NewMacroBox} + + \begin{NewMacroBox}{tkzDrawGoldRectangle}{\oarg{local options}\parg{point,point}} +\begin{tabular}{lll}% +arguments & example & explication \\ +\midrule +\TAline{\parg{pt1,pt2}}{\parg{A,B}}{Draws the golden rectangle based on the segment $[AB]$} +\end{tabular} + +\medskip +\begin{tabular}{lll}% +options & example & explication \\ +\midrule +\TOline{Options TikZ}{|red,line width=1pt|}{} +\end{tabular} +\end{NewMacroBox} + +\subsubsection{Golden Rectangles} +\begin{tkzexample}[latex=6 cm,small] +\begin{tikzpicture}[scale=.6] + \tkzDefPoint(0,0){A} \tkzDefPoint(8,0){B} + \tkzDefGoldRectangle(A,B) \tkzGetPoints{C}{D} + \tkzDefGoldRectangle(B,C) \tkzGetPoints{E}{F} + \tkzDrawPolygon[color=red,fill=red!20](A,B,C,D) + \tkzDrawPolygon[color=blue,fill=blue!20](B,C,E,F) +\end{tikzpicture} +\end{tkzexample} + +\subsection{Drawing a polygon} + \begin{NewMacroBox}{tkzDrawPolygon}{\oarg{local options}\parg{points list}}% +Just give a list of points and the macro plots the polygon using the \TIKZ\ options present. You can replace $(A,B,C,D,E)$ by $(A,...,E)$ and $(P_1,P_2,P_3,P_4,P_5)$ by $(P_1,P...,P_5)$ + +\begin{tabular}{lll}% +\toprule +arguments & example & explication \\ +\midrule +\TAline{\parg{pt1,pt2,pt3,...}}{|\BS tkzDrawPolygon[gray,dashed](A,B,C)|}{Drawing a triangle} + \end{tabular} + +\medskip +\begin{tabular}{lll}% +\toprule +options & default & example \\ +\midrule +\TOline{Options TikZ}{...}{|\BS tkzDrawPolygon[red,line width=2pt](A,B,C)|} + \end{tabular} +\end{NewMacroBox} + +\subsubsection{\tkzcname{tkzDrawPolygon}} + +\begin{tkzexample}[latex=7cm, small] +\begin{tikzpicture} [rotate=18,scale=1.5] + \tkzDefPoint(0,0){A} + \tkzDefPoint(2.25,0.2){B} + \tkzDefPoint(2.5,2.75){C} + \tkzDefPoint(-0.75,2){D} + \tkzDrawPolygon[fill=black!50!blue!20!](A,B,C,D) + \tkzDrawSegments[style=dashed](A,C B,D) +\end{tikzpicture}\end{tkzexample} + +\subsection{Drawing a polygonal chain} + \begin{NewMacroBox}{tkzDrawPolySeg}{\oarg{local options}\parg{points list}}% +Just give a list of points and the macro plots the polygonal chain using the \TIKZ\ options present. + +\begin{tabular}{lll}% +\toprule +arguments & example & explication \\ +\midrule +\TAline{\parg{pt1,pt2,pt3,...}}{|\BS tkzDrawPolySeg[gray,dashed](A,B,C)|}{Drawing a triangle} + \end{tabular} + +\medskip +\begin{tabular}{lll}% +\toprule +options & default & example \\ +\midrule +\TOline{Options TikZ}{...}{|\BS tkzDrawPolySeg[red,line width=2pt](A,B,C)|} + \end{tabular} +\end{NewMacroBox} + +\subsubsection{Polygonal chain} + +\begin{tkzexample}[latex=7cm, small] +\begin{tikzpicture} + \tkzDefPoints{0/0/A,6/0/B,3/4/C,2/2/D} + \tkzDrawPolySeg(A,...,D) + \tkzDrawPoints(A,...,D) +\end{tikzpicture} +\end{tkzexample} + +\subsubsection{Polygonal chain: index notation} + +\begin{tkzexample}[latex=7cm, small] +\begin{tikzpicture} +\foreach \pt in {1,2,...,8} {% +\tkzDefPoint(\pt*20:3){P_\pt}} +\tkzDrawPolySeg(P_1,P_...,P_8) +\tkzDrawPoints(P_1,P_...,P_8) +\end{tikzpicture} +\end{tkzexample} + +\subsection{Clip a polygon} + \begin{NewMacroBox}{tkzClipPolygon}{\oarg{local options}\parg{points list}}% +This macro makes it possible to contain the different plots in the designated polygon. + +\medskip +\begin{tabular}{lll}% +\toprule +arguments & example & explication \\ +\midrule +\TAline{\parg{pt1,pt2}}{\parg{A,B}}{} +%\bottomrule + \end{tabular} +\end{NewMacroBox} + +\subsubsection{\tkzcname{tkzClipPolygon}} +\begin{tkzexample}[latex=7 cm,small] +\begin{tikzpicture}[scale=1.25] + \tkzInit[xmin=0,xmax=4,ymin=0,ymax=3] + \tkzClip[space=.5] + \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B} + \tkzDefPoint(1,3){C} \tkzDrawPolygon(A,B,C) + \tkzDefPoint(0,2){D} \tkzDefPoint(2,0){E} + \tkzDrawPoints(D,E) \tkzLabelPoints(D,E) + \tkzClipPolygon(A,B,C) + \tkzDrawLine[color=red](D,E) +\end{tikzpicture} +\end{tkzexample} + +\subsubsection{Example: use of "Clip" for Sangaku in a square} +\begin{tkzexample}[latex=7cm, small] +\begin{tikzpicture}[scale=.75] + \tkzDefPoint(0,0){A} \tkzDefPoint(8,0){B} + \tkzDefSquare(A,B) \tkzGetPoints{C}{D} + \tkzDrawPolygon(B,C,D,A) + \tkzClipPolygon(B,C,D,A) + \tkzDefPoint(4,8){F} + \tkzDefTriangle[equilateral](C,D) + \tkzGetPoint{I} + \tkzDrawPoint(I) + \tkzDefPointBy[projection=onto B--C](I) + \tkzGetPoint{J} + \tkzInterLL(D,B)(I,J) \tkzGetPoint{K} + \tkzDefPointBy[symmetry=center K](B) + \tkzGetPoint{M} + \tkzDrawCircle(M,I) + \tkzCalcLength(M,I) \tkzGetLength{dMI} + \tkzFillPolygon[color = orange](A,B,C,D) + \tkzFillCircle[R,color = yellow](M,\dMI pt) + \tkzFillCircle[R,color = blue!50!black](F,4 cm)% +\end{tikzpicture} +\end{tkzexample} + +\subsection{Color a polygon} + \begin{NewMacroBox}{tkzFillPolygon}{\oarg{local options}\parg{points list}}% +You can color by drawing the polygon, but in this case you color the inside of the polygon without drawing it. + +\medskip +\begin{tabular}{lll}% +\toprule +arguments & example & explication \\ +\midrule +\TAline{\parg{pt1,pt2,\dots}}{\parg{A,B,\dots}}{} +%\bottomrule + \end{tabular} +\end{NewMacroBox} + +\subsubsection{\tkzcname{tkzFillPolygon}} +\begin{tkzexample}[latex=7cm, small] +\begin{tikzpicture}[scale=0.7] +\tkzInit[xmin=-3,xmax=6,ymin=-1,ymax=6] +\tkzDrawX[noticks] +\tkzDrawY[noticks] +\tkzDefPoint(0,0){O} \tkzDefPoint(4,2){A} +\tkzDefPoint(-2,6){B} +\tkzPointShowCoord[xlabel=$x$,ylabel=$y$](A) +\tkzPointShowCoord[xlabel=$x'$,ylabel=$y'$,% + ystyle={right=2pt}](B) +\tkzDrawSegments[->](O,A O,B) +\tkzLabelSegment[above=3pt](O,A){$\vec{u}$} +\tkzLabelSegment[above=3pt](O,B){$\vec{v}$} +\tkzMarkAngle[fill= yellow,size=1.8cm,% + opacity=.5](A,O,B) +\tkzFillPolygon[red!30,opacity=0.25](A,B,O) +\tkzLabelAngle[pos = 1.5](A,O,B){$\alpha$} +\end{tikzpicture} +\end{tkzexample} + +\subsection{Regular polygon} + \begin{NewMacroBox}{tkzDefRegPolygon}{\oarg{local options}\parg{pt1,pt2}}% +From the number of sides, depending on the options, this macro determines a regular polygon according to its center or one side. + +\begin{tabular}{lll}% +\toprule +arguments & example & explication \\ +\midrule +\TAline{\parg{pt1,pt2}}{\parg{O,A}}{with option "center", $O$ is the center of the polygon.} +\TAline{\parg{pt1,pt2}}{\parg{A,B}}{with option "side", $[AB]$ is a side.} + \end{tabular} + +\medskip +\begin{tabular}{lll}% +\toprule +options & default & example \\ +\midrule +\TOline{name}{P}{The vertices are named $P1$,$P2$,\dots} +\TOline{sides}{5}{number of sides.} +\TOline{center}{center}{The first point is the center.} +\TOline{side}{center}{The two points are vertices.} +\TOline{Options TikZ}{...}{} +\end{tabular} +\end{NewMacroBox} + +\subsubsection{Option \tkzname{center}} +\begin{tkzexample}[latex=7cm, small] +\begin{tikzpicture} + \tkzDefPoints{0/0/P0,0/0/Q0,2/0/P1} + \tkzDefMidPoint(P0,P1) \tkzGetPoint{Q1} + \tkzDefRegPolygon[center,sides=7](P0,P1) + \tkzDefMidPoint(P1,P2) \tkzGetPoint{Q1} + \tkzDefRegPolygon[center,sides=7,name=Q](P0,Q1) + \tkzDrawPolygon(P1,P...,P7) + \tkzFillPolygon[gray!20](Q0,Q1,P2,Q2) + \foreach \j in {1,...,7} {\tkzDrawSegment[black](P0,Q\j)} +\end{tikzpicture} +\end{tkzexample} + +\subsubsection{Option \tkzname{side}} +\begin{tkzexample}[latex=7cm, small] +\begin{tikzpicture}[scale=1] + \tkzDefPoints{-4/0/A, -1/0/B} + \tkzDefRegPolygon[side,sides=5,name=P](A,B) + \tkzDrawPolygon[thick](P1,P...,P5) +\end{tikzpicture} +\end{tkzexample} +\endinput \ No newline at end of file -- cgit v1.2.3