summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua')
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua41
1 files changed, 20 insertions, 21 deletions
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
index ae257221f4..e22e3eefd0 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
@@ -1,6 +1,6 @@
-- tkz_elements-circles.lua
--- date 2024/01/16
--- version 1.82c
+-- date 2024/02/04
+-- version 2.00c
-- 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
@@ -52,10 +52,9 @@ end
-- boolean --
-----------------------
function circle: in_out (pt)
- local d,epsilon
- epsilon = 10^(-12)
+ local d
d = point.abs (pt - self.center)
- if math.abs(d-self.radius) < epsilon
+ if math.abs(d-self.radius) < tkz_epsilon
then
return true
else
@@ -129,20 +128,6 @@ function circle: external_similitude (C)
return external_similitude_ (self.center,self.radius,C.center,C.radius)
end
-function circle : common_tangent(C)
- local o,s1,s2,t1,t2
- o = external_similitude_ (self.center,self.radius,C.center,C.radius)
-
- if self.radius < C.radius then
- t1,t2 = tangent_from_ (C.center,C.through,o)
- s1,s2 = tangent_from_ (self.center,self.through,o)
- return s1,t1,t2,s2
- else
- s1,s2 = tangent_from_ (C.center,C.through,o)
- t1,t2 = tangent_from_ (self.center,self.through,o)
- return s1,t1,t2,s2
- end
-end
-----------------------
-- lines --
-----------------------
@@ -190,7 +175,6 @@ function circle : radical_circle (C1,C2)
end
end
- -- version 1.60 new
function circle : external_tangent(C)
local i,t1,t2,k,T1,T2
i = barycenter_ ({C.center,self.radius},{self.center,-C.radius})
@@ -200,7 +184,7 @@ end
T2 = homothety_(i,k,t2)
return line : new (t1,T1),line : new (t2,T2)
end
- -- version 1.60 new
+
function circle : internal_tangent(C)
local i,t1,t2,k,T1,T2
i = barycenter_ ({C.center,self.radius},{self.center,C.radius})
@@ -210,6 +194,21 @@ end
T2 = homothety_(i,k,t2)
return line : new (t1,T1),line : new (t2,T2)
end
+
+ function circle : common_tangent(C)
+ local o,s1,s2,t1,t2
+ o = external_similitude_ (self.center,self.radius,C.center,C.radius)
+
+ if self.radius < C.radius then
+ t1,t2 = tangent_from_ (C.center,C.through,o)
+ s1,s2 = tangent_from_ (self.center,self.through,o)
+ return s1,t1,t2,s2
+ else
+ s1,s2 = tangent_from_ (C.center,C.through,o)
+ t1,t2 = tangent_from_ (self.center,self.through,o)
+ return s1,t1,t2,s2
+ end
+ end
-----------------------
-- circles --
-----------------------