diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex | 289 |
1 files changed, 167 insertions, 122 deletions
diff --git a/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex b/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex index 3f7619188db..2fb014f30c1 100644 --- a/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex +++ b/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex @@ -43,16 +43,16 @@ So the arguments are two couples. options & default & definition \\ \midrule \TOline{N} {N} { (O,C) determines the circle} -\TOline{R} {N} { (O, 1 cm) or (O, 120 pt)} +\TOline{R} {N} { (O, 1 ) unit 1 cm} \TOline{with nodes}{N} { (O,C,D) CD is a radius} \bottomrule \end{tabular} \medskip -The macro defines the intersection points $I$ and $J$ of the line $(AB)$ and the center circle $O$ with radius $r$ if they exist; otherwise, an error will be reported in the |.log| file. +The macro defines the intersection points $I$ and $J$ of the line $(AB)$ and the center circle $O$ with radius $r$ if they exist; otherwise, an error will be reported in the |.log| file. \tkzname{with nodes} vous évite de calculer le rayon qui est la longueur de $[CD]$. \end{NewMacroBox} -\subsubsection{Simple example of a line-circle intersection} +\subsubsection{Line-circle intersection} In the following example, the drawing of the circle uses two points and the intersection of the straight line and the circle uses two pairs of points: @@ -72,6 +72,53 @@ In the following example, the drawing of the circle uses two points and the inte \end{tikzpicture} \end{tkzexample} + +\subsubsection{Line-circle intersection in Sangaku} +\begin{tkzexample}[vbox,small] + \begin{tikzpicture}[scale=1] + \def\ORadius{6} + \def\OORadius{4} + \pgfmathparse{(2*(\ORadius-\OORadius))/(\ORadius/\OORadius+1)}% + \let\OOORadius\pgfmathresult% + \pgfmathparse{\ORadius-\OOORadius}% + \let\OOOORadius\pgfmathresult% + \pgfmathparse{2*\OORadius-\ORadius}% + \let\XA\pgfmathresult% + \tkzDefPoint["$O$" below left](0,0){O} + \ifdim\XA pt = 0pt\relax% + \tkzDefPoint["$A$" below right](\XA,0){A} + \else + \tkzDefPoint["$A$" below left](\XA,0){A} + \fi + \tkzDefPoint["$D$" below right](\OORadius,0){D} + \tkzDefPoint["$X$" below left](-\ORadius,0){X} + \tkzDefPoint["$B$" below right](\ORadius,0){B} + \tkzDefPoint["$O_2$" below left](\OORadius-\ORadius,0){O2} + \tkzDefLine[mediator](A,B) \tkzGetPoints{mr}{ml} + \tkzInterLC[R](D,mr)(O,\ORadius) \tkzGetPoints{C}{E} + \tkzDefLine[orthogonal=through A](X,A) \tkzGetPoint{pr} + \ifdim\XA pt < 0 pt\relax + \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O4}{O3} + \else + \ifdim\XA pt = 0pt\relax + \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O4}{O3} + \else + \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O3}{O4} + \fi + \fi + \tkzDefPointBy[projection=onto A--C](O3) \tkzGetPoint{H} + \tkzDrawCircles[R](O,{\ORadius} O2,{\OORadius} O3,{\OOORadius}) + \tkzDrawSegments[dashed](O,O3 C,D O3,A O3,H) + \tkzDrawSegments(X,B A,C B,C) + \tkzMarkSegments[mark=s|](D,B D,A) + \tkzLabelPoints[right](O3,H) + \tkzLabelPoint[above right](C){$C$} + \tkzMarkRightAngles[fill=gray!30](X,D,C X,A,O3 A,H,O3) + \tkzDrawPoints(A,B,C,D,X,O,O2,O3,H) + \end{tikzpicture} +\end{tkzexample} + + \subsubsection{More complex example of a line-circle intersection} Figure from \url{http://gogeometry.com/problem/p190_tangent_circle} @@ -81,21 +128,20 @@ Figure from \url{http://gogeometry.com/problem/p190_tangent_circle} \tkzDefPoint(8,0){B} \tkzDefMidPoint(A,B) \tkzGetPoint{O} - \tkzDrawCircle(O,B) \tkzDefMidPoint(O,B) \tkzGetPoint{O'} - \tkzDrawCircle(O',B) \tkzDefTangent[from=A](O',B) \tkzGetSecondPoint{E} \tkzInterLC(A,E)(O,B) \tkzGetSecondPoint{D} \tkzDefPointBy[projection=onto A--B](D) - \tkzGetPoint{F} - \tkzMarkRightAngle(D,F,B) + \tkzGetPoint{F} + \tkzDrawCircles(O,B O',B) \tkzDrawSegments(A,D A,B D,F) \tkzDrawSegments[color=red,line width=1pt, opacity=.4](A,O F,B) \tkzDrawPoints(A,B,O,O',E,D) + \tkzMarkRightAngle(D,F,B) \tkzLabelPoints(A,B,O,O',E,D) \end{tikzpicture} \end{tkzexample} @@ -108,16 +154,15 @@ Let's look at some special cases like straight lines tangent to the circle. \tkzDefPoint(0,8){A} \tkzDefPoint(8,0){B} \tkzDefPoint(8,8){C} \tkzDefPoint(4,4){I} \tkzDefPoint(2,7){E} \tkzDefPoint(6,4){F} - \tkzDrawCircle[R](I,4 cm) - \tkzInterLC[R](A,C)(I,4 cm) \tkzGetPoints{I1}{I2} - \tkzInterLC[R](B,C)(I,4 cm) \tkzGetPoints{J1}{J2} - \tkzInterLC[R](A,B)(I,4 cm) \tkzGetPoints{K1}{K2} + \tkzInterLC[R](A,C)(I,4) \tkzGetPoints{I1}{I2} + \tkzInterLC[R](B,C)(I,4) \tkzGetPoints{J1}{J2} + \tkzInterLC[R](A,B)(I,4) \tkzGetPoints{K1}{K2} + \tkzInterLC[R](E,F)(I,4) \tkzGetPoints{I2}{J2} + \tkzDrawCircle[R](I,4) \tkzDrawPoints[color=red](I1,J1,K1,K2) - \tkzDrawLines(A,B B,C A,C) - \tkzInterLC[R](E,F)(I,4 cm) \tkzGetPoints{I2}{J2} + \tkzDrawLines(A,B B,C A,C I2,J2) \tkzDrawPoints[color=blue](E,F) \tkzDrawPoints[color=red](I2,J2) - \tkzDrawLine(I2,J2) \end{tikzpicture} \end{tkzexample} @@ -126,23 +171,23 @@ Let's look at some special cases like straight lines tangent to the circle. \begin{tkzexample}[latex=7cm,small] \begin{tikzpicture}[scale=1.25] - \tkzDefPoint(0,1){J} - \tkzDefPoint(0,0){O} - \tkzDrawArc[R,line width=1pt,color=red](J,2.5 cm)(180,0) - \foreach \i in {0,-5,-10,...,-85,-90}{ - \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P} - \tkzDrawSegment[color=orange](J,P) - \tkzInterLC[R](P,J)(O,1 cm) - \tkzGetPoints{M}{N} - \tkzDrawPoints[red](N) - } - \foreach \i in {-90,-95,...,-175,-180}{ - \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P} - \tkzDrawSegment[color=orange](J,P) - \tkzInterLC[R](P,J)(O,1 cm) - \tkzGetPoints{M}{N} - \tkzDrawPoints[red](M) - } +\tkzDefPoint(0,1){J} +\tkzDefPoint(0,0){O} +\tkzDrawArc[R,line width=1pt,color=red](J,2.5)(180,0) +\foreach \i in {0,-5,-10,...,-85,-90}{ + \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P} + \tkzDrawSegment[color=orange](J,P) + \tkzInterLC[R](P,J)(O,1) + \tkzGetPoints{M}{N} + \tkzDrawPoints[red](N) + } +\foreach \i in {-90,-95,...,-175,-180}{ + \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P} + \tkzDrawSegment[color=orange](J,P) + \tkzInterLC[R](P,J)(O,1) + \tkzGetPoints{M}{N} + \tkzDrawPoints[red](M) + } \end{tikzpicture} \end{tkzexample} @@ -151,7 +196,7 @@ Let's look at some special cases like straight lines tangent to the circle. The radius measurement may be the result of a calculation that is not done within the intersection macro, but before. A length can be calculated in several ways. It is possible of course, - to use the module \tkzname{pgfmath} and the macro \tkzcname{pgfmathsetmacro}. In some cases, the results obtained are not precise enough, so the following calculation $0.0002 \div 0.0001$ gives $1.98$ with pgfmath while xfp will give $2$. + to use the module \tkzname{pgfmath} and the macro \tkzcname{pgfmathsetmacro}. In some cases, the results obtained are not precise enough, so the following calculation $0.0002 \div 0.0001$ gives $1.98$ with pgfmath while xfp will give $2$. \subsubsection{Calculation of radius example 2} With \tkzname{xfp} and \tkzcname{fpeval}: @@ -161,64 +206,27 @@ With \tkzname{xfp} and \tkzcname{fpeval}: \tkzDefPoint(2,2){A} \tkzDefPoint(5,4){B} \tkzDefPoint(4,4){O} - \edef\tkzLen{\fpeval{0.0002/0.0001}} - \tkzDrawCircle[R](O,\tkzLen cm) - \tkzInterLC[R](A,B)(O, \tkzLen cm) + \pgfmathsetmacro\tkzLen{\fpeval{0.0002/0.0001}} + % or \edef\tkzLen{\fpeval{0.0002/0.0001}} + \tkzInterLC[R](A,B)(O, \tkzLen) \tkzGetPoints{I}{J} + \tkzDrawCircle[R](O,\tkzLen) \tkzDrawPoints[color=blue](A,B) \tkzDrawPoints[color=red](I,J) \tkzDrawLine(I,J) \end{tikzpicture} \end{tkzexample} -\subsubsection{Calculation of radius example 3} - With \TEX\ and \tkzcname{tkzLength}. - - This dimension was created with \tkzcname{newdimen}. 2 cm has been transformed into points. It is of course possible to use \TEX\ to calculate. - -\begin{tkzexample}[latex=7cm,small] -\begin{tikzpicture} - \tkzDefPoints{2/2/A,5/4/B,4/4/0} - \tkzLength=2cm - \tkzDrawCircle[R](O,\tkzLength) - \tkzInterLC[R](A,B)(O,\tkzLength) - \tkzGetPoints{I}{J} - \tkzDrawPoints[color=blue](A,B) - \tkzDrawPoints[color=red](I,J) - \tkzDrawLine(I,J) -\end{tikzpicture} -\end{tkzexample} - -\subsubsection{Squares in half a disc} -A Sangaku look! It is a question of proving that one can inscribe in a half-disc, two squares, and to determine the length of their respective sides according to the radius. - -\begin{tkzexample}[latex=6cm,small] -\begin{tikzpicture}[scale=.75] - \tkzDefPoints{0/0/A,8/0/B,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=brown!30](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} \subsubsection{Option "with nodes"} \begin{tkzexample}[latex=8cm,small] \begin{tikzpicture}[scale=.75] \tkzDefPoints{0/0/A,4/0/B,1/1/D,2/0/E} -\tkzDefTriangle[equilateral](A,B) +\tkzDefTriangle[equilateral](A,B) \tkzGetPoint{C} -\tkzDrawCircle(C,A) -\tkzInterLC[with nodes](D,E)(C,A,B) +\tkzInterLC[with nodes](D,E)(C,A,B) \tkzGetPoints{F}{G} +\tkzDrawCircle(C,A) \tkzDrawPolygon(A,B,C) \tkzDrawPoints(A,...,G) \tkzDrawLine(F,G) @@ -251,8 +259,7 @@ It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInte \tkzDefPoint(5,1){B} \tkzInterCC(A,B)(B,A)\tkzGetPoints{C}{D} \tkzDrawPoint[color=black](C) - \tkzDrawCircle[dashed](A,B) - \tkzDrawCircle[dashed](B,A) + \tkzDrawCircles(A,B B,A) \tkzCompass[color=red](A,C) \tkzCompass[color=red](B,C) \tkzDrawPolygon(A,B,C) @@ -267,12 +274,11 @@ It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInte \begin{tikzpicture}[scale=.5] \tkzDefPoint(0,0){A} \tkzDefPoint(2,2){B} - \tkzDrawCircle[color=blue](B,A) - \tkzDrawCircle[color=blue](A,B) \tkzInterCC(B,A)(A,B)\tkzGetPoints{M}{N} - \tkzDrawLine(A,B) + \tkzDrawCircles[color=teal](A,B B,A) + \tkzDrawCircle[color=teal](A,B) \tkzDrawPoints(M,N) - \tkzDrawLine[color=red](M,N) + \tkzDrawLine[new](M,N) \end{tikzpicture} \end{tkzexample} @@ -281,14 +287,13 @@ It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInte \begin{tikzpicture}[rotate=120,scale=.75] \tkzDefPoint(1,2){A} \tkzDefPoint(4,0){B} - \tkzInterCC[R](A,4cm)(B,4cm) + \tkzInterCC[R](A,4)(B,4) \tkzGetPoints{C}{D} - \tkzDrawCircle[R,dashed](A,4 cm) - \tkzDrawCircle[R,dashed](B,4 cm) - \tkzCompass[color=red](A,C) - \tkzCompass[color=red](B,C) + \tkzDrawCircles[R,dashed](A,4 B,4) + \tkzCompass[new](A,C) + \tkzCompass[new](B,C) \tkzDrawPolygon(A,B,C) - \tkzDrawPoints[color=blue](A,B,C) + \tkzDrawPoints(A,B,C) \tkzMarkSegments[mark=s|](A,C B,C) \tkzLabelPoints[](A,B) \tkzLabelPoint[above](C){$C$} @@ -298,60 +303,100 @@ It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInte \subsubsection{Segment trisection} The idea here is to divide a segment with a ruler and a compass into three segments of equal length. - -\begin{tkzexample}[latex=9cm,small] -\begin{tikzpicture}[scale=.8] - \tkzDefPoint(0,0){A} + +\begin{tkzexample}[latex=7cm,small] +\begin{tikzpicture}[scale=.5] + \tkzDefPoint(0,0){A} \tkzDefPoint(3,2){B} - \tkzInterCC(A,B)(B,A) - \tkzGetPoints{C}{D} - \tkzInterCC(D,B)(B,A) - \tkzGetPoints{A}{E} - \tkzInterCC(D,B)(A,B) - \tkzGetPoints{F}{B} - \tkzInterLC(E,F)(F,A) - \tkzGetPoints{D}{G} - \tkzInterLL(A,G)(B,E) - \tkzGetPoint{O} - \tkzInterLL(O,D)(A,B) - \tkzGetPoint{J} - \tkzInterLL(O,F)(A,B) - \tkzGetPoint{I} - \tkzDrawCircle(D,A) - \tkzDrawCircle(A,B) - \tkzDrawCircle(B,A) - \tkzDrawCircle(F,A) - \tkzDrawSegments[color=red](O,G + \tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{D} + \tkzInterCC(D,B)(B,A) \tkzGetPoints{A}{E} + \tkzInterCC(D,B)(A,B) \tkzGetPoints{F}{B} + \tkzInterLC(E,F)(F,A) \tkzGetPoints{D}{G} + \tkzInterLL(A,G)(B,E) \tkzGetPoint{O} + \tkzInterLL(O,D)(A,B) \tkzGetPoint{J} + \tkzInterLL(O,F)(A,B) \tkzGetPoint{I} + \tkzDrawCircles(D,A A,B B,A F,A) + \tkzDrawSegments[new](O,G O,B O,D O,F) - \tkzDrawPoints(A,B,D,E,F,G,I,J) + \tkzDrawPoints(A,B,D,E,F,G,I,J) \tkzLabelPoints(A,B,D,E,F,G,I,J) - \tkzDrawSegments[blue](A,B B,D A,D% + \tkzDrawSegments(A,B B,D A,D% A,F F,G E,G B,E) \tkzMarkSegments[mark=s|](A,I I,J J,B) \end{tikzpicture} \end{tkzexample} -\subsubsection{With the option \tkzimp{with nodes}} +\subsubsection{With the option "\tkzimp{with nodes}"} \begin{tkzexample}[latex=6cm,small] \begin{tikzpicture}[scale=.5] \tkzDefPoints{0/0/a,0/5/B,5/0/C} \tkzDefPoint(54:5){F} - \tkzDrawCircle[color=gray](A,C) - \tkzInterCC[with nodes](A,A,C)(C,B,F) + \tkzInterCC[with nodes](A,A,C)(C,B,F) \tkzGetPoints{a}{e} \tkzInterCC(A,C)(a,e) \tkzGetFirstPoint{b} \tkzInterCC(A,C)(b,a) \tkzGetFirstPoint{c} \tkzInterCC(A,C)(c,b) \tkzGetFirstPoint{d} - \tkzDrawPoints(a,b,c,d,e) - \tkzDrawPolygon[color=red](a,b,c,d,e) + \tkzDrawCircle[new](A,C) + \tkzDrawPoints(a,b,c,d,e) + \tkzDrawPolygon(a,b,c,d,e) \foreach \vertex/\num in {a/36,b/108,c/180, d/252,e/324}{% \tkzDrawPoint(\vertex) - \tkzLabelPoint[label=\num:$\vertex$](\vertex){} - \tkzDrawSegment[color=gray,style=dashed](A,\vertex) - } + \tkzLabelPoint[label=\num:$\vertex$](\vertex){} + \tkzDrawSegment(A,\vertex) + } \end{tikzpicture} \end{tkzexample} - \endinput +\subsubsection{Mix of intersections} +\begin{tkzexample}[latex=8cm,small] +\begin{tikzpicture}[scale = .75] + \tkzDefPoint(2,2){A} + \tkzDefPoint(0,0){B} + \tkzDefPoint(-2,2){C} + \tkzDefPoint(0,4){D} + \tkzDefPoint(4,2){E} + \tkzCircumCenter(A,B,C)\tkzGetPoint{O} + \tkzInterCC[R](O,2)(D,2) \tkzGetPoints{M1}{M2} + \tkzInterCC(O,A)(D,O) \tkzGetPoints{1}{2} + \tkzInterLC(A,E)(B,M1) \tkzGetSecondPoint{M3} + \tkzInterLC(O,C)(M3,D) \tkzGetSecondPoint{L} + \tkzDrawSegments(C,L) + \tkzDrawPoints(A,B,C,D,E,M1,M2,M3,O,L) + \tkzDrawSegments(O,E) + \tkzDrawSegments[dashed](C,A D,B) + \tkzDrawPoint(O) + \tkzDrawCircles[dashed](M3,D B,M2 D,O) + \tkzDrawCircle(O,A) + \tkzLabelPoints(A,B,C,D,E,M1,M2,M3,O,L) +\end{tikzpicture} +\end{tkzexample} + +\subsubsection{An oval} + +\begin{tkzexample}[latex=7cm,small] + \begin{tikzpicture}[scale=0.4] + \tkzDefPoint(-4,0){I} + \tkzDefPoint(4,0){J} + \tkzDefPoint(0,0){O} + \tkzInterCC(J,O)(O,J) \tkzGetPoints{L}{H} + \tkzInterCC(I,O)(O,I) \tkzGetPoints{K}{G} + \tkzInterLL(I,K)(J,H) \tkzGetPoint{M} + \tkzInterLL(I,G)(J,L) \tkzGetPoint{N} + \tkzDefPointsBy[symmetry=center J](L,H){D,E} + \tkzDefPointsBy[symmetry=center I](G,K){C,F} + \begin{scope}[line style/.style = {very thin,teal}] + \tkzDrawLines[add=1.5 and 1.5](I,K I,G J,H J,L) + \tkzDrawLines[add=.5 and .5](I,J) + \tkzDrawPoints(H,L,K,G,I,J,D,E,C,F,M,N) + \tkzDrawCircles[R](O,4 I,4 J,4) + \tkzDrawArc(N,D)(C) + \tkzDrawArc(M,F)(E) + \tkzDrawArc(J,E)(D) + \tkzDrawArc(I,C)(F) + \end{scope} + \tkzLabelPoints(H,L,K,G,I,J,D,E,C,F,M,N) + \end{tikzpicture} +\end{tkzexample} +\endinput
\ No newline at end of file |