summaryrefslogtreecommitdiff
path: root/info/examples/PSTricks_en/36-00-42.ltx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/examples/PSTricks_en/36-00-42.ltx
Initial commit
Diffstat (limited to 'info/examples/PSTricks_en/36-00-42.ltx')
-rw-r--r--info/examples/PSTricks_en/36-00-42.ltx72
1 files changed, 72 insertions, 0 deletions
diff --git a/info/examples/PSTricks_en/36-00-42.ltx b/info/examples/PSTricks_en/36-00-42.ltx
new file mode 100644
index 0000000000..211c1a346f
--- /dev/null
+++ b/info/examples/PSTricks_en/36-00-42.ltx
@@ -0,0 +1,72 @@
+%%
+%% A DANTE-Edition example
+%%
+%% Example 36-00-42 on page 785.
+%%
+%% Copyright (C) 2011 Herbert Voss
+%%
+%% It may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%%
+%% See http://www.latex-project.org/lppl.txt for details.
+%%
+%%
+%% ====
+% Show page(s) 1
+%%
+\documentclass[]{article}
+\pagestyle{empty}
+\setlength\textwidth{201.70511pt}
+\setlength\parindent{0pt}
+
+\usepackage{pst-plot,multido}
+\usepackage[nomessages]{fp}
+\newwrite\DataFileA
+\newwrite\DataFileB
+%
+\newcommand{\DataFileNameA}{MyCurveA.dat}
+\newcommand{\DataFileNameB}{MyCurveB.dat}
+%
+\def\Xpsz{6}
+\def\Ypsz{6}
+\newcommand{\PerCalc}[2]{%
+ \def\ix{#1}\def\iy{#2}%
+ \FPeval{\iY}{\Ypsz * \iy / (\iy + 1.0)} % Calculates Y-coordinate
+ \FPeval{\iX}{(\Ypsz - \iY)* \ix / \Xpsz} % Calculates X-coordinate
+}% End perspective calculate
+
+
+\begin{document}
+\begin{pspicture}(-6,0)(6,6)
+ \multido{\I=-6+1}{13}{\psline(0,6)(\I,0)}
+ % The horizontal perspective grid
+ \multido{\IR=0+1}{13}{%
+ \PerCalc{-6.0}{\IR}
+ \FPneg{\iXX}{\iX} %
+ \psline[linecolor=red](\iXX,\iY)(\iX,\iY)}% End of the horizontal grid
+%
+ \immediate\openout\DataFileA=\DataFileNameA
+ \immediate\openout\DataFileB=\DataFileNameB
+%
+ \multido{\IRx=0+1}{90}{%
+ \FPeval{\Ry}{ (\IRx * \IRx) / 30.0 } % Defines the quadratic
+ \PerCalc{\IRx}{\Ry}
+ \immediate\write\DataFileA{(\iX,\iY)}
+ \FPneg{\iXX}{\iX} %
+ \immediate\write\DataFileB{(\iXX,\iY)}}
+%
+ \immediate\closeout\DataFileA
+ \immediate\closeout\DataFileB
+%
+ \readdata{\MyCurve}{\DataFileNameA}
+ \dataplot[plotstyle=curve,%
+ showpoints=true,%
+ linecolor=green,linewidth=1.5pt]{\MyCurve}
+
+ \readdata{\MyCurve}{\DataFileNameB}
+ \dataplot[plotstyle=curve,%
+ showpoints=true,%
+ linecolor=blue,linewidth=1.5pt]{\MyCurve}
+\end{pspicture}
+\end{document}