Skip to content

Commit

Permalink
Renaming perspective library macros
Browse files Browse the repository at this point in the history
  • Loading branch information
max-sn committed Mar 13, 2019
1 parent 4174d9f commit 80656f2
Showing 1 changed file with 46 additions and 46 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,35 +14,35 @@
% [ba bb bc 0]
% [ca cb cc 0]
% [da db dc 1]
\pgfmathsetmacro\H@tpp@aa{+1}
\pgfmathsetmacro\H@tpp@ab{+0}
\pgfmathsetmacro\H@tpp@ac{+0}
\pgfmathsetmacro\H@tpp@ba{+0}
\pgfmathsetmacro\H@tpp@bb{+1}
\pgfmathsetmacro\H@tpp@bc{+0}
\pgfmathsetmacro\H@tpp@ca{+0}
\pgfmathsetmacro\H@tpp@cb{+0}
\pgfmathsetmacro\H@tpp@cc{+1}
\pgfmathsetmacro\H@tpp@da{+0}
\pgfmathsetmacro\H@tpp@db{+0}
\pgfmathsetmacro\H@tpp@dc{+0}
\pgfmathsetmacro\pgf@H@tpp@aa{+1}
\pgfmathsetmacro\pgf@H@tpp@ab{+0}
\pgfmathsetmacro\pgf@H@tpp@ac{+0}
\pgfmathsetmacro\pgf@H@tpp@ba{+0}
\pgfmathsetmacro\pgf@H@tpp@bb{+1}
\pgfmathsetmacro\pgf@H@tpp@bc{+0}
\pgfmathsetmacro\pgf@H@tpp@ca{+0}
\pgfmathsetmacro\pgf@H@tpp@cb{+0}
\pgfmathsetmacro\pgf@H@tpp@cc{+1}
\pgfmathsetmacro\pgf@H@tpp@da{+0}
\pgfmathsetmacro\pgf@H@tpp@db{+0}
\pgfmathsetmacro\pgf@H@tpp@dc{+0}

