diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex | 156 |
1 files changed, 78 insertions, 78 deletions
diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex index a1259e975f4..fb9283571c9 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex @@ -12,17 +12,17 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % %-------------------------------------------- - + % NOTES: % In general, a Bezier spline C:[0,1] -> \R of order n fulfills % C'(0) = n ( P_1 - P_0 ), @@ -31,32 +31,32 @@ % the derivatives at t=0 and t=1. % % - % + % %-------------------------------------------------- % 4-point Lagrange interpolation on {0,1/3,2/3,1}: -% C(x) = +% C(x) = % a * (1/3 - x)/(1/3) * (2/3-x)/(2/3) * (1-x) + % b * (0 - x)/(0 - 1/3) * (2/3-x)/(2/3-1/3) * (1-x)/(1-1/3) + % c * (0 - x)/(0 - 2/3) * (1/3-x)/(1/3-2/3) * (1-x)/(1-2/3) + % d * (0 - x)/(0 - 1) * (1/3-x)/(1/3-1) * (2/3-x) /(2/3-1) -% -% +% +% % Derivative: -% -% (-9*c + 2*d + 72*c*x - 18*d*x - 81*c*x^2 + 27*d*x^2 + +% +% (-9*c + 2*d + 72*c*x - 18*d*x - 81*c*x^2 + 27*d*x^2 + % a*(-11 + 36*x - 27*x^2) + 9*b*(2 - 10*x + 9*x^2))/2 -% +% % bezier control points are % P1 = (-5*a)/6 + 3*b - (3*c)/2 + d/3 % = -0.833333 a + 3. b - 1.5 c + 0.333333 d -% +% % P2 = 0.333333 (0.5 (2. a - 9. b + 18. c - 11. d) + 3. d) % = 0.333333 a - 1.5 b + 3. c - 0.833333 d -%-------------------------------------------------- +%-------------------------------------------------- -% A quadratic spline in the ordering +% A quadratic spline in the ordering % % <left> <right> <middle> % @@ -267,7 +267,7 @@ },% recursive refine@={% % The 4-point lagrangian interpolation formular is shown on - % the top of this page. What I do here is simply to evaluate + % the top of this page. What I do here is simply to evaluate % C(i*1/9) for i =0,...,9: % 0 % 0.493827 A +0.740741 C -0.296296 D +0.0617284 B @@ -542,7 +542,7 @@ % \fi % \fi % }, - %-------------------------------------------------- + %-------------------------------------------------- stream to shader={% % create a degenerate coons patch: \begingroup @@ -569,7 +569,7 @@ \pgfplotslibrarysurfstreamcoord{\pgfqpoint\pgfplotspatchvertexx\pgfplotspatchvertexy}{\pgfplotspointmetatransformed}% % degenerate: the "edge" \PA -- \PA collabses into one % point. - % Per construction, the "edge" is the FOREGROUND. + % Per construction, the "edge" is the FOREGROUND. %\message{STREAMING COLLAPSED EDGE AT START POINT^^J}% \pgfplotslibrarysurfstreamcoord{\pgfqpoint\pgfplotspatchvertexx\pgfplotspatchvertexy}{\pgfplotspointmetatransformed}% \pgfplotslibrarysurfstreamcoord{\pgfqpoint\pgfplotspatchvertexx\pgfplotspatchvertexy}{\pgfplotspointmetatransformed}% @@ -666,7 +666,7 @@ % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}01% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}11% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}20% - %-------------------------------------------------- + %-------------------------------------------------- % The ordering is not arbitrary % (unless z buffer=sort is in effect). Let's assume that the % AB edge is BACKGROUND and the CD edge is FOREGROUND. Then @@ -734,7 +734,7 @@ %-------------------------------------------------- % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}00% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}10% - %-------------------------------------------------- + %-------------------------------------------------- \expandafter\pgfplotsplothandlermesh@setnextvertex\expandafter{\pgfplotspatchclass@qtri@F@}% \expandafter\pgfplotsplothandlermesh@setnextvertex\expandafter{\pgfplotspatchclass@qtri@D@}% \expandafter\pgfplotsplothandlermesh@setnextvertex\expandafter{\pgfplotspatchclass@qtri@E@}% @@ -745,7 +745,7 @@ % %-------------------------------------------------- % % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}01% % % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}11% - % %-------------------------------------------------- + % %-------------------------------------------------- #1\pgfplotspatchclass@qtri@recursiverefine@newnames % % @@ -1063,7 +1063,7 @@ % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}01% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}11% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}20% - %-------------------------------------------------- + %-------------------------------------------------- % The ordering is not arbitrary % (unless z buffer=sort is in effect). Let's assume that the % AB edge is BACKGROUND and the CD edge is FOREGROUND. Then @@ -1163,8 +1163,8 @@ % D <-- C % | ^ % v | -% A --> B -% +% A --> B +% \pgfkeyssetvalue{/pgfplots/vertex count}{0}% \pgfplotsdeclarepatchclass{polygon}{% new=\def\pgfplotspatchclass@poly@no{0}, @@ -1242,13 +1242,13 @@ }% -% mathematica shape functions parameterized in +% mathematica shape functions parameterized in % (xi,eta) in [-1,1]x[-1,1]: %f[xi_, eta_] = % a*1/4*(1 - xi) (1 - eta) xi*eta + -% b 1/4 (-1 - xi) (1 - eta) xi*eta + +% b 1/4 (-1 - xi) (1 - eta) xi*eta + % c* 1/4 (-1 - xi) (-1 - eta) xi*eta + -% d *1/4 (1 - xi) (-1 - eta) xi*eta + +% d *1/4 (1 - xi) (-1 - eta) xi*eta + % e * 1/2 (xi^2 - 1) (1 - eta) eta + % f*1/2 (-1 - xi) (eta^2 - 1) xi + % g* -1/2 (1 - xi^2) (-1 - eta) eta + @@ -1321,9 +1321,9 @@ % % This involves a change from Lagrange to bezier % representation of the boundary curves. - % + % % Furthermore, pdf supports only **cubic** bezier curves. What - % I am doing here is + % I am doing here is % a) change of basis from 3-point lagrange ---> 3 point quadratic bezier % b) expression 3 point quadratic bezier ----> 4 point cubic bezier % @@ -1333,7 +1333,7 @@ % % OUTPUT: % \PA,bezier control 1, bezier control 2, \PC. - % + % \def\pgfplots@edge{% \ifx\pgfplotspatchclass@biquad@A\PA \pgfpathmoveto{\expandafter\pgfplotspointpatchvertex\PA\endvertex}% @@ -1394,7 +1394,7 @@ % \fi % \fi % }, - %-------------------------------------------------- + %-------------------------------------------------- stream to shader={% \begingroup % @@ -1425,7 +1425,7 @@ % % we use % \pgfplotspatchclass@rect@to@coonspatch@findshadingsequence@for@depth - % which works for bilinear, biquadratic, and bicubic + % which works for bilinear, biquadratic, and bicubic \pgfplotspatchclass@rect@to@coonspatch@findshadingsequence@for@depth {pgfplotspatchclass@biquad@}{\Pcur}{\Pnextseq}% % @@ -1454,16 +1454,16 @@ % Well, this is simple: take the matrix as-is! % simply copy 1:1 % - % i.e. convert + % i.e. convert % D G C % H I F % A E B % % to % - % AC BC CC - % AB BB CB - % AA BA CA + % AC BC CC + % AB BB CB + % AA BA CA \let\P@AA=\pgfplotspatchclass@biquad@A \let\P@BA=\pgfplotspatchclass@biquad@E \let\P@CA=\pgfplotspatchclass@biquad@B @@ -1477,15 +1477,15 @@ \if B\Pcur % the "B" point needs to be streamed as first. % - % i.e. reorder + % i.e. reorder % D G C % H I F % A E B % - % to - % A H D AC BC CC - % E I G =: AB BB CB - % B F C AA BA CA + % to + % A H D AC BC CC + % E I G =: AB BB CB + % B F C AA BA CA % \let\P@AA=\pgfplotspatchclass@biquad@B \let\P@BA=\pgfplotspatchclass@biquad@F @@ -1500,15 +1500,15 @@ \if C\Pcur % the "C" point needs to be streamed as first. % - % i.e. reorder + % i.e. reorder % D G C % H I F % A E B % - % to - % B E A AC BC CC - % F I H =: AB BB CB - % C G D AA BA CA + % to + % B E A AC BC CC + % F I H =: AB BB CB + % C G D AA BA CA % \let\P@AA=\pgfplotspatchclass@biquad@C \let\P@BA=\pgfplotspatchclass@biquad@G @@ -1523,15 +1523,15 @@ \if D\Pcur % the "D" point needs to be streamed as first. % - % i.e. reorder + % i.e. reorder % D G C % H I F % A E B % - % to - % C F B AC BC CC - % G I E =: AB BB CB - % D H A AA BA CA + % to + % C F B AC BC CC + % G I E =: AB BB CB + % D H A AA BA CA % \let\P@AA=\pgfplotspatchclass@biquad@D \let\P@BA=\pgfplotspatchclass@biquad@H @@ -1567,7 +1567,7 @@ % 'patch type=quadratic spline' . We only need to apply it to all % lines in U direction and afterwards to all lines in V % direction. - % + % \def\pgfplotspatchvertexaddXY@expanded##1\times{% \edef\pgfplots@loc@TMPa{##1}% \expandafter\pgfplotspatchvertexaddXY\pgfplots@loc@TMPa\times @@ -1683,7 +1683,7 @@ % \edef\pgfplotspatchclass@biquade@CA{#2}% % \fi % }, - %-------------------------------------------------- + %-------------------------------------------------- serialize except vertices={% \ifx\pgfplotspatchclass@biquade@AB\relax \let\pgfplotsretval\pgfutil@empty% @@ -1706,7 +1706,7 @@ % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}01% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}11% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}20% - %-------------------------------------------------- + %-------------------------------------------------- % The ordering is not arbitrary % (unless z buffer=sort is in effect). Let's assume that the % AB edge is BACKGROUND and the CD edge is FOREGROUND. Then @@ -1721,11 +1721,11 @@ % {0.375` a - 0.125` b + 0.75` e, % 0.375` e - 0.125` g + 0.75` i, % -0.125` f + 0.375` h + 0.75` i, - % 0.375` a - 0.125` d + 0.75` h, - % 0.140625` a - 0.046875` b + 0.015625` c - 0.046875` d + + % 0.375` a - 0.125` d + 0.75` h, + % 0.140625` a - 0.046875` b + 0.015625` c - 0.046875` d + % 0.28125` e - 0.09375` f - 0.09375` g + 0.28125` h + % 0.5625` i} - %-------------------------------------------------- + %-------------------------------------------------- \pgfplotspatchvertexaccumstart \expandafter\pgfplotspatchvertexadd\pgfplotspatchclass@biquad@A\times{0.375}% \expandafter\pgfplotspatchvertexadd\pgfplotspatchclass@biquad@B\times{-0.125}% @@ -1832,7 +1832,7 @@ % N[ {f[1, 1/2], f[1/2, 1], f[0, 1/2], f[1/2, 1/2]}] % {-0.125` b + 0.375` c + 0.75` f, % 0.375` c - 0.125` d + 0.75` g, - % -0.125` e + 0.375` g + 0.75` i, + % -0.125` e + 0.375` g + 0.75` i, % 0.015625` a - 0.046875` b + 0.140625` c - 0.046875` d - 0.09375` e + 0.28125` f + 0.28125` g - 0.09375` h + 0.5625` i} \pgfplotspatchvertexaccumstart \expandafter\pgfplotspatchvertexadd\pgfplotspatchclass@biquad@B\times{-0.125}% @@ -2317,7 +2317,7 @@ % % This involves a change from Lagrange to bezier % representation of the boundary curves. - % + % \pgfpathmoveto{\expandafter\pgfplotspointpatchvertex\pgfplotspatchclass@bicubic@AA\endvertex}% \pgfplotspathcubicfrominterpolation {\pgfplotspatchclass@bicubic@AA} @@ -2355,7 +2355,7 @@ % % we use % \pgfplotspatchclass@rect@to@coonspatch@findshadingsequence@for@depth - % which works for bilinear, biquadratic, and bicubic + % which works for bilinear, biquadratic, and bicubic % % define helper macros which are input for % \pgfplotspatchclass@rect@to@coonspatch@findshadingsequence@for@depth: @@ -2400,12 +2400,12 @@ \if B\Pcur % the "DA" point needs to be streamed as first. % - % Reorder + % Reorder % AD BD CD DD % AC BC CC DC % AB BB CB DB % AA BA CA DA - % to + % to % AA AB AC AD % BA BB BC BD % CA CB CC CD @@ -2431,12 +2431,12 @@ \if C\Pcur % the "DD" point needs to be streamed as first. % - % Reorder + % Reorder % AD BD CD DD % AC BC CC DC % AB BB CB DB % AA BA CA DA - % to + % to % DA CA BA AA % DB CB BB AB % DC CC BC AC @@ -2462,12 +2462,12 @@ \if D\Pcur % the "AD" point needs to be streamed as first. % - % Reorder + % Reorder % AD BD CD DD % AC BC CC DC % AB BB CB DB % AA BA CA DA - % to + % to % DD DC DB DA % CD CC CB CA % BD BC BB BA @@ -2513,7 +2513,7 @@ % 'patch type=cubic spline' . We only need to apply it to all % lines in U direction and afterwards to all lines in V % direction. - % + % \def\pgfplotspatchvertexaddXY@expanded##1\times{% \edef\pgfplots@loc@TMPa{##1}% \expandafter\pgfplotspatchvertexaddXY\pgfplots@loc@TMPa\times @@ -2573,7 +2573,7 @@ \let\pgfplotsplothandlermesh@patchclass@=\pgfplotsplothandlermesh@patchclass \def\pgfplotsplothandlermesh@patchclass{triangle}% \pgfplotspatchclass{\pgfplotsplothandlermesh@patchclass}{new}% - % Ok. Now create a lot of triangles. + % Ok. Now create a lot of triangles. % % FIXME: The ordering is not arbitrary (unless z buffer=sort is in effect). % @@ -2627,12 +2627,12 @@ % Transpose a bicubic matrix (4x4). % -% Reorder +% Reorder % AD BD CD DD % AC BC CC DC % AB BB CB DB % AA BA CA DA -% to +% to % DA DB DC DD % CA CB CC CD % BA BB BC BD @@ -2648,28 +2648,28 @@ % Transpose a bicubic matrix (4x4). % -% Reorder -% AC BC CC -% AB BB CB -% AA BA CA -% to -% CA CB CC -% BA BB BC -% AA AB AC +% Reorder +% AC BC CC +% AB BB CB +% AA BA CA +% to +% CA CB CC +% BA BB BC +% AA AB AC \def\pgfplotspatchclass@biquad@transpose{% \pgfplotsutil@swap\P@AB\P@BA \pgfplotsutil@swap\P@CA\P@AC \pgfplotsutil@swap\P@CB\P@BC } -% Expects that a 4x4 matrix in tensor bezier representation where +% Expects that a 4x4 matrix in tensor bezier representation where % A = left end point % B = first control point % C = second control point % D = right end point % % and the coordinates are stored in \csname P@[ABCD][ABCD]\endcsname -% +% % Streaming starts with \P@AA and is applied rowwise. \def\pgfplotsplothandlermesh@shade@cubic@tensor{% % Stream it to the shader. Note that the shader has a |