texlive[68806] Master/texmf-dist: tkz-elements (10nov23)
commits+karl at tug.org
commits+karl at tug.org
Fri Nov 10 22:41:33 CET 2023
Revision: 68806
https://tug.org/svn/texlive?view=revision&revision=68806
Author: karl
Date: 2023-11-10 22:41:33 +0100 (Fri, 10 Nov 2023)
Log Message:
-----------
tkz-elements (10nov23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/tkz-elements/README.md
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-convention.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-howtouse.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex
trunk/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circles.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipses.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_lines.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_points.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangles.lua
trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vectors.lua
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.pdf
trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.tex
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo-1.pdf
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/README.md 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/README.md 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
# tkz-elements — for euclidean geometry
-Release 1.00b 2023/10/25
+Release 1.20b 2023/11/10
## Description
@@ -66,8 +66,28 @@
## History
-- First version 1.00b
+ - Version 1.20 Memory management: tables are emptied when the tkzelements environment is opened.
+
+ `set_lua_to_tex` has been replaced by `tkzUseLua` to transfer data between the `tkzelements` and `tikzpicture` environments.
+
+ New version of `inversion` with respect to a circle method. It selects the correct algorithm based on the object passed as a parameter.
+
+ Added an `in_out_disk` method for the `circle` object, which indicates whether or not a point is in the disk. `in_out` is for the circle.
+
+ Added two methods: `radical_center (C1,C2,C3)` radical center of three circles.
+ `radical_circle (C1,C2,C3)` orthogonal circle of three circles.
+
+ Added function `circle : radius` to define a circle with a centre and a radius.
+
+ Added methods `normalize` and `normalize_inv` for `line`.
+
+ Added methods `translation` and `set_translation` to the `line` object.
+
+ Added an example to illustrate combinations of methods and attributes.
+
+ - First version 1.00b
+
## Author
Alain Matthes, 5 rue de Valence, Paris 75005, al (dot) ma (at) mac (dot) com
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -31,7 +31,7 @@
\subsubsection{Example: circle attributes} % (fold)
\label{ssub:example_circle_attributes}
-Three attributes are used (south, west, radius). Currently, \Igfct{package}{set\_lua\_to\_tex} (see \ref{ssub:transfer_from_lua_to_tex}) creates global macros. The |\r| macro must not already be defined.
+Three attributes are used (south, west, radius).
\begin{minipage}{0.5\textwidth}
\begin{tkzexample}[latex=0cm,small,code only]
@@ -43,7 +43,6 @@
z.s = C.ab.south
z.w = C.ab.west
r = C.ab.radius
- set_lua_to_tex{"r"}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -51,7 +50,7 @@
\tkzLabelPoints(a,b,s,w)
\tkzDrawCircle(a,b)
\tkzDrawSegment(a,b)
- \tkzLabelSegment[sloped](a,b){ab = \r}
+ \tkzLabelSegment[sloped](a,b){ab = \tkzUseLua{r}}
\end{tikzpicture}
\end{tkzexample}
\end{minipage}
@@ -64,7 +63,6 @@
z.s = C.ab.south
z.w = C.ab.west
r = C.ab.radius
- set_lua_to_tex{"r"}
\end{tkzelements}
\hspace*{\fill}
@@ -74,7 +72,7 @@
\tkzLabelPoints(a,b,s,w)
\tkzDrawCircle(a,b)
\tkzDrawSegment(a,b)
-\tkzLabelSegment[sloped](a,b){ab = \r}
+\tkzLabelSegment[sloped](a,b){ab = \tkzUseLua{r}}
\end{tikzpicture}
\hspace*{\fill}
\end{minipage}
@@ -95,6 +93,7 @@
\textbf{Methods} & \textbf{Comments} \\
\midrule \\
\Imeth{circle}{new(O,A)} & |C.OA = circle : new (z.O,z.A)| \tkzar circle center $O$ through $A$\\
+\Imeth{circle}{radius(O,r)} & |C.OA = circle : radius (z.O,2)| \tkzar circle center $O$ radius =2 cm\\
\midrule
\textbf{Points} &\\
\midrule
@@ -112,23 +111,30 @@
\Imeth{circle}{radical\_axis (C)} & \\
\Imeth{circle}{tangent\_at (pt)} & |z.P = C.OA: tangent_at (z.M)| $((PM) \perp (OM))$\\
\Imeth{circle}{tangent\_from (pt)}& |z.M,z.N = C.OA: tangent_from (z.P)| \\
+\Imeth{circle}{inversion (line)} & |L or C = C.AC:inversion (L.EF)|\\
\midrule
\textbf{Circles} &\\
\midrule
\Imeth{circle}{orthogonal\_from (pt)} & |C= C.OA: orthogonal_from (z.P)| \\
\Imeth{circle}{orthogonal\_through (pta,ptb)} & |C = C.OA: orthogonal_through (z.z1,z.z2)|\\
+\Imeth{circle}{inversion (circle)} & |L or C = C.AC:inversion (C.EF)|\\
+
\midrule
\textbf{Miscellaneous} &\\
\midrule
\Imeth{circle}{power (pt)} &| p = C.OA: power (z.M)| \tkzar power with respect to a circle \\
\Imeth{circle}{in\_out (pt)} & |C.OA : in_out (z.M)| \tkzar boolean \\
+\Imeth{circle}{in\_out\_disk (pt)} & |C.OA : in_out_disk (z.M)| \tkzar boolean \\
\Imeth{circle}{draw ()} & for further use\\
\bottomrule %
\end{tabular}
\end{center}
\egroup
-% subsubsection methods_circle (end)
+% subsection methods_circle (end)
+
+
+
\subsubsection{Altshiller} % (fold)
\label{ssub:altshiller}
@@ -252,6 +258,182 @@
\hspace*{\fill}
%\caption{Lemoine line}
% subsubsection lemoine (end)
+
+
+\subsubsection{Inversion: point, line and circle} % (fold)
+\label{ssub:inversion}
+
+The "inversion" method can be used on a point, a line or a circle. Depending on the type of object, the function determines the correct algorithm to use.
+
+\subsubsection{Inversion: point} % (fold)
+\label{ssub:inversion_point}
+
+The "inversion" method can be used on a point, a line or a circle. Depending on the type of object, the function determines the correct algorithm to use.
+\begin{tkzexample}[latex=0cm,small,code only]
+\begin{tkzelements}
+ scale = 1.5
+ z.o = point: new (-1,2)
+ z.a = point: new (2,1)
+ C.oa = circle: new (z.o,z.a)
+ z.c = point: new (3,4)
+ z.d = C.oa: inversion (z.c)
+ p = C.oa: power (z.c)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(o,a)
+ \tkzDrawSegments(o,a o,c)
+ \tkzDrawPoints(a,o,c,d)
+ \tkzLabelPoints(a,o,c,d)
+ \tkzLabelSegment[sloped,above=1em](c,d){La puissance de c est \tkzUseLua{p}}
+ \end{tikzpicture}
+\end{tkzexample}
+
+\begin{tkzelements}
+ scale = 1.5
+ z.o = point: new (-1,2)
+ z.a = point: new (2,1)
+ C.oa = circle: new (z.o,z.a)
+ z.c = point: new (3,4)
+ z.d = C.oa: inversion (z.c)
+ p = C.oa: power (z.c)
+\end{tkzelements}
+\hspace*{\fill}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(o,a)
+ \tkzDrawSegments(o,a o,c)
+ \tkzDrawPoints(a,o,c,d)
+ \tkzLabelPoints(a,o,c,d)
+ \tkzLabelSegment[sloped,above=1em](c,d){La puissance de c est \tkzUseLua{p}}
+ \end{tikzpicture}
+\hspace*{\fill}
+
+\subsubsection{Inversion: line} % (fold)
+\label{ssub:inversion_line}
+
+The result is either a straight line or a circle.
+
+\begin{tkzexample}[latex=0cm,small,code only]
+\begin{tkzelements}
+ scale = 1
+ z.o = point: new (-1,1)
+ z.a = point: new (1,3)
+ C.oa = circle: new (z.o,z.a)
+ z.c = point: new (3,2)
+ z.d = point: new (0,4)
+ L.cd = line: new (z.c,z.d)
+ C.OH = C.oa: inversion (L.cd)
+ z.O,z.H = get_points(C.OH)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(o,a O,H)
+ \tkzDrawLines(c,d o,H)
+ \tkzDrawPoints(a,o,c,d,H)
+ \tkzLabelPoints(a,o,c,d,H)
+ \end{tikzpicture}
+\end{tkzexample}
+
+
+\begin{tkzelements}
+ scale = 1
+ z.o = point: new (-1,1)
+ z.a = point: new (1,3)
+ C.oa = circle: new (z.o,z.a)
+ z.c = point: new (3,2)
+ z.d = point: new (0,4)
+ L.cd = line: new (z.c,z.d)
+ C.OH = C.oa: inversion (L.cd)
+ z.O,z.H = get_points(C.OH)
+\end{tkzelements}
+
+\hspace*{\fill}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(o,a O,H)
+ \tkzDrawLines(c,d o,H)
+ \tkzDrawPoints(a,o,c,d,H)
+ \tkzLabelPoints(a,o,c,d,H)
+ \end{tikzpicture}
+ \hspace*{\fill}
+
+ \subsubsection{Inversion: circle} % (fold)
+ \label{ssub:inversion_circle}
+
+The result is either a straight line or a circle.
+
+\begin{tkzexample}[latex=0cm,small,code only]
+ \begin{tkzelements}
+ scale = 1
+ z.o = point: new (-1,1)
+ z.a = point: new (2,3)
+ C.oa = circle: new (z.o,z.a)
+ z.c = point: new (-2,1)
+ z.e = point: new (-2,8)
+ z.d = point: new (-2,5)
+ C.ed = circle: new (z.e,z.d)
+ C.co = circle: new (z.c,z.o)
+ obj = C.oa: inversion (C.co)
+ if obj.type == "line"
+ then
+ z.p,z.q = get_points(obj)
+ else
+ z.O,z.H = get_points(obj)
+ end
+ obj = C.oa: inversion(C.ed)
+ if obj.type == "line"
+ then
+ z.p,z.q = get_points(obj)
+ else
+ z.O,z.H = get_points(obj)
+ end
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(o,a c,o e,d O,H)
+ \tkzDrawLines(p,q)
+ \tkzDrawPoints(a,o,c,d,e,p,q,O,H)
+ \tkzLabelPoints(a,o,c,d,e,p,q,O,H)
+ \end{tikzpicture}
+\end{tkzexample}
+
+ \begin{tkzelements}
+ scale = 1
+ z.o = point: new (-1,1)
+ z.a = point: new (2,3)
+ C.oa = circle: new (z.o,z.a)
+ z.c = point: new (-2,1)
+ z.e = point: new (-2,8)
+ z.d = point: new (-2,5)
+ C.ed = circle: new (z.e,z.d)
+ C.co = circle: new (z.c,z.o)
+ obj = C.oa: inversion (C.co)
+ if obj.type == "line"
+ then
+ z.p,z.q = get_points(obj)
+ else
+ z.O,z.H = get_points(obj)
+ end
+ obj = C.oa: inversion(C.ed)
+ if obj.type == "line"
+ then
+ z.p,z.q = get_points(obj)
+ else
+ z.O,z.H = get_points(obj)
+ end
+ \end{tkzelements}
+
+\hspace*{\fill}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(o,a c,o e,d O,H)
+ \tkzDrawLines(p,q)
+ \tkzDrawPoints(a,o,c,d,e,p,q,O,H)
+ \tkzLabelPoints(a,o,c,d,e,p,q,O,H)
+ \end{tikzpicture}
+ \hspace*{\fill}
+% subsubsection inversion (end)
% subsection methods_of_the_class_circle (end)
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -56,13 +56,12 @@
z.S = E.south
z.Co = E.covertex
z.Ve = E.vertex
- set_lua_to_tex {'a','b','slope'}
\end{tkzelements}
\begin{tikzpicture}
\pgfkeys{/pgf/number format/.cd,fixed,precision=2}
\tkzGetNodes
\tkzDrawCircles[teal](C,A)
- \tkzDrawEllipse[red](C,\a,\b,\slope)
+ \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
\tkzDrawPoints(C,A,B,b,W,S,F1,F2)
\tkzLabelPoints(C,A,B)
\tkzDrawLine[add = .5 and .5](A,W)
@@ -94,7 +93,6 @@
z.S = E.south
z.Co = E.covertex
z.Ve = E.vertex
-set_lua_to_tex {'a','b','slope'}
\end{tkzelements}
\hspace*{\fill}
@@ -102,11 +100,11 @@
\pgfkeys{/pgf/number format/.cd,fixed,precision=2}
\tkzGetNodes
\tkzDrawCircles[teal](C,A)
-\tkzDrawEllipse[red](C,\a,\b,\slope)
+\tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
\tkzDrawPoints(C,A,B,b,W,S,F1,F2)
\tkzLabelPoints(C,A,B)
\tkzDrawLine[add = .5 and .5](A,W)
-\tkzLabelSegment[pos=1.5,above,sloped](A,W){slope = \pgfmathprintnumber{\slope}}
+\tkzLabelSegment[pos=1.5,above,sloped](A,W){slope = \pgfmathprintnumber{\tkzUseLua{slope}}}
\tkzLabelPoint[below](S){South}
\tkzLabelPoint[below left](F1){Focus 1}
\tkzLabelPoint[below left](F2){Focus 2}
@@ -165,12 +163,11 @@
a = E.Rx
b = E.Ry
slope = math.deg(E.Sl)
- set_lua_to_tex {'a','b','slope'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawCircles[teal](C,A)
- \tkzDrawEllipse[red](C,\a,\b,\slope)
+ \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
\tkzDrawPoints(C,A,B)
\tkzLabelPoints(C,A,B)
\end{tikzpicture}
@@ -186,12 +183,11 @@
a = E.Rx
b = E.Ry
slope = math.deg(E.slope)
-set_lua_to_tex {'a','b','slope'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawCircles[teal](C,A)
-\tkzDrawEllipse[red](C,\a,\b,\slope)
+\tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
\tkzDrawPoints(C,A,B)
\tkzLabelPoints(C,A,B)
\end{tikzpicture}
@@ -230,7 +226,6 @@
z.R,z.S = intersection (L.XO,E)
a,b = E.Rx,E.Ry
ang = math.deg(E.slope)
- set_lua_to_tex{'a','b','ang'}
\end{tkzelements}
\end{tkzexample}
\begin{minipage}{0.6\textwidth}
@@ -240,7 +235,7 @@
\tkzDrawPolygon(A,B,C)
\tkzDrawCircles[cyan](O,A N,I)
\tkzDrawSegments(X,R A,X)
- \tkzDrawEllipse[red](N,\a,\b,\ang)
+ \tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\tkzDrawLines[add=.2 and .5](I,H)
\tkzDrawPoints(A,B,C,N,O,X,H,R,S,I)
\tkzLabelPoints[above](C,X)
@@ -275,7 +270,6 @@
z.R,z.S = intersection (L.XO,E)
a,b = E.Rx,E.Ry
ang = math.deg(E.slope)
- set_lua_to_tex{'a','b','ang'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -282,7 +276,7 @@
\tkzDrawPolygon(A,B,C)
\tkzDrawCircles[cyan](O,A N,I)
\tkzDrawSegments(X,R A,X)
-\tkzDrawEllipse[red](N,\a,\b,\ang)
+\tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\tkzDrawLines[add=.2 and .5](I,H)
\tkzDrawPoints(A,B,C,N,O,X,H,R,S,I)
\tkzLabelPoints[above](C,X)
@@ -321,7 +315,6 @@
z.N = L.tb.pb
L.K = E :tangent_at (z.K)
z.ka,z.kb = get_points(L.K)
- set_lua_to_tex {'a','b','ang'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -329,7 +322,7 @@
\tkzDrawLines(x,y A,M A,N ka,kb)
\tkzLabelSegment(C,V){$a$}
\tkzLabelSegment[right](C,CoV){$b$}
- \tkzDrawEllipse[teal](C,\a,\b,\ang)
+ \tkzDrawEllipse[teal](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\tkzDrawPoints(C,V,CoV,X,x,y,M,N,A,K)
\tkzLabelPoints(C,V,A,M,N,K)
\tkzLabelPoints[above left](CoV)
@@ -356,7 +349,6 @@
z.N = L.tb.pb
L.K = E :tangent_at (z.K)
z.ka,z.kb = get_points(L.K)
-set_lua_to_tex {'a','b','ang'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -364,7 +356,7 @@
\tkzDrawLines(x,y A,M A,N ka,kb)
\tkzLabelSegment(C,V){$a$}
\tkzLabelSegment[right](C,CoV){$b$}
-\tkzDrawEllipse[teal](C,\a,\b,\ang)
+\tkzDrawEllipse[teal](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\tkzDrawPoints(C,V,CoV,X,x,y,M,N,A,K)
\tkzLabelPoints(C,V,A,M,N,K)
\tkzLabelPoints[above left](CoV)
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -50,7 +50,6 @@
z.s = L.ab.south_pb
sl = L.ab.slope
len = L.ab.length
- set_lua_to_tex{"sl","len"}
\end{tkzelements}
\begin{tikzpicture}
@@ -59,8 +58,8 @@
\tkzLabelPoints(a,b,e,r,s,w)
\tkzLabelPoints[above](m)
\tkzDrawLine(a,b)
- \tkzLabelSegment[sloped](a,b){ab = \len}
- \tkzLabelSegment[above=12pt,sloped](a,b){slope of (ab) = \sl}
+ \tkzLabelSegment[sloped](a,b){ab = \tkzUseLua{len}}
+ \tkzLabelSegment[above=12pt,sloped](a,b){slope of (ab) = \tkzUseLua{sl}}
\end{tikzpicture}
\end{tkzexample}
@@ -76,7 +75,6 @@
z.s = L.ab.south_pb
sl = L.ab.slope
len = L.ab.length
-set_lua_to_tex{"sl","len"}
\end{tkzelements}
\hspace*{\fill}
@@ -86,8 +84,8 @@
\tkzLabelPoints(a,b,e,r,s,w)
\tkzLabelPoints[above](m)
\tkzDrawLine(a,b)
-\tkzLabelSegment[sloped](a,b){ab = \len}
-\tkzLabelSegment[above=12pt,sloped](a,b){slope of (ab) = \sl}
+\tkzLabelSegment[sloped](a,b){ab = \tkzUseLua{len}}
+\tkzLabelSegment[above=12pt,sloped](a,b){slope of (ab) = \tkzUseLua{sl}}
\end{tikzpicture}
\hspace*{\fill}
% \caption{Class Line}
@@ -160,6 +158,8 @@
\textbf{Points} &\\
\midrule
\Imeth{line}{gold\_ratio ()} & |z.C = L.AB : gold_ratio()| \tkzar gold ratio \\
+\Imeth{line}{normalize ()} & |z.C = L.AB : normalize()| \tkzar AC =1 and $C\in (AB)$ \\
+\Imeth{line}{normalize_inv ()} & |z.C = L.AB : normalize_inv()| \tkzar CB =1 and $C\in (AB)$ \\
\Imeth{line}{barycenter (ka,kb)} & |z.C = L.AB : barycenter (1,2)| $C$ --> barycenter of |{(A,1)(B,2)}|\\
\Imeth{line}{point (t)} & |z.C = L.AB : point (2)| \tkzar $\overrightarrow{AC} = 2\overrightarrow{AB}$\\
\Imeth{line}{midpoint ()} & |z.M = L.AB : midpoint ()| \tkzar better is |z.M = L.AB.mid| \\
@@ -170,6 +170,9 @@
\Imeth{line}{set\_projection (...)} & projection of a list of points \\
\Imeth{line}{symmetry\_axial ( pt )} & |z.Cp = L.AB : symmetry_axial (z.C)|\\
\Imeth{line}{set\_symmetry\_axial (...) }&symmetry_axial of a list of points \\
+\Imeth{line}{translation ( pt )} & |z.Cp = L.AB : translation (z.C)|\\
+\Imeth{line}{set\_translation(...) }&translation of a list of points \\
+
\Imeth{line}{square ()} & |z.C,z.D = L.AB : square () | \tkzar creates 2 points to make a square.\\
\midrule
\textbf{Lines} &\\
@@ -367,6 +370,50 @@
% subsubsection example_combination_of_methods (end)
+\subsubsection{Example: translation} % (fold)
+\label{ssub:example_translation}
+
+\begin{minipage}{0.6\textwidth}
+\begin{tkzexample}[small,code only]
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (1,2)
+ z.C = point: new (-3,2)
+ z.D = point: new (0,2)
+ L.AB = line : new (z.A,z.B)
+ -- z.E = L.AB : translation (z.C)
+ z.E,z.F = L.AB : set_translation (z.C,z.D)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPoints(A,...,F)
+\tkzLabelPoints(A,...,F)
+\tkzDrawSegments[->,red,> =latex](C,E D,F A,B) )
+\end{tikzpicture}
+\end{tkzexample}
+\end{minipage}
+\begin{minipage}{0.4\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (1,2)
+ z.C = point: new (-3,2)
+ z.D = point: new (0,2)
+ L.AB = line : new (z.A,z.B)
+ -- z.E = L.AB : translation (z.C)
+ z.E,z.F = L.AB : set_translation (z.C,z.D)
+\end{tkzelements}
+\hspace*{\fill}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPoints(A,...,F)
+\tkzLabelPoints(A,...,F)
+\tkzDrawSegments[->,red,> =latex](C,E D,F A,B) )
+\end{tikzpicture}
+\hspace*{\fill}
+\end{minipage}
+
+% subsubsection example_translation (end)
+
\subsubsection{Example: distance and projection} % (fold)
\label{ssub:example_distance_and_projection}
@@ -379,7 +426,6 @@
L.AB = line : new (z.A,z.B)
d = L.AB : distance (z.C)
z.H = L.AB : projection (z.C)
- set_lua_to_tex{'d'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -387,7 +433,7 @@
\tkzDrawPoints(A,B,C,H)
\tkzLabelPoints(A,B,C,H)
\tkzLabelSegment[above left,
- draw](C,H){$CH = \d$}
+ draw](C,H){$CH = \tkzUseLua{d}$}
\end{tikzpicture}
\end{tkzexample}
\end{minipage}
@@ -399,7 +445,6 @@
L.AB = line : new (z.A,z.B)
d = L.AB : distance (z.C)
z.H = L.AB : projection (z.C)
- set_lua_to_tex{'d'}
\end{tkzelements}
\hspace*{\fill}
\begin{tikzpicture}
@@ -407,7 +452,7 @@
\tkzDrawLines(A,B C,H)
\tkzDrawPoints(A,B,C,H)
\tkzLabelPoints(A,B,C,H)
-\tkzLabelSegment[above left,draw](C,H){$CH = \d$}
+\tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
\end{tikzpicture}
\hspace*{\fill}
\end{minipage}
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -21,9 +21,13 @@
\Igfct{math}{islinear (z1,z2,z3) } & Are the points aligned? (z2-z1) $\parallel$ (z3-z1) ? \\
\Igfct{math}{isortho (z1,z2,z3)} & (z2-z1) $\perp$ (z3-z1) ? boolean\\
\Igfct{package}{set\_lua\_to\_tex (list)} & set\_lua\_to\_tex('a','n') defines |\a| and |\n| \\
+\Igfct{package}{tkzUseLua (variable)} & |\textbackslash\tkzUseLua{a}| prints the value of a\\
%parabola (a,b,c) & to get \\
-\Igfct{math}{value (v) } & apply |scale| to the value \\
+\Igfct{math}{value (v) } & apply |scale * value | \\
+\Igfct{math}{real (v) } & apply | value /scale | \\
\Igfct{math}{angle\_normalize (a) } & to get a value between 0 and $2\pi$ \\
+\Igfct{math}{radical\_center (C1,C2,C3)} & see \ref{sub:radical_center} \\
+\Igfct{math}{radical\_circle (C1,C2,C3)} & see \ref{sub:radical_circle} \\
\bottomrule
\end{tabular}
\end{center}
@@ -108,9 +112,6 @@
% subsubsection function_islinear (end)
-
-
-
\subsubsection{Function \tkzfname{value} }% (fold)
\label{ssub:function_value}
@@ -118,15 +119,59 @@
If |scale = 1.2| with a = value(5) the actual value of |a| will be $5\times 1.2 = 6$.
-
% subsubsection function_value (end)
+\subsubsection{Function \tkzfname{real} }% (fold)
+\label{ssub:function_real}
+
+If |scale = 1.2| with a = 6 then real(a) = $6 / 1.2 = 5$ .
+
+% subsubsection function_real (end)
+
+
\subsubsection{Transfer from lua to \TEX} % (fold)
\label{ssub:transfer_from_lua_to_tex}
+It's possible to transfer variable from Lua to \TEX{} with
+\Igfct{package}{\textbackslash{tkzUseLua}} in the environment "tikzpicture".
- \Igfct{package}{set\_lua\_to\_tex (list)}
-see examples \ref{ssub:get_angle}, \ref{ssub:dot_or_scalar_product}
+\begin{tkzexample}[latex=0cm,small,code only]
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (4 , 3)
+ z.C = point : new (2 , 5)
+ L.AB = line : new (z.A,z.B)
+ d = L.AB : distance (z.C)
+ l = L.AB.length
+ z.H = L.AB : projection (z.C)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLines(A,B C,H)
+\tkzDrawPoints(A,B,C,H)
+\tkzLabelPoints(A,B,C,H)
+\tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
+\tkzLabelSegment[below left,draw](C,H){$AB = \tkzUseLua{l}$}
+\end{tikzpicture}
+\end{tkzexample}
+
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (4 , 3)
+ z.C = point : new (2 , 5)
+ L.AB = line : new (z.A,z.B)
+ d = L.AB : distance (z.C)
+ l = L.AB.length
+ z.H = L.AB : projection (z.C)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLines(A,B C,H)
+\tkzDrawPoints(A,B,C,H)
+\tkzLabelPoints(A,B,C,H)
+\tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
+\tkzLabelSegment[below left,draw](C,H){$AB = \tkzUseLua{l}$}
+\end{tikzpicture}
% subsubsection transfer_from_lua_to_tex (end)
\subsubsection{Normalized angles : Slope of lines (ab), (ac) and (ad)} % (fold)
@@ -197,7 +242,6 @@
z.c = point: new(0, 3)
angcb = tkzround ( get_angle (z.a,z.c,z.b),3)
angbc = tkzround ( get_angle (z.a,z.b,z.c),3)
- set_lua_to_tex{"angcb","angbc"}
\end{tkzelements}
\begin{tikzpicture}
@@ -206,9 +250,9 @@
\tkzDrawPoints(a,b,c)
\tkzLabelPoints(a,b,c)
\tkzMarkAngle[->](c,a,b)
- \tkzLabelAngle(c,a,b){\angcb}
+ \tkzLabelAngle(c,a,b){\tkzUseLua{angcb}}
\tkzMarkAngle[->](b,a,c)
- \tkzLabelAngle(b,a,c){\angbc}
+ \tkzLabelAngle(b,a,c){\tkzUseLua{angbc}}
\end{tikzpicture}
\end{tkzexample}
\end{minipage}
@@ -220,7 +264,6 @@
z.c = point: new(0, 3)
angcb = tkzround ( get_angle (z.a,z.c,z.b),3)
angbc = tkzround ( get_angle (z.a,z.b,z.c),3)
- set_lua_to_tex{"angcb","angbc"}
\end{tkzelements}
\hspace*{\fill}
@@ -230,9 +273,9 @@
\tkzDrawPoints(a,b,c)
\tkzLabelPoints(a,b,c)
\tkzMarkAngle[->](c,a,b)
-\tkzLabelAngle(c,a,b){\angcb}
+\tkzLabelAngle(c,a,b){\tkzUseLua{angcb}}
\tkzMarkAngle[->](b,a,c)
-\tkzLabelAngle(b,a,c){\angbc}
+\tkzLabelAngle(b,a,c){\tkzUseLua{angbc}}
\end{tikzpicture}
\hspace*{\fill}
\end{minipage}
@@ -254,7 +297,6 @@
z.B_1,
z.C_1 = get_points (T.ABC: anti ())
x = dot_product (z.A,z.B,z.C)
- set_lua_to_tex{"x"}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -262,6 +304,7 @@
\tkzDrawPoints(A,B,C,A_1,B_1,C_1)
\tkzLabelPoints(A,B,C,A_1,B_1,C_1)
\tkzDrawPolygon[blue](A_1,B_1,C_1)
+ \tkzText[right](0,-1){dot product =\tkzUseLua{x}}
\end{tikzpicture}
\end{tkzexample}
\end{minipage}
@@ -276,7 +319,6 @@
z.B_1,
z.C_1 = get_points (T.ABC: anti ())
x = dot_product (z.A,z.B,z.C)
- set_lua_to_tex{"x"}
\end{tkzelements}
\hspace*{\fill}
\begin{tikzpicture}
@@ -285,6 +327,7 @@
\tkzDrawPoints(A,B,C,A_1,B_1,C_1)
\tkzLabelPoints(A,B,C,A_1,B_1,C_1)
\tkzDrawPolygon[blue](A_1,B_1,C_1)
+ \tkzText[right](0,-1){dot product =\tkzUseLua{x}}
\end{tikzpicture}
\hspace*{\fill}
\end{minipage}
@@ -291,8 +334,7 @@
%\caption{Dot or scalar product}
-
-The scalar product of the vectors $\overrightarrow{AC}$ and $\overrightarrow{AB}$ is equal to $\x$, so these vectors are orthogonal.
+The scalar product of the vectors $\overrightarrow{AC}$ and $\overrightarrow{AB}$ is equal to $\tkzUseLua{x}$, so these vectors are orthogonal.
% subsubsection dot_or_scalar_product (end)
\subsubsection{Alignment or orthogonality} % (fold)
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -47,7 +47,6 @@
ty = z.a.type
arg = z.a.argument
m = z.a.modulus
- set_lua_to_tex{"x","y","ty","arg","m"}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -57,7 +56,7 @@
\tkzLabelPoints[above](O,a)
\tkzLabelPoint[below](a){
\begin{minipage} {5cm}
- x=\x\\ y=\y\\ type =\ty\\ argument = \arg \\ module = \m
+ x=\tkzUseLua{x}\\ y=\tkzUseLua{y}\\ type =\tkzUseLua{ty}\\ argument = \tkzUseLua{arg} \\ module = \tkzUseLua{m}
\end{minipage}}
\end{tikzpicture}
\end{tkzexample}
@@ -70,7 +69,6 @@
ty = z.a.type
arg = z.a.argument
m = z.a.modulus
- set_lua_to_tex{"x","y","ty","arg","m"}
\end{tkzelements}
\hspace*{\fill}
@@ -82,7 +80,9 @@
\tkzLabelPoints[above](O,a)
\tkzLabelPoint[below right](a){
\begin{minipage} {5cm}
- x=\x\\ y=\y\\ type =\ty\\ argument = \arg \\ module = \m
+ x=\tkzUseLua{x}\\ y=\tkzUseLua{y}\\
+ type =\tkzUseLua{ty}\\ argument = \tkzUseLua{arg} \\
+ module = \tkzUseLua{m}
\end{minipage}}
\end{tikzpicture}
\hspace*{\fill}
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -54,7 +54,6 @@
alpha = T.abc.alpha
beta = T.abc.beta
gamma = T.abc.gamma
- set_lua_to_tex{"a","b","c","alpha","beta","gamma"}
\end{tkzelements}
\begin{tikzpicture}
@@ -64,8 +63,8 @@
\tkzLabelPoints(a,b,c,O,G,I)
\tkzLabelPoints[above right](H)
\tkzDrawCircles(O,a)
- \tkzLabelSegment[sloped](a,b){\c}
- \tkzLabelSegment[sloped,above](b,c){\a}
+ \tkzLabelSegment[sloped](a,b){\tkzUseLua{c}}
+ \tkzLabelSegment[sloped,above](b,c){\tkzUseLua{a}}
\end{tikzpicture}
\end{tkzexample}
@@ -85,7 +84,6 @@
alpha = T.abc.alpha
beta = T.abc.beta
gamma = T.abc.gamma
- set_lua_to_tex{"a","b","c","alpha","beta","gamma"}
\end{tkzelements}
\hspace*{\fill}
@@ -96,8 +94,8 @@
\tkzLabelPoints(a,b,c,O,G,I)
\tkzLabelPoints[above right](H)
\tkzDrawCircles(O,a)
-\tkzLabelSegment[sloped](a,b){\c}
-\tkzLabelSegment[sloped,above](b,c){\a}
+\tkzLabelSegment[sloped](a,b){\tkzUseLua{c}}
+\tkzLabelSegment[sloped,above](b,c){\tkzUseLua{a}}
\end{tikzpicture}
\hspace*{\fill}
% \caption{Class Triangle}
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-convention.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-convention.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-convention.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -20,9 +20,9 @@
There are two cases. Either you want to keep the point to use it with the package that will allow you to draw, or the point is intermediate and you can abandon it.
\vspace{12pt}
-In the second case, simply don't store the point in the |z| table. For example, |A = point : new (1,2)| defines a point $A$ that will not be transferred. Another way of avoiding a transfer is to assign |nil| to the point: |z.A = nil| before exiting the environment \tkzNameEnv{elements}.
+In the second case, simply don't store the point in the |z| table. For example, |A = point : new (1,2)| defines a point $A$ that will not be transferred. Another way of avoiding a transfer is to assign |nil| to the point: |z.A = nil| before exiting the environment \tkzNameEnv{tkzelements}.
- In the first case, you must store the point in the table |z|. The points which occur in the environment \tkzNameEnv{elements} must respect a convention which is |z.name| such that |name| will be the name of the corresponding \tkzname{node}. \footnote{ However, that a point can be deleted with |z.name = nil|.}
+ In the first case, you must store the point in the table |z|. The points which occur in the environment \tkzNameEnv{tkzelements} must respect a convention which is |z.name| such that |name| will be the name of the corresponding \tkzname{node}. \footnote{ However, that a point can be deleted with |z.name = nil|.}
What are the conventions for designating |name|? You have to respect the Lua conventions in particular cases.
\begin{enumerate}
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -828,7 +828,7 @@
%
% subsection excircle (end)
-\subsection{In/Out of a circle} % (fold)
+\subsection{In/Out of a circle or a disk} % (fold)
\label{sub:in_out_of_a_circle}
@@ -839,7 +839,7 @@
z.B = point: new (1,2)
z.X = point: new (-2,2)
C = circle : new (z.A,z.B)
- if C:in_out(z.X)
+ if C:in_out(z.X) -- in_out_disk
then
tex.print("In")
else
@@ -1024,7 +1024,6 @@
L.J,L.K = E: tangent_from (z.L)
z.J = L.J.pb
z.K = L.K.pb
-set_lua_to_tex {'a','b'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -1031,7 +1030,7 @@
\tkzDrawPoints(F1,F2,O)
\tkzDrawCircles[teal](O,P)
\tkzDrawPolygon(H,O,A,P)
-\tkzDrawEllipse[red](O,\a,\b,0)
+\tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0)
\tkzDrawSegments[orange](O,P O,L L,J L,K)
\tkzDrawPoints(F1,F2,O,H,A,P,L,J,K)
\tkzLabelPoints(F1,F2,O,H,A,P,L,J,K)
@@ -1055,7 +1054,6 @@
L.J,L.K = E: tangent_from (z.L)
z.J = L.J.pb
z.K = L.K.pb
-set_lua_to_tex {'a','b'}
\end{tkzelements}
@@ -1065,7 +1063,7 @@
\tkzDrawPoints(F1,F2,O)
\tkzDrawCircles[teal](O,P)
\tkzDrawPolygon(H,O,A,P)
-\tkzDrawEllipse[red](O,\a,\b,0)
+\tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0)
\tkzDrawSegments[orange](O,P O,L L,J L,K)
\tkzDrawPoints(F1,F2,O,H,A,P,L,J,K)
\tkzLabelPoints(F1,F2,O,H,A,P,L,J,K)
@@ -1087,7 +1085,6 @@
d = L.AB : distance (z.C)
l = L.AB.length
z.H = L.AB : projection (z.C)
- set_lua_to_tex{'d','l'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -1094,8 +1091,8 @@
\tkzDrawLines(A,B C,H)
\tkzDrawPoints(A,B,C,H)
\tkzLabelPoints(A,B,C,H)
- \tkzLabelSegment[above left,draw](C,H){$CH = \d$}
- \tkzLabelSegment[below left,draw](C,H){$AB = \l$}
+ \tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
+ \tkzLabelSegment[below left,draw](C,H){$AB =\tkzUseLua{l}$}
\end{tikzpicture}
\end{tkzexample}
@@ -1107,7 +1104,6 @@
d = L.AB : distance (z.C)
l = L.AB.length
z.H = L.AB : projection (z.C)
-set_lua_to_tex{'d','l'}
\end{tkzelements}
\hspace*{\fill}
@@ -1116,8 +1112,8 @@
\tkzDrawLines(A,B C,H)
\tkzDrawPoints(A,B,C,H)
\tkzLabelPoints(A,B,C,H)
-\tkzLabelSegment[above left,draw](C,H){$CH = \d$}
-\tkzLabelSegment[below left,draw](C,H){$AB = \l$}
+\tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
+\tkzLabelSegment[below left,draw](C,H){$AB =\tkzUseLua{l}$}
\end{tikzpicture}
\hspace*{\fill}
%\caption{Distance to a line}
@@ -1212,12 +1208,12 @@
a = E.Rx
b = E.Ry
slope = math.deg(E.slope)
- set_lua_to_tex {'a','b','slope'}
+
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawCircles[teal](C,A)
- \tkzDrawEllipse[red](C,\a,\b,\slope)
+ \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
\tkzDrawPoints(C,A,B,b)
\tkzLabelPoints(C,A,B)
\end{tikzpicture}
@@ -1234,7 +1230,6 @@
a = E.Rx
b = E.Ry
slope = math.deg(E.slope)
-set_lua_to_tex {'a','b','slope'}
\end{tkzelements}
\hspace*{\fill}
@@ -1241,7 +1236,7 @@
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawCircles[teal](C,A)
- \tkzDrawEllipse[red](C,\a,\b,\slope)
+ \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
\tkzDrawPoints(C,A,B,b)
\tkzLabelPoints(C,A,B)
\end{tikzpicture}
@@ -1264,11 +1259,10 @@
E = ellipse: radii (z.C,a,b,math.pi/4)
z.V = E : point (0)
z.CoV = E : point (math.pi/2)
-set_lua_to_tex {'a','b','ang'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
-\tkzDrawEllipse[blue](C,\a,\b,\ang)
+\tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\tkzDrawPoints(C,V,CoV)
\end{tikzpicture}
\end{tkzexample}
@@ -1283,13 +1277,12 @@
E = ellipse: radii (z.C,a,b,math.pi/4)
z.V = E : point (0)
z.CoV = E : point (math.pi/2)
-set_lua_to_tex {'a','b','ang'}
\end{tkzelements}
\hspace*{\fill}
\begin{tikzpicture}
\tkzGetNodes
-\tkzDrawEllipse[blue](C,\a,\b,\ang)
+\tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\tkzDrawPoints(C,V,CoV)
\end{tikzpicture}
\hspace*{\fill}
@@ -1318,13 +1311,12 @@
L.ta,L.tb = E: tangent_from (z.K)
z.F = L.ta.pb
z.G = L.tb.pb
- set_lua_to_tex{'a','b','ang'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPoints(A,B,C,K,F,G,V,cV)
\tkzLabelPoints(A,B,C,K,F,G,V,cV)
- \tkzDrawEllipse[teal](C,\a,\b,\ang)
+ \tkzDrawEllipse[teal](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\tkzDrawLines(K,F K,G)
\end{tikzpicture}
\end{tkzexample}
@@ -1347,7 +1339,6 @@
L.ta,L.tb = E: tangent_from (z.K)
z.F = L.ta.pb
z.G = L.tb.pb
-set_lua_to_tex{'a','b','ang'}
\end{tkzelements}
\hspace*{\fill}
@@ -1355,7 +1346,7 @@
\tkzGetNodes
\tkzDrawPoints(A,B,C,K,F,G,V,cV)
\tkzLabelPoints(A,B,C,K,F,G,V,cV)
- \tkzDrawEllipse[teal](C,\a,\b,\ang)
+ \tkzDrawEllipse[teal](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\tkzDrawLines(K,F K,G)
\end{tikzpicture}
\hspace*{\fill}
@@ -2268,6 +2259,7 @@
L.aap = line : new (z.a,z.ap)
L.bbp = line : new (z.b,z.bp)
z.X = intersection (L.aap,L.bbp)
+-- or z.X = radical_center(C.Ox,C.Pz,C.Opy)
L.OOp = line : new (z.O,z.Op)
z.H = L.OOp : projection (z.X)
\end{tkzelements}
@@ -2311,6 +2303,64 @@
\hspace*{\fill}
%\caption{Radical center}
% subsection radical_center (end)
+
+\subsection{Radical circle} % (fold)
+\label{sub:radical_circle}
+
+\begin{tkzexample}[latex=0cm,small,code only]
+\begin{tkzelements}
+ scale = .25
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ C.exa = T.ABC : ex_circle ()
+ z.I_a,z.Xa = get_points (C.exa)
+ C.exb = T.ABC : ex_circle (1)
+ z.I_b,z.Xb = get_points (C.exb)
+ C.exc = T.ABC : ex_circle (2)
+ z.I_c,z.Xc = get_points (C.exc)
+ C.ortho = radical_circle (C.exa,C.exb,C.exc)
+ z.w,z.a = get_points (C.ortho)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
+ \tkzDrawCircles[red,thick](w,a)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+\begin{tkzelements}
+ scale = .25
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ C.exa = T.ABC : ex_circle ()
+ z.I_a,z.Xa = get_points (C.exa)
+ C.exb = T.ABC : ex_circle (1)
+ z.I_b,z.Xb = get_points (C.exb)
+ C.exc = T.ABC : ex_circle (2)
+ z.I_c,z.Xc = get_points (C.exc)
+ C.ortho = radical_circle (C.exa,C.exb,C.exc)
+ z.w,z.a = get_points (C.ortho)
+\end{tkzelements}
+
+\hspace*{\fill}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
+ \tkzDrawCircles[red,thick](w,a)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+\end{tikzpicture}
+\hspace*{\fill}
+%\caption{Radical circle}
+% subsection radical_circle (end)
\subsection{Hexagram} % (fold)
\label{sub:hexagram}
@@ -2350,7 +2400,6 @@
z.U = intersection (L.XO,E)
_,z.V = intersection (L.YO,E)
_,z.W = intersection (L.ZO,E)
- set_lua_to_tex {'a','b','ang'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -2364,7 +2413,7 @@
\tkzLabelPoints[blue,right](O,N,G,H,I,J)
\tkzDrawPoints(I,J,U,V,W)
\tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
- \tkzDrawEllipse[blue](N,\a,\b,\ang)
+ \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\end{tikzpicture}
\end{tkzexample}
@@ -2404,8 +2453,7 @@
z.x = intersection (L.BC,L.XO)
z.U = intersection (L.XO,E)
_,z.V = intersection (L.YO,E)
-_,z.W = intersection (L.ZO,E)
-set_lua_to_tex {'a','b','ang'}
+_,z.W = intersection (L.ZO,E)
\end{tkzelements}
\hspace*{\fill}
@@ -2421,7 +2469,7 @@
\tkzLabelPoints[blue,right](O,N,G,H,I,J)
\tkzDrawPoints(I,J,U,V,W)
\tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
-\tkzDrawEllipse[blue](N,\a,\b,\ang)
+\tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\end{tikzpicture}
\hspace*{\fill}
%\caption{Hexagram Lemoine,Pascal}
@@ -2573,98 +2621,78 @@
\label{sub:apollonius_circle_v1_with_inversion}
\begin{tkzexample}[code only,small]
\begin{tkzelements}
-scale = .75
- z.A = point: new (0,0)
- z.B = point: new (6,0)
- z.C = point: new (0.8,4)
- T.ABC = triangle : new (z.A,z.B,z.C)
- C.euler = T.ABC: euler_circle ()
- z.N,z.Ma = get_points (C.euler)
- z.I_a,z.I_b,z.I_c = get_points (T.ABC : excentral())
- z.Ea,z.Eb,z.Ec = get_points (T.ABC : feuerbach ())
- -- The Feuerbach triangle is the triangle formed by the three points
- -- of tangency of the nine-point circle with the excircles
- z.S,z.p = get_points (T.ABC: spieker_circle ())
- -- z.Xa,z.Xb,z.Xc = get_points (T.ABC : extouch())
- C.exa = T.ABC : ex_circle ()
- z.Ia,z.Xa = get_points (C.exa)
- C.exb = T.ABC : ex_circle (1)
- z.Ib,z.Xb = get_points (C.exb)
- C.exc = T.ABC : ex_circle (2)
- z.Ic,z.Xc = get_points (C.exc)
- -- S spieker point is the radical center of the last three circles
- L.fa = line : new (z.S,z.Ea)
- L.fb = line : new (z.S,z.Eb)
- L.fc = line : new (z.S,z.Ec)
- z.f_a = intersection (L.fa,C.exa)
- z.f_b = intersection (L.fb,C.exb)
- _,z.f_c = intersection (L.fc,C.exc)
- T = triangle : new ( z.f_a, z.f_b , z.f_c )
- z.o = T.circumcenter
- _,z.l = get_points (C.exa : orthogonal_from (z.S))
- -- S center of inversion !!
+ scale = .7
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ z.N = T.ABC.eulercenter
+ z.Ea,z.Eb,z.Ec = get_points ( T.ABC : feuerbach () )
+ z.Ja,z.Jb,z.Jc = get_points ( T.ABC : excentral () )
+ z.S = T.ABC : spieker_center ()
+ C.JaEa = circle : new (z.Ja,z.Ea)
+ C.ortho = circle : radius (z.S,math.sqrt(C.JaEa : power (z.S) ))
+ z.a = C.ortho.south
+ C.euler = T.ABC: euler_circle ()
+ C.apo = C.ortho : inversion (C.euler)
+ z.O = C.apo.center
+ z.xa,z.xb,z.xc = C.ortho : set_inversion (z.Ea,z.Eb,z.Ec)
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
- \tkzDrawCircles[red](o,f_a N,Ma)
- \tkzDrawPoints[red](f_a,f_b,f_c,Ea,Eb,Ec,o,N)
- \tkzClipCircle(o,f_a)
- \tkzDrawLines[add=3 and 3](A,B A,C B,C)
- \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
- \tkzDrawCircles[cyan](S,l)
- \tkzDrawPoints(A,B,C)
- \tkzDrawPoints[cyan](S)
- \tkzDrawSegments[dashed,red](S,f_a S,f_b S,f_c)
- \tkzDrawSegments[dashed,teal](o,f_a o,f_b o,f_c)
+\tkzDrawCircles[red](O,xa N,Ea)
+\tkzFillCircles[green!30!black,opacity=.3](O,xa)
+\tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
+\tkzFillCircles[teal!30!black,opacity=.3](S,a)
+\tkzFillCircles[green!30,opacity=.3](N,Ea)
+\tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N)
+\tkzClipCircle(O,xa)
+\tkzDrawLines[add=3 and 3](A,B A,C B,C)
+\tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec)
+\tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
+\tkzDrawCircles[teal](S,a)
+\tkzDrawPoints(A,B,C,O)
+\tkzDrawPoints[teal](S)
+\tkzLabelPoints(A,B,C,O,S,N)
\end{tikzpicture}
\end{tkzexample}
\begin{tkzelements}
-scale = .5
-z.A = point: new (0,0)
-z.B = point: new (6,0)
-z.C = point: new (0.8,4)
-T.ABC = triangle : new (z.A,z.B,z.C)
-C.euler = T.ABC: euler_circle ()
-z.N,z.Ma = get_points (C.euler)
-z.I_a,z.I_b,z.I_c = get_points (T.ABC : excentral())
-z.Ea,z.Eb,z.Ec = get_points (T.ABC : feuerbach ())
--- The Feuerbach triangle is the triangle formed by the three points of tangency of the nine-point circle with the excircles
-z.S,z.p = get_points (T.ABC: spieker_circle ())
- -- z.Xa,z.Xb,z.Xc = get_points (T.ABC : extouch())
-C.exa = T.ABC : ex_circle ()
-z.Ia,z.Xa = get_points (C.exa)
-C.exb = T.ABC : ex_circle (1)
-z.Ib,z.Xb = get_points (C.exb)
-C.exc = T.ABC : ex_circle (2)
-z.Ic,z.Xc = get_points (C.exc)
-
--- S spieker point is the radical center of the last three circles
-L.fa = line : new (z.S,z.Ea)
-L.fb = line : new (z.S,z.Eb)
-L.fc = line : new (z.S,z.Ec)
-z.f_a = intersection (L.fa,C.exa)
-z.f_b = intersection (L.fb,C.exb)
-_,z.f_c = intersection (L.fc,C.exc)
-T = triangle : new ( z.f_a, z.f_b , z.f_c )
-z.o = T.circumcenter
-_,z.l = get_points (C.exa : orthogonal_from (z.S))
--- S center of inversion !!
+ scale = .5
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ z.N = T.ABC.eulercenter
+ z.Ea,z.Eb,z.Ec = get_points ( T.ABC : feuerbach () )
+ z.Ja,z.Jb,z.Jc = get_points ( T.ABC : excentral () )
+ z.S = T.ABC : spieker_center ()
+ C.JaEa = circle : new (z.Ja,z.Ea)
+ C.ortho = circle : radius (z.S,math.sqrt(C.JaEa : power (z.S) ))
+ z.a = C.ortho.south
+ C.euler = T.ABC: euler_circle ()
+ C.apo = C.ortho : inversion (C.euler)
+ z.O = C.apo.center
+ z.xa,z.xb,z.xc = C.ortho : set_inversion (z.Ea,z.Eb,z.Ec)
\end{tkzelements}
\hspace*{\fill}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles[red](o,f_a N,Ma)
-\tkzDrawPoints[red](f_a,f_b,f_c,Ea,Eb,Ec,o,N)
-\tkzClipCircle(o,f_a)
+ \tkzGetNodes
+\tkzDrawCircles[red](O,xa N,Ea)
+\tkzFillCircles[green!30!black,opacity=.3](O,xa)
+\tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
+\tkzFillCircles[teal!30!black,opacity=.3](S,a)
+\tkzFillCircles[green!30,opacity=.3](N,Ea)
+\tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N)
+\tkzClipCircle(O,xa)
\tkzDrawLines[add=3 and 3](A,B A,C B,C)
-\tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
-\tkzDrawCircles[cyan](S,l)
-\tkzDrawPoints(A,B,C)
-\tkzDrawPoints[cyan](S)
-\tkzDrawSegments[dashed,red](S,f_a S,f_b S,f_c)
-\tkzDrawSegments[dashed,teal](o,f_a o,f_b o,f_c)
+\tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec)
+\tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
+\tkzDrawCircles[teal](S,a)
+\tkzDrawPoints(A,B,C,O)
+\tkzDrawPoints[teal](S)
+\tkzLabelPoints(A,B,C,O,S,N)
\end{tikzpicture}
\hspace*{\fill}
%\caption{Apollonius circle V1}
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-howtouse.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-howtouse.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-howtouse.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -117,7 +117,7 @@
\subsubsection{Points transfer} % (fold)
\label{ssub:points_transfer}
-We use an environment \tkzname{elements} outside an environment \tkzname{tikzpicture} which allows us to carry out all the necessary calculations, then we launch the macro \tkzcname{tkzGetNodes} which transforms the affixes of the table \tkzname{z} into a list of \tkzname{Nodes}. It only remains to draw.
+We use an environment \tkzname{tkzelements} outside an environment \tkzname{tikzpicture} which allows us to carry out all the necessary calculations, then we launch the macro \tkzcname{tkzGetNodes} which transforms the affixes of the table \tkzname{z} into a list of \tkzname{Nodes}. It only remains to draw.
Currently the drawing program is either \TIKZ\ or \pkg{tkz-euclide}. You have the possibility to use another package to trace but for that you have to create a macro similar to \tkzcname{tkzGetNodes}. Of course, this package must be able to store the points as does \TIKZ\ or \pkg{tkz-euclide}.
@@ -138,7 +138,7 @@
}
\end{tkzexample}
-The environment \tkzNameEnv{elements} allows to use the underscore |_| and the macro \tkzcname{tkzGetNodes} allows to obtain names of nodes containing \tkzname{prime}. (see the next example)
+The environment \tkzNameEnv{tkzelements} allows to use the underscore |_| and the macro \tkzcname{tkzGetNodes} allows to obtain names of nodes containing \tkzname{prime}. (see the next example)
\begin{minipage}{0.5\textwidth}
\begin{tkzexample}[latex=0cm,small,code only]
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -195,7 +195,6 @@
a = E.Rx
b = E.Ry
ang = math.deg(E.slope)
- set_lua_to_tex {'a','b','ang'}
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -202,7 +201,7 @@
\tkzDrawLines[red](a,b u,v) % p,s p,t
\tkzDrawPoints(a,b,c,e,u,v) %
\tkzLabelPoints(a,b,c,u,v)
- \tkzDrawEllipse[teal](c,\a,\b,\ang)
+ \tkzDrawEllipse[teal](c,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\tkzDrawSegments(c,u c,v)
\tkzFillAngles[green!30,opacity=.4](e,c,v)
\tkzFillAngles[green!80,opacity=.4](e,c,u)
@@ -226,7 +225,6 @@
a = E.Rx
b = E.Ry
ang = math.deg(E.slope)
- set_lua_to_tex {'a','b','ang'}
\end{tkzelements}
\hspace*{\fill}
\begin{tikzpicture}
@@ -234,7 +232,7 @@
\tkzDrawLines[red](a,b u,v) % p,s p,t
\tkzDrawPoints(a,b,c,e,u,v) %
\tkzLabelPoints(a,b,c,u,v)
- \tkzDrawEllipse[teal](c,\a,\b,\ang)
+ \tkzDrawEllipse[teal](c,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\tkzFillAngles[green!30,opacity=.4](e,c,v)
\tkzFillAngles[green!80,opacity=.4](e,c,u)
\tkzDrawSegments(c,u c,v)
@@ -262,7 +260,6 @@
% a = E.Rx
% b = E.Ry
% ang = math.deg(E.slope)
-% set_lua_to_tex {'a','b','ang'}
% \end{tkzelements}
%
% \begin{tikzpicture}
@@ -270,7 +267,8 @@
% \tkzDrawLines[red](a,b u,v) % p,s p,t
% \tkzDrawPoints(a,b,c,e,u,v) %
% \tkzLabelPoints(a,b,c,u,v)
-% \tkzDrawEllipse[teal](c,\a,\b,\ang)
+% \tkzDrawEllipse[teal](c,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+% \tkzFillAngles[green!30,opacity=.4](e,c,v)
% \tkzDrawSegments(c,u c,v)
% \tkzFillAngles[green!30,opacity=.4,size=1.2](e,c,v)
% \tkzFillAngles[green!80,opacity=.4](e,c,u)
@@ -293,7 +291,6 @@
% a = E.Rx
% b = E.Ry
% ang = math.deg(E.slope)
-% set_lua_to_tex {'a','b','ang'}
% \end{tkzelements}
%
%
@@ -303,7 +300,8 @@
% \tkzDrawLines[red](a,b u,v) % p,s p,t
% \tkzDrawPoints(a,b,c,e,u,v) %
% \tkzLabelPoints(a,b,c,u,v)
-% \tkzDrawEllipse[teal](c,\a,\b,\ang)
+% \tkzDrawEllipse[teal](c,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+% \tkzFillAngles[green!30,opacity=.4](e,c,v)
% \tkzDrawSegments(c,u c,v)
% \tkzFillAngles[green!30,opacity=.4,size=1.2](e,c,v)
% \tkzFillAngles[green!80,opacity=.4](e,c,u)
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -21,10 +21,10 @@
headings = small
]{tkz-doc}
\gdef\tkznameofpack{tkz-elements}
-\gdef\tkzversionofpack{1.00b}
+\gdef\tkzversionofpack{1.20b}
\gdef\tkzdateofpack{\today}
\gdef\tkznameofdoc{tkz-elements.pdf}
-\gdef\tkzversionofdoc{1.00b}
+\gdef\tkzversionofdoc{1.20b}
\gdef\tkzdateofdoc{\today}
\gdef\tkzauthorofpack{Alain Matthes}
\gdef\tkzadressofauthor{}
@@ -93,7 +93,7 @@
\usepackage[english]{babel}
\usepackage[normalem]{ulem}
\usepackage{multirow,multido,booktabs,cellspace}
-\usepackage{shortvrb,fancyvrb,bookmark}
+\usepackage{shortvrb,bookmark}
\usepackage{makeidx}
%\usepackage{float}
\makeindex
Deleted: trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo-1.pdf
===================================================================
(Binary files differ)
Added: trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.pdf 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.pdf 2023-11-10 21:41:33 UTC (rev 68806)
Property changes on: trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.tex 2023-11-10 21:41:33 UTC (rev 68806)
@@ -0,0 +1,30 @@
+% !TEX TS-program = lualatex
+% Created by Alain Matthes on 2023-02-25.
+% Copyright (c) 2023 AlterMundus.
+
+\documentclass{standalone}
+\usepackage{tkz-euclide}
+\usepackage{tkz-elements}
+\begin{document}
+
+\begin{tkzelements}
+ scale = 2
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ z.C = point: new(1,4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ T.EFG = T.ABC: medial ()
+ z.E,z.F,z.G = get_points (T.EFG)
+ z.S = T.ABC: medial (): circum_circle ().south
+ z.O = T.ABC: medial ().circumcenter
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C E,F,G)
+ \tkzDrawCircle(O,E)
+ \tkzDrawPoints(A,B,C,O,S,E,F,G)
+ \tkzLabelPoints(A,B,O,S,E,F,G)
+ \tkzLabelPoints[above](C)
+\end{tikzpicture}
+
+\end{document}
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,5 +1,5 @@
% encoding : utf8
-% tkz-elements v1.00b
+% tkz-elements v1.20b
% Copyright 2023 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -11,13 +11,18 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\ProvidesPackage{tkz-elements}[2023/10/20 v1.00b Graphic Object Library]
+\ProvidesPackage{tkz-elements}[2023/11/10 v1.20b Graphic Object Library]
\RequirePackage{luacode}
\RequirePackage{filecontents}
\directlua{require "tkz_elements_main"}
\newenvironment{tkzelements}
- {\directlua{scale=1}
+ { \directlua{scale=1}
+ \directlua{for k,v in pairs(z) do z[k] = nil end}
+ \directlua{for k,v in pairs(L) do L[k] = nil end}
+ \directlua{for k,v in pairs(C) do C[k] = nil end}
+ \directlua{for k,v in pairs(T) do T[k] = nil end}
+ \directlua{for k,v in pairs(E) do E[k] = nil end}
\luacode}
{\endluacode}
\def\tkzGetNodes{\directlua{%
@@ -32,4 +37,12 @@
tex.print("\\coordinate ("..K..") at ("..V.re..","..V.im..") ;\\\\")
end}
}
+\def\tkzEraseTables{
+ \directlua{for k,v in pairs(z) do z[k] = nil end}
+ \directlua{for k,v in pairs(L) do L[k] = nil end}
+ \directlua{for k,v in pairs(C) do C[k] = nil end}
+ \directlua{for k,v in pairs(T) do T[k] = nil end}
+ \directlua{for k,v in pairs(E) do E[k] = nil end}
+}
+\def\tkzUseLua#1{\directlua{tex.print(tostring(#1))}}
\endinput
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circles.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circles.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circles.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements-circles.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -27,18 +27,29 @@
setmetatable(new_circle, {__index = circle})
return new_circle
end
+-- other definition
-function circle: antipode (pt)
- return 2 * self.center - pt
+function circle: radius (center, radius) -- c --> center r --> radius
+ local through
+ through = center + point( radius, 0 )
+ return circle : new (center, through )
end
-
-function circle: power (pt)
- local d
- d = point.abs (self.center - pt)
- return d * d - self.radius * self.radius
+-----------------------
+-- boolean --
+-----------------------
+function circle: in_out (pt)
+ local d,epsilon
+ epsilon = 10^(-12)
+ d = point.abs (pt - self.center)
+ if math.abs(d-self.radius) < epsilon
+ then
+ return true
+ else
+ return false
+ end
end
-function circle: in_out (pt)
+function circle: in_out_disk (pt)
local d
d = point.abs (pt - self.center)
if d <= self.radius
@@ -48,22 +59,78 @@
return false
end
end
+-----------------------
+-- real --
+-----------------------
--- function circle: tangent_at (pt)
--- return tangent_at_ (self.center,self.through,pt)
--- end
+function circle: power (pt)
+ local d
+ d = point.abs (self.center - pt)
+ return d * d - self.radius * self.radius
+end
+-----------------------
+-- points --
+-----------------------
+function circle: antipode (pt)
+ return 2 * self.center - pt
+end
+function circle: set_inversion (...)
+ local tp = table.pack(...)
+ local i
+ local t = {}
+ for i=1,tp.n do
+ table.insert( t , inversion_ ( self.center,self.through, tp[i] ) )
+ end
+ return table.unpack ( t )
+end
+
+function circle: midarc (z1,z2)
+ local phi = 0.5 * get_angle_(self.center,z1,z2 )
+ return rotation_ (self.center,phi,z1)
+end
+
+function circle: point (phi)
+ return point (self.center.re+self.radius*math.cos(phi),self.center.im+self.radius*math.sin(phi) )
+end
+
+function circle: random_pt(lower, upper)
+local t
+ math.randomseed( tonumber(tostring(os.time()):reverse():sub(1,6)) )
+ phi = lower + math.random() * (upper - lower)
+return point (self.center.re+self.radius*math.cos(phi),self.center.im+self.radius*math.sin(phi) )
+end
+
+function circle: internal_similitude (C)
+ return barycenter_ ({self.center,C.radius},{C.center,self.radius})
+end
+
+function circle: external_similitude (C)
+ return barycenter_ ({C.center,self.radius},{self.center,-C.radius})
+end
+
+
+-----------------------
+-- lines --
+-----------------------
function circle: tangent_at (pt)
return line : new ( rotation_ (pt,math.pi/2,self.center),rotation_ (pt,-math.pi/2,self.center))
end
-
function circle: tangent_from (pt)
local t1,t2
t1,t2 = tangent_from_ (self.center,self.through,pt)
return line :new (pt,t1),line : new (pt,t2)
end
-
+
+ function circle: radical_axis (C)
+ local t1,t2
+ t1,t2 = radical_axis_ (self.center,self.through,C.center,C.through)
+ return line : new (t1,t2)
+ end
+ -----------------------
+ -- circles --
+ -----------------------
function circle: orthogonal_from (pt)
local t1,t2
t1,t2 = tangent_from_ (self.center,self.through,pt)
@@ -73,51 +140,45 @@
function circle: orthogonal_through (pta,ptb)
return circle : new (orthogonal_through_ (self.center,self.through,pta,ptb),pta)
end
-
- function circle: inversion (pt)
- return inversion_ (self.center,self.through,pt)
- end
- function circle: set_inversion (...)
- local tp = table.pack(...)
- local i
- local t = {}
- for i=1,tp.n do
- table.insert( t , inversion_ ( self.center,self.through, tp[i] ) )
- end
- return table.unpack ( t )
+ function circle: inversion_L (L)
+ local p,q
+ if L: in_out (self.center) then
+ return L
+ else
+ p = L: projection (self.center)
+ q = inversion_ (self.center,self.through,p)
+ return circle: new (midpoint_(self.center,q),q)
+ end
end
-
- function circle: midarc (z1,z2)
- local phi = 0.5 * get_angle_(self.center,z1,z2 )
- return rotation_ (self.center,phi,z1)
+
+ function circle: inversion_C (C)
+ local p,q,x,y
+ if C: in_out (self.center) then
+ p = C : antipode (self.center)
+ q = inversion_ (self.center,self.through,p)
+ x = ortho_from_ ( q , self.center , p )
+ y = ortho_from_ ( q , p, self.center)
+ return line : new (x,y)
+ else
+ x,y = intersection_lc_ (self.center,C.center,C.center,C.through)
+ X = inversion_ (self.center,self.through,x)
+ Y = inversion_ (self.center,self.through,y)
+ return circle : new (midpoint_(X,Y),X)
+ end
end
-
- function circle: point (phi)
- return point (self.center.re+self.radius*math.cos(phi),self.center.im+self.radius*math.sin(phi) )
- end
-function circle: random_pt(lower, upper)
-local t
- math.randomseed( tonumber(tostring(os.time()):reverse():sub(1,6)) )
- phi = lower + math.random() * (upper - lower)
-return point (self.center.re+self.radius*math.cos(phi),self.center.im+self.radius*math.sin(phi) )
+ function circle: inversion (obj)
+ if obj.type == "point" then
+ return inversion_ (self.center,self.through,obj)
+ elseif obj.type == "line" then
+ return self: inversion_L (obj)
+else
+ return self: inversion_C (obj)
end
-
-function circle: radical_axis (C)
- local t1,t2
- t1,t2 = radical_axis_ (self.center,self.through,C.center,C.through)
-return line : new (t1,t2)
-end
+ end
+
-function circle: internal_similitude (C)
- return barycenter_ ({self.center,C.radius},{C.center,self.radius})
-end
-
-function circle: external_similitude (C)
- return barycenter_ ({C.center,self.radius},{self.center,-C.radius})
-end
-
function circle: draw ()
local x,y
x, y = self.center: get ()
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipses.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipses.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipses.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements-ellipses.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_functions_circles.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -14,23 +14,28 @@
-- define a circle by the center and a radius
-function circle_cr ( c, r )
- return c + point(r,0)
-end
+-- function circle_cr ( c, r )
+-- return c + point(r,0)
+-- end
function midarc_ (o,a,b) -- a -> b
local phi = 0.5 * get_angle_ ( a,o,b )
return rotation_ (o,phi,b)
end
----------------------------------------------------------------------------
--- -- possible (C,p) with C.center and C.through
--- function tangent_from (c,p)
--- local m = midpoint_ (c.center,p)
--- return intersection_cc_ (c.center,c.through,m,p)
--- end
----------------------------------------------------------------------------
--- tangente à un cercle
----------------------------------------------------------------------------
+
+function radical_center (C1,C2,C3)
+ local t1,t2,t3,t4
+ t1,t2 = radical_axis_ (C3.center,C3.through,C1.center,C1.through)
+ t3,t4 = radical_axis_ (C3.center,C3.through,C2.center,C2.through)
+return intersection_ll_ (t1,t2,t3,t4)
+end
+
+function radical_circle (C1,C2,C3)
+ local rc
+ rc = radical_center (C1,C2,C3)
+ return C1 : orthogonal_from (rc)
+end
+
function tangent_from_ (c,p,pt)
local o
o = midpoint_ ( c,pt )
@@ -38,7 +43,7 @@
end
function tangent_at_ (a,b,p)
- return rotation_ (p,math.pi/2,a),rotation_ (p,-math.pi/2,a)
+ return rotation_ (p,math.pi/2,a),rotation_ (p,-math.pi/2,a)
end
function orthogonal_from_ (a,b,p)
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_intersections.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_functions_lines.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -15,6 +15,9 @@
---------------------------------------------------------------------------
-- Lines
---------------------------------------------------------------------------
+function normalize_ (a,b)
+ return a+(b-a)/point.mod(b-a)
+end
function ortho_from_ ( p , a , b )
return p+(b-a)*point(0,1)
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_functions_maths.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -101,6 +101,10 @@
return scale * v
end
+function real (v)
+ return v/scale
+end
+
function get_angle (a,b,c)
return angle_normalize(get_angle_( a,b,c ))
end
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_functions_points.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -34,9 +34,9 @@
return sum/weight
end
-function rotation_ (center,alpha,pt)
- local z = point( math.cos(alpha) , math.sin(alpha) )
- return z*(pt-center)+center
+function rotation_ (c,a,pt)
+ local z = point( math.cos(a) , math.sin(a) )
+ return z*(pt-c)+c
end
function symmetry_(c,pt)
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_functions_triangles.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -200,7 +200,7 @@
r = intersection_ll_ ( a,i , b,c)
s = intersection_ll_ ( b,i , a,c)
t = intersection_ll_ ( c,i , a,b)
-return i,r,s,t
+return r,s,t
end
function excentral_tr_ (a,b,c)
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_lines.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_lines.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_lines.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_lines.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -34,9 +34,47 @@
setmetatable(new_line, {__index = line})
return new_line
end
+
-------------------
+-- Result -> real
+-------------------
+function line: distance (pt)
+ return point.mod(projection(self,pt)-pt)
+end
+
+function line: slope ()
+ return slope_(self.pa,self.pb)
+end
+-------------------
+-- Result -> boolean
+-------------------
+function line: in_out (pt)
+ local sc,epsilon
+ epsilon = 10^(-12)
+ sc = math.abs ((pt-self.pa)^(pt-self.pb))
+ if sc <= epsilon
+ then
+ return true
+ else
+ return false
+ end
+end
+
+-------------------
-- Result -> point
-------------------
+function line: translation ( pt )
+ return translation_ ( self.pb-self.pa,pt )
+end
+
+function line: set_translation ( ...)
+ return set_translation_ ( self.pb-self.pa,... )
+end
+
+function line: projection ( pt )
+ return projection_ ( self.pa,self.pb,pt )
+end
+
function line: set_projection (...)
local tp = table.pack(...)
local i
@@ -60,8 +98,8 @@
end
return table.unpack ( t )
end
--- k_div ig "gold" or "phi" then
+
function line: barycenter (ka,kb)
return barycenter_({self.pa,ka},{self.pb,kb})
end
@@ -89,6 +127,14 @@
function line: gold_ratio()
return self.pa + (self.pb-self.pa)*tkzinvphi
end
+
+function line: normalize ()
+ return self.pa+(self.pb-self.pa)/point.mod(self.pb-self.pa)
+end
+
+function line: normalize_inv ()
+ return normalize_ (self.pb,self.pa)
+end
-------------------
-- Result -> line
-------------------
@@ -100,10 +146,6 @@
return line : new (pt,pt+(self.pb-self.pa)*point(0,1))
end
-function line: projection ( pt )
- return projection_ ( self.pa,self.pb,pt )
-end
-
function line: mediator ()
local m
m = midpoint_ (self.pa,self.pb)
@@ -119,30 +161,7 @@
function line: circle_swap ()
return circle : new (self.pb,self.pa)
end
--------------------
--- Result -> real
--------------------
-function line: distance (pt)
- return point.mod(projection(self,pt)-pt)
-end
--------------------
--- Result -> boolean
--------------------
-function line: in_out (pt)
- local sc,epsilon
- epsilon = 10^(-12)
- sc = math.abs ((pt-self.pa)^(pt-self.pb))
- if sc <= epsilon
- then
- return true
- else
- return false
- end
-end
-
-function line: slope ()
- return slope_(self.pa,self.pb)
-end
+
----------------------
-- Result -> triangle
----------------------
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements-main.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -43,5 +43,7 @@
obj.type == 'triangle' then return obj.pa,obj.pb,obj.pc
elseif
obj.type == 'circle' then return obj.center,obj.through
+ elseif
+ obj.type == 'ellipse' then return obj.pc,obj.pa,obj.pb
end
end
\ No newline at end of file
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_point.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_points.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_points.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_points.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_points.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangles.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangles.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangles.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_triangles.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -20,6 +20,7 @@
local incenter = in_center_ (za , zb , zc)
local orthocenter = ortho_center_ (za , zb , zc)
local eulercenter = euler_center_ (za , zb , zc)
+ local spiekercenter = spieker_center_ (za , zb , zc)
local c = point.abs(zb-za)
local a = point.abs(zc-zb)
local b = point.abs(za-zc)
@@ -31,8 +32,8 @@
local bc =line : new (zb,zc)
local new_triangle = {pa = za, pb = zb, pc = zc, type = type,
circumcenter=circumcenter,centroid=centroid,incenter=incenter,
- eulercenter=eulercenter, orthocenter=orthocenter,a=a,b=b,c=c,ab=ab,ac=ac,bc=bc,
- alpha=alpha,beta=beta,gamma=gamma}
+ eulercenter=eulercenter, orthocenter=orthocenter,spiekercenter=spiekercenter,
+ a=a,b=b,c=c,ab=ab,ac=ac,bc=bc,alpha=alpha,beta=beta,gamma=gamma}
setmetatable(new_triangle, {__index = triangle})
return new_triangle
end
Modified: trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vectors.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vectors.lua 2023-11-10 21:41:15 UTC (rev 68805)
+++ trunk/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vectors.lua 2023-11-10 21:41:33 UTC (rev 68806)
@@ -1,6 +1,6 @@
-- tkz_elements_vectors.lua
--- date 2023/10/20
--- version 1.00b
+-- date 2023/11/10
+-- version 1.20b
-- Copyright 2023 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
More information about the tex-live-commits
mailing list.