summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-03-27 03:02:20 +0000
committerNorbert Preining <norbert@preining.info>2024-03-27 03:02:20 +0000
commit31fa8cd73bab8480d38dae3a89ca578f337d6bbd (patch)
treeba550e99e0cb15dbf5405369d536b12b051c5155 /macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
parent904f56f2c26edc7eb11d5a27579bccbeca29c618 (diff)
CTAN sync 202403270302
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua')
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua28
1 files changed, 15 insertions, 13 deletions
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
index 98800f791e..f20b87a44f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
@@ -1,6 +1,6 @@
-- tkz_elements-ellipses.lua
--- date 2024/02/04
--- version 2.00c
+-- date 2024/03/25
+-- version 2.20c
-- 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
@@ -90,18 +90,14 @@ function ellipse: tangent_at (pt)
end
function ellipse: tangent_from (pt)
- local da,db,zx,zy,zz,u,v,L,U,V
- zx = 2 * self.Rx * math.cos(self.slope)
- zy = 2 * self.Rx * math.sin(self.slope)
- zz = self.Fb + point(zx,zy)
- s1,s2 = intersection_cc_ (pt,self.Fa,self.Fb,zz)
- u,v = mediator_ (s2,self.Fa)
- L = line: new (u,v)
- U,U = intersection_le (L,self)
+ local u,v,U,V,w,s1,s2,s3,s4
+ w = report_ (self.Fb,self.Fa,2 * self.Rx)
+ s1,s2 = intersection_cc_ (pt,self.Fa,self.Fb,w)
u,v = mediator_ (s1,self.Fa)
- L = line: new (pt,u)
- V,V = intersection_le (L,self)
- return line : new (pt,U), line : new (pt,V)
+ U = intersection_ll_ (u,v,self.Fb,s1)
+ u,v = mediator_ (s2,self.Fa)
+ V = intersection_ll_ (u,v,self.Fb,s2)
+ return line : new (pt,U) , line : new (pt,V)
end
function ellipse: in_out (pt)
@@ -117,4 +113,10 @@ function ellipse: in_out (pt)
return false
end
end
+
+function ellipse: orthoptic_circle ()
+ local r = math.sqrt(self.Rx*self.Rx+self.Ry*self.Ry)
+ return circle : radius (self.center, r)
+end
+
return ellipse \ No newline at end of file