[pstricks] computed coordinates
Zbigniew Nitecki
zbigniew.nitecki at tufts.edu
Sun Apr 25 16:00:32 CEST 2010
I'm still confused about how to introduce computations on inputs into a macro.
I am trying to create a macro to then include in a \multido for drawing an arrow
indicating a vector field. The following two-dimensional version works fine: I can
insert a postscript formula for the components of the last two inputs and get a reasonable
picture.
\newcommand{\vectorfieldtwo}[8]{
\multido{\rx=#1+#2}{#3}{%
\multido{\ry=#4+#5}{#6}{%
\psline{->}(!\rx\space \ry)(!\rx\space #7 add \ry\space #8 add)
}}
}%2-dim vectorfield: x starts at #1, increments by #2, #3 iterations;
%y starts at #4, increments by #5, #6 iterations;
%#7, #8 components of vector (in terms of \rx & \ry, postscript style
The following also works in 3D, but I am giving both endpoints of the vector explicitly:
\newcommand{\vecThree}[6]{\pstThreeDLine[arrows=->]%
(#1\space,#2\space,#3\space)(#4\space,#5\space,#6\space)
}
%arrow from (#1,#2,#3) to (#4,#5,#6)
However, when I try to do the following, which uses as input the components of the vector
instead of explicit coordinates for its endpoint, I get an error message (the error is the same
whether I use an exclamation before the coordinates or not):
\newcommand{\vecatThree}[6]{\pstThreeDLine[arrows=->]%
(#1\space #2\space #3\space)
(#1\space #4\space add #2\space #5\space add #3\space #6\space add)
}
% arrow pinned to (#1,#2,#3) with components (#4,#5,#6)
> Runaway argument?
> \@nil \edef \pst at coors {\pst at coor \pst at coors }\@ifnextchar ({\pst@@getcoors \ET
> C.
> ! Paragraph ended before \cartesianIIID at coor was complete.
> <to be read again>
> \par
> l.41
I would like, ultimately, to insert such a macro either into a multido as in the 2-dim example,
or to do something more sophisticated: given a surface plotted via say parametricplotThreeD,
to insert a formula for the entries #1, #2, and #3 as well (to plot the vectors only along the points
of the surface).
I would also prefer to use the algebraic rather than postscript form for formulas, but that is a minor
and separate matter.
Zbigniew Nitecki
Department of Mathematics
Tufts University
Medford, MA 02155
telephones:
Office (617)627-3843
Dept. (617)627-3234
Dept. fax (617)627-3966
http://www.tufts.edu/~znitecki/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/pstricks/attachments/20100425/36740a5d/attachment.html>
More information about the PSTricks
mailing list