summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex
diff options
context:
space:
mode:
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.tex289
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