\def\pgfpointperspectivexyz#1#2#3{%
\pgfmathsetmacro%
\temp@p@w{ \H@tpp@da*(#1) + \H@tpp@db*(#2) + \H@tpp@dc*(#3) + 1}
\pgfmathsetmacro%
\temp@p@x{(\H@tpp@aa*(#1) + \H@tpp@ab*(#2) + \H@tpp@ac*(#3))/\temp@p@w}
\pgfmathsetmacro%
\temp@p@y{(\H@tpp@ba*(#1) + \H@tpp@bb*(#2) + \H@tpp@bc*(#3))/\temp@p@w}
\pgfmathsetmacro%
\temp@p@z{(\H@tpp@ca*(#1) + \H@tpp@cb*(#2) + \H@tpp@cc*(#3))/\temp@p@w}
\pgfmathsetmacro\pgf@pp@w%
{ \pgf@H@tpp@da*(#1) + \pgf@H@tpp@db*(#2) + \pgf@H@tpp@dc*(#3) + 1}
\pgfmathsetmacro\pgf@pp@x%
{(\pgf@H@tpp@aa*(#1) + \pgf@H@tpp@ab*(#2) + \pgf@H@tpp@ac*(#3))/\pgf@pp@w}
\pgfmathsetmacro\pgf@pp@y%
{(\pgf@H@tpp@ba*(#1) + \pgf@H@tpp@bb*(#2) + \pgf@H@tpp@bc*(#3))/\pgf@pp@w}
\pgfmathsetmacro\pgf@pp@z%
{(\pgf@H@tpp@ca*(#1) + \pgf@H@tpp@cb*(#2) + \pgf@H@tpp@cc*(#3))/\pgf@pp@w}
%
\pgf@x=\temp@p@x\pgf@xx%
\advance\pgf@x by \temp@p@y\pgf@yx%
\advance\pgf@x by \temp@p@z\pgf@zx%
\pgf@y=\temp@p@x\pgf@xy%
\advance\pgf@y by \temp@p@y\pgf@yy%
\advance\pgf@y by \temp@p@z\pgf@zy}
\pgf@x=\pgf@pp@x\pgf@xx%
\advance\pgf@x by \pgf@pp@y\pgf@yx%
\advance\pgf@x by \pgf@pp@z\pgf@zx%
\pgf@y=\pgf@pp@x\pgf@xy%
\advance\pgf@y by \pgf@pp@y\pgf@yy%
\advance\pgf@y by \pgf@pp@z\pgf@zy}

\tikzdeclarecoordinatesystem{three point perspective}
{%
Expand All @@ -56,25 +56,25 @@
p/.code args={(#1,#2,#3)}{
\pgfmathparse{ifthenelse(#1,int(1),int(0))}
\ifnum\pgfmathresult=0\else
\pgfmathsetmacro\H@tpp@ba{#2/#1}
\pgfmathsetmacro\H@tpp@ca{#3/#1}
\pgfmathsetmacro\H@tpp@da{ 1/#1}
\pgfmathsetmacro\pgf@H@tpp@ba{#2/#1}
\pgfmathsetmacro\pgf@H@tpp@ca{#3/#1}
\pgfmathsetmacro\pgf@H@tpp@da{ 1/#1}
\fi
},
q/.code args={(#1,#2,#3)}{
\pgfmathparse{ifthenelse(#2,int(1),int(0))}
\ifnum\pgfmathresult=0\else
\pgfmathsetmacro\H@tpp@ab{#1/#2}
\pgfmathsetmacro\H@tpp@cb{#3/#2}
\pgfmathsetmacro\H@tpp@db{ 1/#2}
\pgfmathsetmacro\pgf@H@tpp@ab{#1/#2}
\pgfmathsetmacro\pgf@H@tpp@cb{#3/#2}
\pgfmathsetmacro\pgf@H@tpp@db{ 1/#2}
\fi
},
r/.code args={(#1,#2,#3)}{
\pgfmathparse{ifthenelse(#3,int(1),int(0))}
\ifnum\pgfmathresult=0\else
\pgfmathsetmacro\H@tpp@ac{#1/#3}
\pgfmathsetmacro\H@tpp@bc{#2/#3}
\pgfmathsetmacro\H@tpp@dc{ 1/#3}
\pgfmathsetmacro\pgf@H@tpp@ac{#1/#3}
\pgfmathsetmacro\pgf@H@tpp@bc{#2/#3}
\pgfmathsetmacro\pgf@H@tpp@dc{ 1/#3}
\fi
},
}
Expand All @@ -90,19 +90,19 @@
\tikzset{
3d view/.code 2 args={
% Set elevation and azimuth angles
\pgfmathsetmacro\view@az{#1}
\pgfmathsetmacro\view@el{#2}
\pgfmathsetmacro\pgf@view@az{#1}
\pgfmathsetmacro\pgf@view@el{#2}
% Calculate projections of rotation matrix
\pgfmathsetmacro\xvec@x{cos(\view@az)}
\pgfmathsetmacro\xvec@y{-sin(\view@az)*sin(\view@el)}
\pgfmathsetmacro\yvec@x{sin(\view@az)}
\pgfmathsetmacro\yvec@y{cos(\view@az)*sin(\view@el)}
\pgfmathsetmacro\zvec@x{+0}
\pgfmathsetmacro\zvec@y{cos(\view@el)}
\pgfmathsetmacro\pgf@xvec@x{cos(\pgf@view@az)}
\pgfmathsetmacro\pgf@xvec@y{-sin(\pgf@view@az)*sin(\pgf@view@el)}
\pgfmathsetmacro\pgf@yvec@x{sin(\pgf@view@az)}
\pgfmathsetmacro\pgf@yvec@y{cos(\pgf@view@az)*sin(\pgf@view@el)}
\pgfmathsetmacro\pgf@zvec@x{+0}
\pgfmathsetmacro\pgf@zvec@y{cos(\pgf@view@el)}
% Set base vectors
\pgfsetxvec{\pgfpoint{\xvec@x cm}{\xvec@y cm}}
\pgfsetyvec{\pgfpoint{\yvec@x cm}{\yvec@y cm}}
\pgfsetzvec{\pgfpoint{\zvec@x cm}{\zvec@y cm}}
\pgfsetxvec{\pgfpoint{\pgf@xvec@x cm}{\pgf@xvec@y cm}}
\pgfsetyvec{\pgfpoint{\pgf@yvec@x cm}{\pgf@yvec@y cm}}
\pgfsetzvec{\pgfpoint{\pgf@zvec@x cm}{\pgf@zvec@y cm}}
},
3d view/.default={-30}{15},
isometric view/.style={3d view={-45}{atan(1/sqrt(2))}},
Expand Down

0 comments on commit 80656f2

Please sign in to comment.