summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/euclideangeometry
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-04-26 21:43:39 +0000
committerKarl Berry <karl@freefriends.org>2020-04-26 21:43:39 +0000
commit3ec5e94aafd7ac1e9a234905246ce0bcdb51fe25 (patch)
tree50cf20863903e21ef98d8adc95c197d45eae1c34 /Master/texmf-dist/tex/latex/euclideangeometry
parent4d993b2bbd68d8d0cde7c1889e041448418ddfde (diff)
euclideangeometry (26apr20)
git-svn-id: svn://tug.org/texlive/trunk@54897 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/euclideangeometry')
-rw-r--r--Master/texmf-dist/tex/latex/euclideangeometry/euclideangeometry.sty37
1 files changed, 36 insertions, 1 deletions
diff --git a/Master/texmf-dist/tex/latex/euclideangeometry/euclideangeometry.sty b/Master/texmf-dist/tex/latex/euclideangeometry/euclideangeometry.sty
index f6621222add..d2bfb6ab328 100644
--- a/Master/texmf-dist/tex/latex/euclideangeometry/euclideangeometry.sty
+++ b/Master/texmf-dist/tex/latex/euclideangeometry/euclideangeometry.sty
@@ -11,7 +11,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2019/01/01]
\ProvidesPackage{euclideangeometry}%
- [2020-03-30 v.0.1.7 Extension package for curve2e]
+ [2020-04-15 v.0.1.8 Extension package for curve2e]
\RequirePackage{curve2e}
\@ifpackagelater{curve2e}{2020/01/18}{}%
@@ -156,6 +156,41 @@
\def\CircleThrough#1WithCenter#2{%
\SegmentLength(#1)(#2)to\Radius
\Circlewithcenter#2radius\Radius}
+\def\TwoCirclesIntersections(#1)(#2)withradii#3and#4to#5and#6{%
+ \fptest{#3 >=#4}{%
+ \edef\Cuno{#1}\edef\Cdue{#2}%
+ \edef\Runo{#3}\edef\Rdue{#4}%
+ }{%
+ \edef\Cdue{#2}\edef\Cuno{#2}%
+ \edef\Rdue{#3}\edef\Runo{#4}%
+ }
+ \SegmentLength(\Cuno)(\Cdue)to\A
+ \edef\TCIdiffR{\fpeval{\Runo-\Rdue}}\edef\TCIsumR{\fpeval{\Runo+\Rdue}}
+ \fptest{\TCIdiffR > \A || \A > \TCIsumR}{%
+ \edef#5{0,0}\edef#6{0,0}% Valori assurdi se i cerchi non si intersecano
+ \PackageWarning{TestFP}{%
+ ***********************************\MessageBreak
+ Circles do not intersect \MessageBreak
+ Check centers and radii and retry \MessageBreak
+ Both intersection point are set to \MessageBreak
+ (0,0) therefore expect errors \MessageBreak
+ ***********************************\MessageBreak}%
+ }{%
+ \SegmentArg(\Cuno)(\Cdue)to\Acompl
+ \SubVect\Cuno from\Cdue to \Cdue
+ \edef\CI{\fpeval{(\Runo^2 - \Rdue^2 +\A^2)/(2*\A)}}
+ \edef\H{\fpeval{sqrt(\Runo^2 - \CI^2)}}
+ \CopyVect\CI,-\H to\Puno
+ \CopyVect\CI,\H to\Pdue
+ \MultVect\CI,0 by\Acompl:1 to\CI
+ \AddVect\Cuno and\CI to\CI
+ \MultVect\Puno by\Acompl:1 to\PPunorot
+ \AddVect\PPunorot and \Cuno to \PPuno
+ \MultVect\Pdue by\Acompl:1 to\PPduerot
+ \AddVect\PPduerot and \Cuno to \PPdue
+ \edef#5{\PPuno}\edef#6{\PPdue}%
+ }%
+}
\def\TriangleMedianBase#1on#2and#3to#4{%
\SubVect#1from#2to\TMBu \SubVect#1from#3to\TMBd