texlive[74314] branches/branch2024.final/Master/texmf-dist:
commits+karl at tug.org
commits+karl at tug.org
Wed Feb 26 22:15:11 CET 2025
Revision: 74314
https://tug.org/svn/texlive?view=revision&revision=74314
Author: karl
Date: 2025-02-26 22:15:11 +0100 (Wed, 26 Feb 2025)
Log Message:
-----------
tkz-elements (branch) (26feb25)
Modified Paths:
--------------
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/README.md
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-occs.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-news.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-organization.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-presentation.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_2.pdf
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_2.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.pdf
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.tex
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circle.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_class.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_conic.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipse.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_conics.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_matrices.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_regular.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_line.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_matrices.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_misc.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_occs.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_parallelogram.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_quadrilateral.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_rectangle.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_regular.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_square.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangle.lua
branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vector.lua
Added Paths:
-----------
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.pdf
branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.tex
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/README.md
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/README.md 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/README.md 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,10 +1,10 @@
# tkz-elements — for euclidean geometry
-Release 3.30c 2025/02/24
+Release 3.32c 2025/02/26
## Description
-`tkz-elements v.3.30c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`.
+`tkz-elements v.3.32c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`.
The main possibility of programmation proposed is oriented "object programming" with object classes like point, line, triangle, circle and now, conic. For the moment, once the calculations are done, it is `tkz-euclide` or `TikZ` which allows the drawings. You can use the option `mini` with `tkz-euclide` to load only the modules required for tracing.
@@ -44,6 +44,7 @@
\usepackage{tkz-elements}
\begin{document}
\directlua{
+ init_elements ()_
your code
}
\begin{tikzpicture}
@@ -63,6 +64,14 @@
An important example `Golden Arbelos` using the package is on the site. All the files of the documentation are on the site.
## History
+ - version 3.32c
+ - Modification of the class "occs". The first argument is the main axis
+ through a focus and a vertex.
+ - Additions:
+ - Example in the folder "examples".
+ - The method "swap_line" for the class "line" and a example.
+ This makes it possible to change the orientation.
+ - Example for the method "isogonal" for the class "triangle".
- version 3.30c
- Major evolution of tkz-elements with the introduction of the "conic" class, which replaces the "ellipse" class.
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -239,6 +239,7 @@
\Imeth{line}{mediator ()} & |L.uv=L.AB: mediator()| & perpendicular bisector of $(A,B)$ \footnote{You can use |perpendicular_bisector| intead of \tkzname{mediator}.}; [\ref{ssub:method_imeth_line_mediator}]\\
+\Imeth{line}{swap\_line ( )} &|L.AB=L.AB: swap_line()| & [\ref{ssub:method_imeth_line_swap__line} ; \ref{ssub:intersection_line_parabola_explained}] \\
\bottomrule
\end{tabular}
\egroup
@@ -1331,6 +1332,50 @@
% subsubsection method_imeth_line_mediator (end)
+\subsubsection{Method \Imeth{line}{swap\_line}} % (fold)
+\label{ssub:method_imeth_line_swap__line}
+
+Sometimes it's useful to swap the two points that define a straight line. This allows you to change the orientation. A more important example is shown here [\ref{ssub:intersection_line_parabola_explained}].
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \directlua{
+ init_elements ()
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 2 , -1 )
+ L.dir = line : new (z.A,z.B)
+ L.dir = L.dir: swap_line()
+ z.a = L.dir.pa
+ z.b = L.dir.pb
+ }
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments[cyan,thick,->](a,b)
+ \tkzLabelPoints(A,B)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\directlua{
+init_elements ()
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 2 , -1 )
+L.dir = line : new (z.A,z.B)
+L.dir = L.dir: swap_line()
+z.a = L.dir.pa
+z.b = L.dir.pb
+}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments[cyan,thick,->](a,b)
+ \tkzLabelPoints(A,B)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection method_imeth_line_swap__line (end)
+
\subsubsection{Method \Imeth{line}{equilateral}} % (fold)
\label{ssub:method_imeth_line_equilateral}
@@ -1725,7 +1770,7 @@
\end{minipage}
\begin{minipage}{0.5\textwidth}
\directlua{%
-init_elements ()
+ init_elements ()
z.A = point : new (0 , 0)
z.B = point : new (4 , -2)
z.C = point : new (3 , 3)
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-occs.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-occs.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-occs.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -4,16 +4,17 @@
This new class is still experimental. I mainly use it for drawing conics.
-It's also an opportunity to remind you of certain notions concerning this package. Although the aim of the package is not to use equations, to draw with \TIKZ{} it is necessary to use a coordinate system. So as not to complicate development, I've chosen to work only with an orthonormal Cartesian coordinate system (occs).
+It is also an opportunity to remind you of some key concepts related to this package. Although the goal of the package is not to use equations, drawing with \TIKZ{} requires a coordinate system. To keep development simple, I have chosen to work exclusively with an orthonormal Cartesian coordinate system (OCCS).
-For now, the goal is to move from one orthonormal Cartesian coordinate system to another, also orthonormal. The new coordinate system is obtained from the first by translation and rotation. The arguments are a straight line that indicates the direction of the new abscissa axis and a point that will be the center of the new coordinate system.
+For now, the objective is to transition from one orthonormal Cartesian coordinate system to another, also orthonormal. The new coordinate system is obtained from the first through translation and rotation. The arguments are a straight line that defines the direction of the new ordinate axis and a point that will serve as the center of the new coordinate system.
-Let's look at a concrete example. We are looking for the intersections of a parabola with a straight line. The parabola is defined by a directrix and a focus. In a reference frame centered on the vertex $S$ of the parabola, with the x-axis being a parallel passing through this vertex to the directrix, the equation of the parabola is $y =\dfrac{x^2}{2p}$, where $p$ is the value of the \code{latus rectum}. This corresponds to the length of the segment originating from the focus, parallel to the directrix, and ending on the parabola. $p$ is also the distance from the focus to the directrix.
+Let's consider a concrete example. We want to find the intersections of a parabola with a straight line. The parabola is defined by a directrix and a focus. In a reference frame centered at the vertex $S$ of the parabola, with the x-axis being a parallel passing through this vertex to the directrix, the equation of the parabola is $y =\dfrac{x^2}{2p}$, where $p$ is the value of the \code{latus rectum}. This corresponds to the length of the segment originating from the focus, parallel to the directrix, and ending on the parabola. $p$ is also the distance from the focus to the directrix.
To find the intersections, we simply determine the equation of the line in the new reference frame and use $y =\dfrac{x^2}{2p}$ as the equation of the curve. In this example, two internal functions are used. It is best not to use them at this stage, as their names may change. The function \code{param\_line} is used to determine the coefficients of the line, and \code{solve\_para\_line} finds the intersection points.
If solutions exist, the result provides two values, $r_1$ and $r_2$, which are the abscissas of the intersection points in the new reference frame. After computing the ordinates, one could use a function to determine the coordinates in \TIKZ{} within the new coordinate system. However, there is another approach: we determine the points $x$ and $y$ corresponding to the values found ($r_1$, $r_2$) on the abscissa axis of the new reference frame \code{OCCS.abscissa}. Then, geometrically, we locate the intersection points on the parabola.
+\vspace{6pt}
\begin{Verbatim}
\directlua{
init_elements ()
@@ -34,7 +35,7 @@
z.S = PA.vertex
L.KF = PA.major_axis
% new occs
-OCCS = occs : new (L.dir,z.S)
+OCCS = occs : new (L.KF,z.S)
z.u = OCCS.x
z.v = OCCS.y
% line a,b
@@ -96,7 +97,7 @@
z.S = PA.vertex
L.KF = PA.major_axis
% new occs
-OCCS = occs : new (L.dir,z.S)
+OCCS = occs : new (L.KF,z.S)
z.u = OCCS.x
z.v = OCCS.y
% line a,b
@@ -140,11 +141,11 @@
\end{tikzpicture}
\end{center}
-\subsection{Attribtes of an occs} % (fold)
-\label{sub:attribtes_of_an_occs}
+\subsection{Attributes of an occs} % (fold)
+\label{sub:attributes_of_an_occs}
\begin{mybox}
- Creation |sys = occs: new (L.AB,z.S) |
+ Creation: \hspace{12pt} |sys = occs: new (L.AB,z.S) |
\end{mybox}
\bgroup
@@ -167,81 +168,86 @@
\subsubsection{Example: attributes of occs} % (fold)
\label{ssub:example_attributes_of_occs}
- \begin{minipage}{.5\textwidth}
+A few words about the arguments of the \code{new} method. The most important is the line that will support the new ordinate axis. For a parabola, its orientation should be from the director to the focus, and for a hyperbola or ellipse, from the center to the main focus. The orientation (direction) is that which runs from the first point to the second in the creation of the line.
+
+
+If this line is obtained as an orthogonal line to another line (as in the following example), then the direction will depend on the latter.
+
+\vspace{6pt}
+
\begin{Verbatim}
- \directlua{
- init_elements ()
- z.O = point : new (0,0)
- z.i = point : new (1,0)
- z.j = point : new (0,1)
- z.A = point : new (-1 , -1)
- z.B = point : new (4 , 2)
- L.AB = line : new (z.A , z.B)
- z.S = point : new (0 , 3)
- % new occs
- sys = occs : new (L.AB,z.S)
- z.u = sys.x
- z.v = sys.y
- z.ax = sys.abscissa.pa
- z.bx = sys.ordinate.pa
- z.ay = sys.abscissa.pb
- z.by = sys.ordinate.pb
- }
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLines(A,B)
- \tkzDrawLines[purple,add=2 and 4](ax,ay bx,by)
- \tkzDrawSegments[->,red,thick](O,i O,j)
- \tkzDrawSegments[->,purple,thick](S,u S,v)
- \tkzLabelSegment[below,sloped,pos=.7](A,B){L.AB}
- \tkzLabelSegment[below,sloped,pos=3](ax,ay){abscissa}
- \tkzLabelSegment[below,sloped,pos=3](bx,by){ordinate}
- \tkzLabelPoints(O,S)
- \tkzLabelPoints[left](j,v)
- \tkzLabelPoints[below right](i,u)
- \end{tikzpicture}
+\directlua{
+z.O = point : new (0,0)
+z.i = point : new (1,0)
+z.j = point : new (0,1)
+z.A = point : new (-1 , -1)
+z.B = point : new (4 , 2)
+L.AB = line : new (z.A , z.B)
+z.S = point : new (0 , 3)
+L.axis = L.AB : ortho_from (z.S)
+% new occs
+sys = occs : new (L.axis,z.S)
+z.u = sys.x
+z.v = sys.y
+z.ax = sys.abscissa.pa
+z.bx = sys.ordinate.pa
+z.ay = sys.abscissa.pb
+z.by = sys.ordinate.pb
+}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B)
+ \tkzDrawLines[purple,add=4 and 4](ax,ay bx,by)
+ \tkzDrawSegments[->,red,thick](O,i O,j)
+ \tkzDrawSegments[->,purple,thick](S,u S,v)
+ \tkzLabelSegment[below,sloped,pos=.9](A,B){L.AB the directrix}
+ \tkzLabelSegment[below,sloped,pos=3](ax,ay){abscissa}
+ \tkzLabelSegment[below,sloped,pos=5](bx,by){ordinate major\_axis}
+ \tkzLabelPoints(O,S)
+ \tkzLabelPoints[left](j,v)
+ \tkzLabelPoints[below right](i,u)
+\end{tikzpicture}
\end{Verbatim}
-\end{minipage}
- \begin{minipage}{.5\textwidth}
- \directlua{
- init_elements ()
- z.O = point : new (0,0)
- z.i = point : new (1,0)
- z.j = point : new (0,1)
- z.A = point : new (-1 , -1)
- z.B = point : new (4 , 2)
- L.AB = line : new (z.A , z.B)
- z.S = point : new (0 , 3)
- % new occs
- sys = occs : new (L.AB,z.S)
- z.u = sys.x
- z.v = sys.y
- z.ax = sys.abscissa.pa
- z.bx = sys.ordinate.pa
- z.ay = sys.abscissa.pb
- z.by = sys.ordinate.pb
- }
- \begin{center}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawSegment(A,B)
- \tkzDrawLines[purple,add=2 and 4](ax,ay bx,by)
- \tkzDrawSegments[->,red,thick](O,i O,j)
- \tkzDrawSegments[->,purple,thick](S,u S,v)
- \tkzLabelSegment[below,sloped,pos=.7](A,B){L.AB}
- \tkzLabelSegment[below,sloped,pos=3](ax,ay){abscissa}
- \tkzLabelSegment[below,sloped,pos=3](bx,by){ordinate}
- \tkzLabelPoints(O,S)
- \tkzLabelPoints[left](j,v)
- \tkzLabelPoints[below right](i,u)
- \end{tikzpicture}
+
+
+\directlua{
+z.O = point : new (0,0)
+z.i = point : new (1,0)
+z.j = point : new (0,1)
+z.A = point : new (-1 , -1)
+z.B = point : new (4 , 2)
+L.AB = line : new (z.A , z.B)
+z.S = point : new (0 , 3)
+L.axis = L.AB : ortho_from (z.S)
+% new occs
+sys = occs : new (L.axis,z.S)
+z.u = sys.x
+z.v = sys.y
+z.ax = sys.abscissa.pa
+z.bx = sys.ordinate.pa
+z.ay = sys.abscissa.pb
+z.by = sys.ordinate.pb
+}
+
+\begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B)
+ \tkzDrawLines[purple,add=4 and 4](ax,ay bx,by)
+ \tkzDrawSegments[->,red,thick](O,i O,j)
+ \tkzDrawSegments[->,purple,thick](S,u S,v)
+ \tkzLabelSegment[below,sloped,pos=.9](A,B){L.AB the directrix}
+ \tkzLabelSegment[below,sloped,pos=3](ax,ay){abscissa}
+ \tkzLabelSegment[below,sloped,pos=5](bx,by){ordinate major\_axis}
+ \tkzLabelPoints(O,S)
+ \tkzLabelPoints[left](j,v)
+ \tkzLabelPoints[below right](i,u)
+\end{tikzpicture}
\end{center}
- \end{minipage}
-
% subsubsection example_attributes_of_occs (end)
-% subsection attribtes_of_an_occs (end)
+% subsection attributes_of_an_occs (end)
\subsection{Methods of the class occs} % (fold)
\label{sub:methods_of_the_class_occs}
@@ -263,9 +269,10 @@
z.A = point : new (-1 , -1)
z.B = point : new (4 , 2)
L.AB = line : new (z.A , z.B)
- z.S = point : new (-1 , 2)
+ z.S = point : new (-1 , 2)
+ L.axis = L.AB : ortho_from (z.S)
% new occs
- sys = occs : new (L.AB,z.S)
+ sys = occs : new (L.axis,z.S)
z.u = sys.x
z.v = sys.y
z.ax = sys.abscissa.pa
@@ -303,8 +310,9 @@
z.B = point : new (4 , 2)
L.AB = line : new (z.A , z.B)
z.S = point : new (-1 , 2)
+ L.axis = L.AB : ortho_from (z.S)
% new occs
- sys = occs : new (L.AB,z.S)
+ sys = occs : new (L.axis,z.S)
z.u = sys.x
z.v = sys.y
z.ax = sys.abscissa.pa
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -223,6 +223,7 @@
\Imeth{triangle}{kimberling (n)} & |z.X = T.ABC : kimberling (115)| & Refer to [\ref{ssub:method_imeth_triangle_kimberling}]\\
+\Imeth{triangle}{isogonal (p)} & & Refer to [\ref{ssub:method_imeth_triangle_isogonal}]\\
\midrule
\textbf{Lines} &&\\
\midrule
@@ -3010,6 +3011,99 @@
% subsubsection method_imeth_triangle_taylor__circle (end)
+
+\subsubsection{Method \Imeth{triangle}{isogonal}} % (fold)
+\label{ssub:method_imeth_triangle_isogonal}
+
+The isogonal conjugate $y$ of a point $x$ in the plane of the triangle $ABC$ is constructed by reflecting the lines Ax, Bx, and Cx about the angle bisectors at A, B, and C. The three reflected lines then concur at the isogonal conjugate $y$.
+
+The isogonal conjugate can be obtained in another way. It is the center of the circle passing through the three points obtained by reflection of the $x$ point with respect to the triangle's three sides.
+This is the method I used.
+
+To verify that my method is correct, I obtained the circumcenter as the isogonal conjugate of the orthocenter.
+
+A point $M$ being chosen on the circumcircle, the isogonal conjugates of the points on the tangent to the circle at $M$ trace a parabola passing through the vertices of the triangle. One difficulty is the chaotic order in which these conjugates move along the parabola. The intersection points of the sides with the tangent are the conjugates of the triangle's vertices. Points near $M$ move toward infinity.
+
+\begin{Verbatim}
+ \directlua{
+ z.a = point: new (0 , 0)
+ z.b = point: new (4 , 0)
+ z.c = point: new (1 , 4)
+ T.abc = triangle : new (z.a,z.b,z.c)
+ z.H = T.abc.orthocenter
+ z.O = T.abc : isogonal (z.H)
+ z.I = T.abc.incenter
+ C = circle : new (z.O,z.a)
+ z.M = C : point (0.45)
+ Ta = C :tangent_at (z.M)
+ z.u = Ta.pb
+ z.v = Ta.pa
+ z.x = intersection (Ta,T.abc.ca)
+ z.y = T.abc : isogonal (z.x)
+ points = {}
+ for t = 1.5, 50, 1/10 do
+ local x = Ta : point (t)
+ local y = T.abc : isogonal (x)
+ table.insert (points, "("..checknumber(y.re)..","..checknumber(y.im)..")")
+ end
+ for t = -55, 0.2, 1/10 do
+ local x = Ta : point (t)
+ local y = T.abc : isogonal (x)
+ table.insert (points, "("..checknumber(y.re)..","..checknumber(y.im)..")")
+ end
+ }
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(a,b,c)
+ \tkzDrawCoordinates[smooth,red,thick](points)
+ \tkzDrawLines[add =.25 and .25](x,v a,b b,c a,x)
+ \tkzDrawPoints(a,b,c,H,M,x,y,H,O)
+ \tkzLabelPoints(a,b,M,H,O)
+ \tkzLabelPoints[above](c,x,y)
+ \tkzDrawCircles(O,a)
+ \end{tikzpicture}
+\end{Verbatim}
+
+
+\directlua{
+ z.a = point: new (0 , 0)
+ z.b = point: new (4 , 0)
+ z.c = point: new (1 , 4)
+ T.abc = triangle : new (z.a,z.b,z.c)
+ z.H = T.abc.orthocenter
+ z.O = T.abc : isogonal (z.H)
+ z.I = T.abc.incenter
+ C = circle : new (z.O,z.a)
+ z.M = C : point (0.45)
+ Ta = C :tangent_at (z.M)
+ z.u = Ta.pb
+ z.v = Ta.pa
+ z.x = intersection (Ta,T.abc.ca)
+ z.y = T.abc : isogonal (z.x)
+ points = {}
+ for t = 1.5, 50, 1/10 do
+ local x = Ta : point (t)
+ local y = T.abc : isogonal (x)
+ table.insert (points, "("..checknumber(y.re)..","..checknumber(y.im)..")")
+ end
+ for t = -55, 0.2, 1/10 do
+ local x = Ta : point (t)
+ local y = T.abc : isogonal (x)
+ table.insert (points, "("..checknumber(y.re)..","..checknumber(y.im)..")")
+ end
+}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(a,b,c)
+ \tkzDrawCoordinates[smooth,red,thick](points)
+ \tkzDrawLines[add =.25 and .25](x,v a,b b,c a,x)
+ \tkzDrawPoints(a,b,c,H,M,x,y,H,O)
+ \tkzLabelPoints(a,b,M,H,O)
+ \tkzLabelPoints[above](c,x,y)
+ \tkzDrawCircles(O,a)
+\end{tikzpicture}
+
+% subsubsection method_imeth_triangle_isogonal (end)
% % subsection methods_of_the_class_triangle (end)
% % section class_triangle (end)
\endinput
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -3869,7 +3869,7 @@
\end{minipage}
% subsection midarc (end)
-\subsection{Lemoine Line without macro} % (fold)
+\subsection{Lemoine axis without macro} % (fold)
\label{sub:lemoine_line_without_macro}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -329,9 +329,180 @@
\tkzDrawPoints[red](u_1,u_2,v_2,v_1,w_1,w_2)
\end{tikzpicture}
\end{center}
+% subsubsection intersection_all_subtypes_of_conics (end)
+\subsubsection{Intersection line-parabola, explained} % (fold)
+\label{ssub:intersection_line_parabola_explained}
-% subsubsection intersection_all_subtypes_of_conics (end)
+In this example, we're looking for a parabola inscribed in a triangle, i.e. tangent to the triangle's three sides.
+I won't go into detail about the first part to obtain the parabola. You'll notice this line
+\begin{mybox}
+\begin{verbatim}
+ L.euler = T : euler_line (): swap_line()
+\end{verbatim}
+\end{mybox}
+
+it swaps the ends of the Euler line, as we'll see later.
+
+ To construct the points of contact, it is necessary to find the intersections of the parabola with the sides:
+
+\begin{mybox}
+\begin{Verbatim}
+ z.ta = intersection (PA,T.bc)
+ z.tb = intersection (PA,T.ca)
+ z.tc = intersection (PA,T.ab)
+\end{Verbatim}
+\end{mybox}
+
+We will now detail how to determine the intersection of a line $(ab)$ with the parabola. In this case, Euler's line serves as the directrix of the parabola. Its points have been swapped to maintain the correct order of abscissas—that is, negative values on the left and positive values on the right.
+
+To simplify calculations, it is useful to change the coordinate system by setting the vertex of the parabola as the origin. The focal axis (\code{major\_axis}), oriented from $K$ to $F$, becomes the ordinate axis, while the abscissa axis is chosen so that the new system is \code{direct}.
+
+I have kept |z.U = OCCS.x| and |z.V = OCCS.y| in the code to visualize the new coordinate system, for example, using |\tkzDrawSegments[red,->](S,U S,V)|. This new system is created with:
+
+\begin{mybox}
+\begin{Verbatim}
+ OCCS = occs : new (L.KF,z.S)
+\end{Verbatim}
+\end{mybox}
+
+The line $(KF)$, the axis of symmetry of the parabola, becomes the ordinate axis. In this new coordinate system, the equation of the parabola is $y = \dfrac{x^2}{2p}$, where $p$ is the distance $KF$, also known as the \code{latus rectum}.
+
+The \code{coordinates} method of the \code{occs} class allows you to obtain the new coordinates of each point. The \code{param\_line} function calculates the coefficients of the line's equation (this function is currently internal and its name may change). Then, \code{solve\_para\_line} is used to find the common points between the line and the parabola (again, this function is internal and subject to modification).
+
+The result is two abscissas that must be placed on the axis passing through $S$ and orthogonal to the focal axis. This is why it was important to position the curve correctly. If you remove |swap_line| for Euler's line, you will see that the curve becomes the reflection of the previous one. While the parabola remains unchanged overall, the intersection points will not.
+
+Finally, the abscissas of the intersection points must be placed, and then the intersections of the lines orthogonal to Euler's line passing through these abscissas with the line $(ab)$ must be determined.
+
+Note: This geometric method is more appropriate than determining the intersection points' coordinates using formulas. Indeed, those coordinates would be expressed in the new coordinate system, requiring an additional transformation to return to the original system.
+
+
+
+\begin{Verbatim}
+\directlua{%
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 6, 0 )
+ z.C = point : new ( 2, 3 )
+ T = triangle : new (z.A, z.B, z.C)
+ L.euler = T : euler_line (): swap_line()
+ z.F = T : kimberling (110)
+ z.H = T.orthocenter
+ z.O = T.circumcenter
+ z.Ω = point : new (0,0)
+ z.i = point : new (1,0)
+ z.j = point : new (0,1)
+ PA = conic : new (z.F,L.euler,1)
+ curve = PA : points (-3.5,5.5,50)
+ local p = PA.p
+ z.K = PA.K
+ z.S = midpoint(z.F,z.K)
+ L.KF = PA.major_axis
+ z.ta = intersection (PA,T.bc)
+ z.tb = intersection (PA,T.ca)
+ z.tc = intersection (PA,T.ab)
+% new occs
+ OCCS = occs : new (L.KF,z.S)
+ z.U = OCCS.x
+ z.V = OCCS.y
+% line a,b
+ z.a = point : new (3,6)
+ z.b = point : new (8,-1)
+ L.ab = line : new (z.a,z.b)
+% coordinates in the new occs
+ Xa,Ya = OCCS : coordinates (z.a)
+ Xb,Yb = OCCS : coordinates (z.b)
+% solve in the new occs
+ local r,s = param_line (Xa,Ya,Xb,Yb)
+ r1,r2 = solve_para_line (p,r,s)
+ z.x = OCCS.abscissa :report(r1,z.K)
+ z.y = OCCS.abscissa :report(r2,z.K)
+ L1 = L.euler : ortho_from (z.x)
+ L2 = L.euler : ortho_from (z.y)
+ z.α_1 = intersection (L.ab,L1)
+ z.α_2 = intersection (L.ab,L2)
+ }
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCoordinates[smooth,purple,thick](curve)
+ \tkzDrawLines[add = .2 and 1](A,B A,C B,C K,F O,H)
+ \tkzDrawPolygon[thick,cyan](A,B,C)
+ \tkzDrawSegment[blue](a,b)
+ \tkzDrawPoints(F,K,H,S,O)
+ \tkzDrawPoints(A,B,F,K,S,ta,tb,tc)
+ \tkzDrawPoints[red,size=2](α_1,α_2)
+ \tkzLabelPoints[red,above](α_1)
+ \tkzLabelPoints[red,right](α_2)
+ \tkzLabelPoints(F,S,O,A,B)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](H,K)
+ \end{tikzpicture}
+\end{Verbatim}
+
+ \directlua{%
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 6, 0 )
+ z.C = point : new ( 2, 3 )
+ T = triangle : new (z.A, z.B, z.C)
+ L.euler = T : euler_line (): swap_line()
+ z.F = T : kimberling (110)
+ z.H = T.orthocenter
+ z.O = T.circumcenter
+ z.Ω = point : new (0,0)
+ z.i = point : new (1,0)
+ z.j = point : new (0,1)
+ PA = conic : new (z.F,L.euler,1)
+ curve = PA : points (-3.5,5.5,50)
+ local p = PA.p
+ z.K = PA.K
+ z.S = midpoint(z.F,z.K)
+ L.KF = PA.major_axis
+ z.ta = intersection (PA,T.bc)
+ z.tb = intersection (PA,T.ca)
+ z.tc = intersection (PA,T.ab)
+% new occs
+ OCCS = occs : new (L.KF,z.S)
+ z.U = OCCS.x
+ z.V = OCCS.y
+% line a,b
+ z.a = point : new (3,6)
+ z.b = point : new (8,-1)
+ L.ab = line : new (z.a,z.b)
+% coordinates in the new occs
+ Xa,Ya = OCCS : coordinates (z.a)
+ Xb,Yb = OCCS : coordinates (z.b)
+% solve in the new occs
+ local r,s = param_line (Xa,Ya,Xb,Yb)
+ r1,r2 = solve_para_line (p,r,s)
+ z.x = OCCS.abscissa :report(r1,z.K)
+ z.y = OCCS.abscissa :report(r2,z.K)
+ L1 = L.euler : ortho_from (z.x)
+ L2 = L.euler : ortho_from (z.y)
+ z.α_1 = intersection (L.ab,L1)
+ z.α_2 = intersection (L.ab,L2)
+ }
+
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCoordinates[smooth,purple,thick](curve)
+ \tkzDrawLines[add = .2 and 1](A,B A,C B,C K,F O,H)
+ \tkzDrawPolygon[thick,cyan](A,B,C)
+ \tkzDrawSegment[blue](a,b)
+ \tkzDrawPoints(F,K,H,S,O)
+ \tkzDrawPoints(A,B,F,K,S,ta,tb,tc)
+ \tkzDrawPoints[red,size=2](α_1,α_2)
+ \tkzLabelPoints[red,above](α_1)
+ \tkzLabelPoints[red,right](α_2)
+ \tkzLabelPoints(F,S,O,A,B)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](H,K)
+ \end{tikzpicture}
+ \end{center}
+
+
+% subsubsection intersection_line_parabola_explained (end)
+
+
% subsection line_conic (end)
% section intersections (end)
\ No newline at end of file
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,6 +1,6 @@
% !TEX TS-program = lualatex
% encoding : utf8
-% Documentation of tkz-elements v3.10c
+% Documentation of tkz-elements v3.32c
% Copyright 2024 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,10 +21,10 @@
headings = small
]{tkz-doc}
\gdef\tkznameofpack{tkz-elements}
-\gdef\tkzversionofpack{3.30c}
+\gdef\tkzversionofpack{3.32c}
\gdef\tkzdateofpack{\today}
\gdef\tkznameofdoc{tkz-elements.pdf}
-\gdef\tkzversionofdoc{3.30c}
+\gdef\tkzversionofdoc{3.32c}
\gdef\tkzdateofdoc{\today}
\gdef\tkzauthorofpack{Alain Matthes}
\gdef\tkzadressofauthor{}
@@ -231,23 +231,26 @@
|type -> s| \\
|argument -> r| \\
|modulus -> d| \\
+\\
\textbf{Functions} table(\ref{point:att}) \\
-|new -> p| \\
-|polar -> p| \\
-|polar_deg -> p| \\
+|new -> p| \\
+|polar -> p| \\
+|polar_deg -> p| \\
+\\
\textbf{Methods} table(\ref{complex:meta}) \\
-|+ - * / (p,p) -> p| \\
+|+ - * / (p,p) -> p| \\
|.. (p,p) -> r| \\
|^ (p,p) -> r| \\
|= -> b| \\
|tostring -> s| \\
+\\
\textbf{Methods} table(\ref{point:met}) table(\ref{complex:met}) \\
-|conj -> p| \\
+|conj -> p| \\
|abs -> r| \\
|mod -> d| \\
|norm -> d| \\
|arg -> d| \\
-|get -> r,r| \\
+|get -> r,r| \\
|sqrt -> p| \\
|north(d) -> p| \\
|south(d) -> p| \\
@@ -275,6 +278,7 @@
|slope -> r| \\
|length -> d| \\
|vec -> V| \\
+\\
\textbf{Methods} table(\ref{line:met}) \\
|new (p,p) -> d| \\
|distance (p) -> d| \\
@@ -302,14 +306,15 @@
|report (r,p) -> p| \\
|colinear_at (p,k) -> p| \\
|affinity (p) -> P| \\
-|affinity (pts) -> pts| \\
-|projection (pts) -> pts| \\
-|projection_ll (pts) -> pts| \\
+|affinity (pts) -> pts| \\
+|projection (pts) -> pts| \\
+|projection_ll (pts) -> pts| \\
|translation (...) -> O| \\
|reflection (...) -> O| \\
|ll_from ( p ) -> L| \\
|ortho_from ( p ) -> L| \\
|mediator () -> L| \\
+|swap_line () -> L| \\
|circle () -> C| \\
|circle_swap () -> C| \\
|diameter () -> C| \\
@@ -343,19 +348,20 @@
|eulercenter -> p| \\
|orthocenter -> p| \\
|spiekercenter -> p| \\
-|type -> s| \\
-|a -> d| \\
-|b -> d| \\
-|c -> d| \\
-|ab -> L| \\
-|bc -> L| \\
-|ca -> L| \\
-|alpha -> r| \\
-|beta -> r| \\
-|area -> r| \\
-|semiperimeter -> r| \\
-|inradius -> r| \\
-|circumradius -> r| \\
+|type -> s| \\
+|a -> d| \\
+|b -> d| \\
+|c -> d| \\
+|ab -> L| \\
+|bc -> L| \\
+|ca -> L| \\
+|alpha -> r| \\
+|beta -> r| \\
+|area -> r| \\
+|semiperimeter -> r| \\
+|inradius -> r| \\
+|circumradius -> r| \\
+\\
\textbf{Methods} table(\ref{triangle:met}) \\
|new (p,p,p) -> T| \\
|check_equilateral () -> b| \\
@@ -379,8 +385,8 @@
|point (t) -> p| \\
|soddy_center () -> p| \\
|isogonal (p) -> p| \\
-|conway_points () -> pts| \\
-|projection (p) -> p,p,p| \\
+|conway_points () -> pts| \\
+|projection (p) -> p,p,p| \\
|euler_line () -> L| \\
|symmedian_line (n) -> L| \\
|altitude (n) -> L| \\
@@ -421,6 +427,7 @@
|pedal (p) -> T| \\
|barycentric_coordinates(p)| \\
|-> r,r,r| \\
+\\
\fbox{\textbf{circle}} \\
\textbf{Attributes} table(\ref{circle:att}) \\
|center -> p| \\
@@ -435,6 +442,7 @@
|ct -> L| \\
|perimeter -> r| \\
|area -> r| \\
+\\
\textbf{Methods} table(\ref{circle:met}) \\
|new (p,p) -> C| \\
|radius (p, r) -> C| \\
@@ -450,8 +458,10 @@
|internal_similitude (C) -> p| \\
|external_similitude (C) -> p| \\
|radical_center(C,<C>) -> p| \\
+|taylor_points() -> pts| \\
|tangent_at (p) -> L| \\
|radical_axis (C) -> L| \\
+|polar (p) -> L| \\
|radical_circle(C,<C>) -> C| \\
|orthogonal_from (p) -> C| \\
|orthogonal_through(p,p) -> C| \\
@@ -459,11 +469,12 @@
|c_c_pp(a,b)(p,p) -> C| \\
|c_cc_p (C,p) -> C| \\
|midcircle(C) -> C| \\
-|external_tangent(C) -> L,L| \\
-|internal_tangent(C) -> L,L| \\
-|common_tangent(C) -> L,L| \\
-|tangent_from (p) -> L,L| \\
-|inversion (...) -> O | \\
+|taylor_circle() -> C| \\
+|external_tangent(C) -> L,L| \\
+|internal_tangent(C) -> L,L| \\
+|common_tangent(C) -> L,L| \\
+|tangent_from (p) -> L,L| \\
+|inversion (...) -> O| \\
\\
\fbox{\textbf{conic}} \\
\textbf{Attributes} table(\ref{conic:att}) \\
@@ -487,6 +498,7 @@
|subtype -> s| \\
|major_axis -> L| \\
|minor_axis -> L| \\
+\\
\textbf{Methods} table(\ref{conic:met}) \\
|new (p,L,r) -> E| \\
|points (r,r,n,< swap >) -> E| \\
@@ -495,15 +507,32 @@
|tangent_at (p) -> L| \\
|tangent_from (p) -> L| \\
|asymptotes (r)) -> L| \\
-|orthoptic () -> L,Co| \\
+|orthoptic () -> L,Co| \\
|antipode (p) -> p| \\
-\textbf{Functions} \\
+ \\
+\textbf{Functions} \ref{sub:useful_tools} \\
|EL_points (p,p,p) -> p,L,r| \\
|EL_bifocal(p,p,r or p)-> p,L,r| \\
|HY_bifocal(p,p,r or p)-> p,L,r| \\
|PA_dir(p,p,p) -> p,L,r| \\
-|PA_focus(L,p,p) -> p,L,r| \\
+|PA_focus(L,p,p) -> p,L,r| \\
+\\
+\fbox{\textbf{occs}} \\
+\textbf{Attributes} table(\ref{occs:att}) \\
+|L,p -> occs| \\
+|type -> s| \\
+|origin -> p| \\
+|y -> p| \\
+|x -> p| \\
+|abscissa -> L| \\
+|ordinate -> L| \\
+ \\
+ \textbf{Methods} table(\ref{rectangle:met}) \\
+|new (L,p) -> R| \\
+|coordinates (p) -> r,r| \\
+ \\
\fbox{\textbf{square} } \\
+ \\
\textbf{Attributes} table(\ref{square:att}) \\
|pa,pb,pc,pd -> p| \\
|type -> s| \\
@@ -537,7 +566,7 @@
|gold (p,p,<swap>) -> R| \\
|diagonal (p,p,<swap>) -> R| \\
|side (p,p,r,<swap>) -> R| \\
-|get_lengths () ->r,r| \\
+|get_lengths () ->r,r| \\
\\
\fbox{\textbf{quadrilateral} } \\
\textbf{Attributes} table(\ref{quadrilateral:att}) \\
@@ -555,28 +584,28 @@
\fbox{\textbf{parallelogram}} \\
\textbf{Attributes} table(\ref{parallelogram:att}) \\
|pa,pb,pc,pd -> p| \\
-|ab bc cd da -> L | \\
-|ac bd -> L | \\
-|type -> s | \\
+|ab bc cd da -> L| \\
+|ac bd -> L| \\
+|type -> s| \\
|center -> p| \\
\textbf{Methods} table(\ref{parallelogram:met}) \\
-|new (p,p,p,p) ->| \\
-|fourth (p,p,p) ->| \\
+|new (p,p,p,p) ->P| \\
+|fourth (p,p,p) ->P| \\
\\
\fbox{\textbf{Regular\_polygon}} \\
\textbf{Attributes} table(\ref{regular:att}) \\
|center -> p| \\
-|through -> p | \\
-|circle -> C | \\
-|type -> s | \\
+|through -> p| \\
+|circle -> C| \\
+|type -> s| \\
|side -> d| \\
|circumradius -> d| \\
|inradius -> d| \\
|proj -> p| \\
|nb -> i| \\
-|angle -> an| \\
+|angle -> an| \\
\textbf{Methods} table(\ref{regular:met}) \\
-|new (p,p,n) -> PR| \\
+|new (p,p,n) -> PR| \\
|incircle () -> C| \\
|name (s) -> ?| \\
\\
@@ -593,6 +622,7 @@
|orthogonal (d) -> V| \\
|scale (r) -> V| \\
|at (p) -> V| \\
+ \\
\fbox{\textbf{matrix}} \\
\textbf{Attributes} table(\ref{matrix:att}) \\
|set -> t| \\
@@ -605,48 +635,50 @@
|square -> m| \\
|htm -> m| \\
|vector -> m| \\
+\\
\textbf{Metamethods} table(\ref{matrix:meta}) \\
-|+ - * (m,m) -> m| \\
-|^ (m,n) -> m| \\
-|= -> b| \\
-|tostring -> s| \\
+|+ - * (m,m) -> m| \\
+|^ (m,n) -> m| \\
+|= -> b| \\
+|tostring -> s| \\
+\\
\textbf{Method} table(\ref{matrix:met}) \\
-|print -> s| \\
-|get -> r/cx|\\
-|inverse -> m| \\
-|adjugate -> m| \\
-|transpose -> m| \\
-|is_diagonal -> b| \\
-|is_orthogonal -> b| \\
-|homogenization -> m| \\
-|htm_apply -> m| \\
- \\
+|print -> s| \\
+|get -> r/cx| \\
+|inverse -> m| \\
+|adjugate -> m| \\
+|transpose -> m| \\
+|is_diagonal -> b| \\
+|is_orthogonal -> b| \\
+|homogenization -> m| \\
+|htm_apply -> m| \\
+ \\
\fbox{\textbf{Misc.}} \\
\textbf{Attributes} table(\ref{misc}) \\
-|scale (default =1) -> r| \\
-|tkzphi -> r| \\
-|tkzinvphi -> r| \\
-|tkzsqrtphi -> r| \\
-|tkz_epsilon (default=1e-8)-> r| \\
-|length -> d| \\
-|islinear(p,p,p) -> b| \\
-|isortho(p,p,p) -> b| \\
-|value{r} -> r| \\
-|real -> r| \\
-|angle_normalize (an) -> an| \\
-|barycenter (...) -> p| \\
-|bisector (p,p,p) -> L| \\
-|bisector_ext (p,p,p) -> L| \\
-|altitude (p,p,p) -> L| \\
-|midpoint (p,p) -> p| \\
-|midpoints (...) -> list of pts| \\
-|equilateral (p,p) -> T| \\
-|format_number(r,n) -> r| \\
-|solve_quadratic(cx,cx,cx)-> cx,cx|\\
-|\tkzUseLua{v} -> s| \\
+|scale (default =1) -> r| \\
+|tkzphi -> r| \\
+|tkzinvphi -> r| \\
+|tkzsqrtphi -> r| \\
+|tkz_epsilon (default=1e-8) -> r| \\
+|length -> d| \\
+|islinear(p,p,p) -> b| \\
+|isortho(p,p,p) -> b| \\
+|value{r} -> r| \\
+|real -> r| \\
+|angle_normalize (an) -> an| \\
+|barycenter (...) -> p| \\
+|bisector (p,p,p) -> L| \\
+|bisector_ext (p,p,p) -> L| \\
+|altitude (p,p,p) -> L| \\
+|midpoint (p,p) -> p| \\
+|midpoints (...) -> list of pts| \\
+|equilateral (p,p) -> T| \\
+|format_number(r,n) -> r| \\
+|solve_quadratic(cx,cx,cx)->cx,cx|\\
+|\tkzUseLua{v} -> s| \\
\\
\fbox{\textbf{Macros}} \\
-|\tkzDN[n]{r} -> r| \\
+|\tkzDN[n]{r} -> r| \\
|\tkzDrawLuaEllipse(p,p,p)| \\
\end{multicols}
\end{document}
\ No newline at end of file
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-news.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-news.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-news.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,17 +1,23 @@
\section{News} % (fold)
\label{sec:news}
-The documentation you are reading corresponds to the latest version (3.20c) of \tkzNamePack{tkz-elements}.
-One significant feature introduced in version 3.0 was the use of the \Iprimitive{directlua} macro, replacing the \tkzNameEnv{tkzelements} environment.
-In version 3.10c, most functions have been optimized and quelques méthodes apparaissent. In particular, methods for determining a circle tangent to different objects. (see \ref{ssub:c_l_pp}; \ref{ssub:method_c__ll__p}; \ref{ssub:method_c__c__pp}; \ref{ssub:method_c_cc_p}; \ref{ssub:method_c_lc_p}; and \ref{ssub:tr_method_c__ll__p})
+The documentation you are reading corresponds to the latest version (3.32c) of \tkzNamePack{tkz-elements}.
+One significant feature introduced in version 3.0 was the use of the \Iprimitive{directlua} macro, replacing the \tkzNameEnv{tkzelements} environment. If you're creating documents with a large number of figures, it's a good idea to place the \code{init\_elements} function at the start of the lua code, to empty the tables. (see examples in this document)
-In this version 3.20c, the main new feature is the introduction of the \code{conic} class, which allows you to define parabolas, hyperbolas, and ellipses. The previous \code{ellipse} class is still available but is now obsolete. This new definition is based on a focus, a directrix, and an eccentricity. Curve points are no longer entirely generated using \TIKZ{}. Instead, they are computed through a geometric construction and stored in a table, which is then passed to \TIKZ{} to draw the curve. This class also includes various methods, such as tangent computation and intersection with a line.
-Use the \Imeth{conic}{tkzDrawCoordinates} macro to draw the curve and the \Imeth{conic}{tkzDrawPointOnCurve} macro to place a point on the curve.
+In version 3.10c, most functions have been optimized and a few methods are emerging. In particular, methods for determining a circle tangent to different objects. (see \ref{ssub:c_l_pp}; \ref{ssub:method_c__ll__p}; \ref{ssub:method_c__c__pp}; \ref{ssub:method_c_cc_p}; \ref{ssub:method_c_lc_p}; and \ref{ssub:tr_method_c__ll__p})
-Other important additions in this version include projection parallel to a line, and the affinity transformation.
+In version 3.30c, the main new feature is the introduction of the \code{conic} class, which allows you to define parabolas, hyperbolas, and ellipses. The previous \code{ellipse} class is still available but is now obsolete. This new definition is based on a focus, a directrix, and an eccentricity. Curve points are no longer entirely generated using \TIKZ{}; instead, they are computed through a geometric construction, stored in a table, and then passed to \TIKZ{} to draw the curve. This class also includes various methods, such as tangent computation and intersection with a line.
-A small change has been made to the \code{regular\_polygon} class. The \code{table} attribute has been replaced by the more explicit \code{vertices} attribute.
+Use the \Imeth{conic}{tkzDrawCoordinates} macro to draw the curve and the \Imeth{conic}{tkzDrawPointOnCurve} macro to place a point on it.
+
+Other important additions in this version include parallel projection onto a line and the affinity transformation.
+
+A small change has also been made to the \code{regular\_polygon} class: the \code{table} attribute has been replaced with the more explicit \code{vertices} attribute.
+
+Another change is the removal of scaling in the \code{lua} part. It turned out that this caused significant code management issues, while scaling with \TIKZ{} was already highly effective (since the most important calculations were already performed). From now on, scaling is not supported by certain functions, so it is recommended to use it only within the \code{tikzpicture} environment.
+
+In version 3.32c, a change has been made to the \code{occs} class: the first argument is still a straight line, but it is no longer the directrix of a conic. Instead, it becomes the main axis passing through a vertex and a focus. This axis will serve as the future ordinate axis. This class can, of course, be used for other constructions beyond conics.
% section news (end)
\endinput
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-organization.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-organization.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-organization.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -28,6 +28,7 @@
\begin{document}
\directlua{
+ init_elements ()
dofile ("sangaku.lua")
}
\begin{tikzpicture}[scale = 1.25]
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-presentation.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-presentation.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-presentation.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -17,7 +17,7 @@
On the right, you can see the minimum template.
-The code is divided into two parts, represented by lua code, argument to the primitive |\directlua| and the environment \tkzNameEnv{tikzpicture}. In the first part, you place your Lua code, while in the second, you use tkz-euclide commands. The \code{mini} option for \code{tkz-euclide} is used to load only the macros required for drawing.
+The code is divided into two parts, represented by lua code, argument to the primitive |\directlua| and the environment \tkzNameEnv{tikzpicture}. In the first part, you place your Lua code, while in the second, you use tkz-euclide commands. The \code{mini} option for \code{tkz-euclide} is used to load only the macros required for drawing. In the \code{lua} code, it is preferable to systematically use the \code{init\_elements ()} function, which cleans up the tables and re-sets \code{scale} to 1. Reminder: from now on, no scaling should be performed in the \code{lua} part.
\vspace*{4.1 cm}%
\end{minipage}\hspace*{\fill}
@@ -33,6 +33,7 @@
begin{document}
\directlua{
+init_elements ()
% definition of some points
z.A = point : new ( , )
z.B = point : new ( , )
@@ -76,6 +77,7 @@
\subsubsection{The figure}
\directlua{
+ init_elements ()
z.A = point: new (0 , 0)
z.B = point: new (10 , 0)
L.AB = line: new ( z.A, z.B)
@@ -129,6 +131,7 @@
\begin{document}
\directlua{
+init_elements ()
z.A = point: new (0 , 0)
z.B = point: new (10 , 0) % creation of two fixed points $A$ and $B$
L.AB = line: new ( z.A, z.B)
@@ -181,6 +184,7 @@
\usepackage{tkz-elements}
\begin{document}
\directlua{
+ init_elements ()
z.A = point: new (2 , 4)
z.B = point: new (0 , 0) % three fixed points are used
z.C = point: new (8 , 0)
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_2.pdf
===================================================================
(Binary files differ)
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_2.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_2.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_2.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -8,7 +8,6 @@
The Feuerbach triangle is the triangle formed by the three points of tangency of the nine-point circle with the excircles
\directlua{
- scale = .6
z.A = point: new (0,0)
z.B = point: new (6,0)
z.C = point: new (0.8,4)
@@ -28,9 +27,7 @@
z.xa,z.xb,z.xc = C.ortho : inversion (z.Ea,z.Eb,z.Ec)
}
-\vspace*{2em}
-\hfill
-\begin{tikzpicture}
+\begin{tikzpicture}[ scale = .6]
\tkzGetNodes
\tkzFillCircles[green!30](O,xa)
\tkzFillCircles[teal!30](Ja,Ea Jb,Eb Jc,Ec)
@@ -45,7 +42,7 @@
\tkzLabelPoints(O,N,A,B)
\tkzLabelPoints[right](S,C)
\end{tikzpicture}
-\hfill
+
\end{document}
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.pdf
===================================================================
(Binary files differ)
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.tex 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_4.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -8,7 +8,6 @@
\begin{document}
\directlua{
- scale = 2
z.A = point: new(0,0)
z.B = point: new(5,0)
z.C = point: new(1,4)
@@ -18,7 +17,7 @@
z.S = T.ABC: medial (): circum_circle ().south
z.O = T.ABC: medial ().circumcenter
}
-\begin{tikzpicture}
+\begin{tikzpicture}[ scale = 2]
\tkzGetNodes
\tkzDrawPolygons(A,B,C E,F,G)
\tkzDrawCircle(O,E)
Added: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.pdf
===================================================================
(Binary files differ)
Index: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.pdf
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.pdf 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.pdf 2025-02-26 21:15:11 UTC (rev 74314)
Property changes on: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.tex
===================================================================
--- branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.tex (rev 0)
+++ branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.tex 2025-02-26 21:15:11 UTC (rev 74314)
@@ -0,0 +1,35 @@
+% !TEX TS-program = lualatex
+% Created by Alain Matthes on 2025-02-24.
+
+\documentclass{standalone}
+\usepackage{tkz-euclide}
+\usepackage{tkz-elements}
+
+\begin{document}
+
+\directlua{
+ z.A = point : new (0, 0)
+ z.B = point : new (1.5 , -3)
+ z.C = point : new (4,1)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ C.ABC = T.ABC : circum_circle ()
+ z.w,z.t = get_points (C.ABC)
+ z.P = C.ABC : point(-0.15)
+ L.steiner = T.ABC : steiner_line (z.P)
+ z.sa,z.sb = get_points(L.steiner)
+ z.H = T.ABC.orthocenter
+ local PA = conic : new (z.P,L.steiner,1)
+ curve = PA : points (-5,5,50)
+ z.M = intersection (PA,T.ABC.ca)
+}
+
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCoordinates[smooth,red](curve)
+ \tkzDrawLines[add = 1 and 1,blue](A,B B,C A,C)
+ \tkzDrawLines[cyan,add = .4 and .6](sa,sb)
+ \tkzDrawCircle[orange](w,t)
+ \tkzDrawPoints (A,B,C,P,H,M)
+ \tkzLabelPoints(A,B,C,P,H,M)
+\end{tikzpicture}
+\end{document}
\ No newline at end of file
Property changes on: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/examples/tkz-elements-demo_6.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2024.final/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf
===================================================================
(Binary files differ)
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz-elements.sty 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,6 +1,6 @@
% encoding : utf8
% tkz-elements.sty v3.0c
-% Copyright 2024 Alain Matthes
+% Copyright 2025 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
@@ -11,8 +11,8 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\ProvidesPackage{tkz-elements}[2025/02/14 version 3.30 Graphic Object Library]
-%\RequirePackage{luacode}
+\ProvidesPackage{tkz-elements}[2025/02/14 version 3.32 Graphic Object Library]
+\RequirePackage{unicode-math}
\directlua{
require "tkz_elements_main"
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circle.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circle.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_circle.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements-circles.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_class.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_class.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_class.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,6 +1,6 @@
-- tkz_elements_class.lua
--- date 2025/02/14
--- version 3.30
+-- date 2025/02/26
+-- version 3.32
-- from class.lua (Simple Lua Classes from Lua-users wiki)
-- Compatible with Lua 5.1 (not 5.0).
-- http://lua-users.org/wiki/SimpleLuaClasses DavidManura
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_conic.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_conic.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_conic.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements-ellipses.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
@@ -117,7 +117,7 @@
-- intersection line parabola
function conic : inter_Pa_line (pa,pb)
- local sys = occs : new (self.directrix ,self.vertex)
+ local sys = occs : new (self.major_axis ,self.vertex)
local Xa,Ya = sys : coordinates (pa)
local Xb,Yb = sys : coordinates (pb)
local r1,r2 = solve_para_line (self.h,param_line (Xa,Ya,Xb,Yb))
@@ -133,7 +133,7 @@
function conic:tangent_from(pt)
if self.e == 1 then -- Parabola
- local sys = occs : new (self.directrix ,self.vertex)
+ local sys = occs : new (self.major_axis ,self.vertex)
local Xb,Yb = sys : coordinates (pt)
local p1, p2 = solve_quadratic(self.h, -2 * Xb, 2 * Yb)
local s1 = self:point(self.h * p1)
@@ -171,13 +171,9 @@
return self.a * math.sqrt(1 + (x^2) / (self.b)^2)
end
- local sys = occs : new (self.directrix,self.center)
+ local sys = occs : new (self.major_axis,self.center)
local XA,YA = sys : coordinates (pa)
local XB,YB = sys : coordinates (pb)
- YA=-YA
- YB=-YB
- XA=-XA
- XB=-XB
if math.abs(XA - XB) < tkz_epsilon then
local xs = XA
local fa, c = self.Fa, self.center
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipse.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipse.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_ellipse.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements-ellipses.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_circles.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_functions_circles.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_conics.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_conics.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_conics.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements-square.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_intersections.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_intersections.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_lines.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_functions_lines.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
@@ -168,8 +168,8 @@
end
end
-- orthonormal cartesian coordinate system
-function occs_(p,za,zb)
- local x = report_(za,zb,1,p)
- local y = ortho_from_(p,p,x)
- return x,y
-end
+-- function occs_(p,za,zb)
+-- local x = report_(za,zb,1,p)
+-- local y = ortho_from_(p,p,x)
+-- return x,y
+-- end
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_maths.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_functions_maths.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
@@ -59,9 +59,8 @@
end
is_linear = islinear
-function isortho (z1,z2,z3)
- local dp
- dp = (z2-z1) .. (z3-z1)
+function isortho (z1,z2,z3) --modif
+ local dp = (z2-z1) .. (z3-z1)
if math.abs(dp) < tkz_epsilon
then
return true
@@ -72,7 +71,7 @@
is_ortho = isortho
-function parabola (a,b,c)
+function parabola (a,b,c) --bug local
local xa,xb,xc,ya,yb,yc
xa = a.re
ya = a.im
@@ -80,13 +79,21 @@
yb = b.im
xc = c.re
yc = c.im
- D = (xa-xb)*(xa-xc)*(xb-xc)
- A = (xc*(yb-ya) + xb*(ya-yc)+xa*(yc-yb))/D
- B = (xc*xc*(ya-yb)+xb*xb*(yc-ya)+xa*xa*(yb-yc))/D
- C = (xb*xc*(xb-xc)*ya + xc*xa*(xc-xa)*yb +xa*xb*(xa-xb)*yc)/D
+ local D = (xa-xb)*(xa-xc)*(xb-xc)
+ local A = (xc*(yb-ya) + xb*(ya-yc)+xa*(yc-yb))/D
+ local B = (xc*xc*(ya-yb)+xb*xb*(yc-ya)+xa*xa*(yb-yc))/D
+ local C = (xb*xc*(xb-xc)*ya + xc*xa*(xc-xa)*yb +xa*xb*(xa-xb)*yc)/D
return A,B,C
end
+function parabola_ (xa,ya,xb,yb,xc,yc) -- added
+ local D = (xa-xb)*(xa-xc)*(xb-xc)
+ local A = (xc*(yb-ya) + xb*(ya-yc)+xa*(yc-yb))/D
+ local B = (xc*xc*(ya-yb)+xb*xb*(yc-ya)+xa*xa*(yb-yc))/D
+ local C = (xb*xc*(xb-xc)*ya + xc*xa*(xc-xa)*yb +xa*xb*(xa-xb)*yc)/D
+ return A,B,C
+end
+
function value (v)
return scale * v
end
@@ -186,11 +193,6 @@
end
end
-function new_coordinates(m,w,a)
- return (m.re - w.re) * math.cos(a) + (m.im - w.im) * math.sin(a),
- -(m.re - w.re) * math.sin(a) + (m.im - w.im) * math.cos(a)
-end
-
function get_sign(number)
local sgn
if math.abs(number) < tkz_epsilon then
@@ -316,15 +318,9 @@
end
end
-function get_v (L,p)
- local h = projection_(L.pa,L.pb,p)
- if h == p then
- local q = symmetry_(h,L.pa)
- return report_(h,q,1,p)
-else
- return report_(h,p,1,p)
+function get_v (L,p) --bug
+ return report_(L.pa,L.pb,1,p)
end
-end
-- straight line from a through b
function param_line (xa,ya,xb,yb)
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_matrices.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_matrices.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_matrices.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_functions_matrices.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_points.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_functions_points.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_regular.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_regular.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_regular.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_functions_regular.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_functions_triangles.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_functions_triangles.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_line.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_line.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_line.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_lines.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
@@ -171,9 +171,9 @@
end
end
-function line:occs (pt)
- return occs_(pt,self.pa,self.pb)
-end
+-- function line:occs (pt)
+-- return occs_(pt,self.pa,self.pb)
+-- end
-------------- transformations -------------
function line:translation_pt( pt )
return translation_ ( self.pb-self.pa,pt )
@@ -384,6 +384,10 @@
return line : new (rotation_ (m,-math.pi/2,self.pb),rotation_ (m,math.pi/2,self.pb))
end
+function line: swap_line ()
+ self.pa,self.pb = self.pb,self.pa
+ return line : new (self.pa,self.pb)
+end
-------------------
-- Result -> circle
-------------------
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_main.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements-main.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_matrices.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_matrices.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_matrices.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_matrices.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_misc.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_misc.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_misc.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_functions_maths.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_occs.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_occs.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_occs.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_occs.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
@@ -14,12 +14,12 @@
occs = {}
function occs: new (L,zO)
- local type = 'occs'
- local origin = zO
- local y = get_v(L,zO)
- local x = rotation_(zO,-math.pi/2,y)
- local abscissa = line : new (zO,x)
- local ordinate = line : new (zO,y)
+ local type = 'occs'
+ local origin = zO
+ local y = get_v(L,zO)
+ local x = rotation_(zO,-math.pi/2,y)
+ local abscissa = line : new (zO,x)
+ local ordinate = line : new (zO,y)
local o = { origin = origin,
x = x,
y = y,
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_parallelogram.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_parallelogram.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_parallelogram.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_parallelogram.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_point.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_point.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_quadrilateral.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_quadrilateral.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_quadrilateral.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_quadrilateral.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_rectangle.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_rectangle.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_rectangle.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements-rectangle.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_regular.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_regular.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_regular.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_regular.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_square.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_square.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_square.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements-square.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangle.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangle.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_triangle.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_triangles.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
Modified: branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vector.lua
===================================================================
--- branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vector.lua 2025-02-26 21:14:50 UTC (rev 74313)
+++ branches/branch2024.final/Master/texmf-dist/tex/latex/tkz-elements/tkz_elements_vector.lua 2025-02-26 21:15:11 UTC (rev 74314)
@@ -1,7 +1,7 @@
-- tkz_elements_vectors.lua
--- date 2025/02/14
--- version 3.30
--- Copyright 2024 Alain Matthes
+-- date 2025/02/26
+-- version 3.32
+-- Copyright 2025 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
-- of this license or (at your option) any later version.
More information about the tex-live-commits
mailing list.