From 2662cb2866615a0dca6251d3b51ade8f800f7b72 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 5 Sep 2006 22:37:02 +0000 Subject: pst-func (6sep06) git-svn-id: svn://tug.org/texlive/trunk@2085 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/pst-func/Changes | 3 + Master/texmf-dist/doc/generic/pst-func/README | 18 +++++ .../doc/generic/pst-func/pst-func-doc.bib | 10 ++- .../doc/generic/pst-func/pst-func-doc.pdf | Bin 2083694 -> 2138874 bytes .../doc/generic/pst-func/pst-func-doc.tex | 88 ++++++++++++++++++--- 5 files changed, 109 insertions(+), 10 deletions(-) (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/generic/pst-func/Changes b/Master/texmf-dist/doc/generic/pst-func/Changes index 32a3c0e4b09..ea80f23b4c8 100644 --- a/Master/texmf-dist/doc/generic/pst-func/Changes +++ b/Master/texmf-dist/doc/generic/pst-func/Changes @@ -1,4 +1,7 @@ ..... pst-func.tex +0.46 2006-09-06 - using the bool key from xkeyval + - adding the superellipse function (Lame curve) + - uses pstricks-add for algebraic plot 0.45 2006-04-22 make polarplot and algebraic option work added \psplotImp for plotting implicit defined functions (experimental) diff --git a/Master/texmf-dist/doc/generic/pst-func/README b/Master/texmf-dist/doc/generic/pst-func/README index 0c204bf50f0..7aabf8766ee 100644 --- a/Master/texmf-dist/doc/generic/pst-func/README +++ b/Master/texmf-dist/doc/generic/pst-func/README @@ -1,3 +1,21 @@ +pst-func: plotting special mathematical functions: +-- psPolynomial (with derivations) +-- psFourier +-- psBessel +-- psGauss +-- psGaussI (integral) +-- psSi and pssi (integral sin) +-- psCi (integral cosin) +-- psIntegral +-- psCumIntegral +-- psConv +-- psBinomial +-- psBinomialN +-- psLame (Lam\`e\ Curve -- a superellipse) +-- psplotImp (plotting implicit defined functions) +-- psPrintValue + + Save the files pst-func.sty|pro|tex in a directory, which is part of your local TeX tree. The pro file should go into $TEXMF/dvips/pstricks/ Then do not forget to run texhash to update this tree. diff --git a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.bib b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.bib index 34f2b8aa705..e9393cce5f0 100644 --- a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.bib +++ b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.bib @@ -62,7 +62,8 @@ Samarin}, title = {The {\LaTeX} {G}raphics {C}ompanion}, publisher = {{Addison-Wesley Publishing Company}}, - year = {1997}, + year = {1994}, + edition = {1.}, address = {Reading, Mass.} } @@ -140,3 +141,10 @@ address = {Heidelberg/Hamburg} } +@Book{voss:math, + author = {Herbert Vo\ss}, + title = {\LaTeX\ in {M}athematik und {N}aturwissenschaften}, + publisher = {{Franzis-Verlag}}, + year = {2006}, + address = {Poing} +} diff --git a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf index 2ec213a7d03..d0e3a216abf 100644 Binary files a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf and b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf differ diff --git a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex index 4e3ed6c7a00..3abf4f87a86 100644 --- a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex @@ -1,4 +1,4 @@ -\documentclass[a4paper,12pt]{article} +\documentclass[a4paper,11pt]{article} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage{pamathx} @@ -19,8 +19,8 @@ \def\CMD#1{{\ttfamily\textbackslash #1}} \def\dt{\ensuremath{\,\mathrm{d}t}} % -\def\pshlabel{\footnotesize} -\def\psvlabel{\footnotesize} +\def\pshlabel#1{\footnotesize#1} +\def\psvlabel#1{\footnotesize#1} \usepackage[colorlinks,linktocpage]{hyperref} % \begin{document} @@ -361,10 +361,11 @@ way, at the cost of some reduction in graphics resolution. \clearpage \section{\CMD{psGauss} and \CMD{psGaussI}} The Gauss function is defined as +% \begin{align} f(x) &= \dfrac{1}{\sigma\sqrt{2\pi}}\,e^{-\dfrac{\left(x-\mu\right)^2}{2\sigma{}^2}} \end{align} - +% \noindent The syntax of the macros is \begin{verbatim} \psGauss[options]{xStart}{xEnd} @@ -403,7 +404,7 @@ and is predefined with 5. \egroup -\begin{lstlisting}[xrightmargin=-1cm] +\begin{lstlisting}[xrightmargin=-2cm] \psset{yunit=4cm,xunit=3} \begin{pspicture}(-2,-0.5)(2,1.25) % \psgrid[griddots=10,gridlabels=0pt, subgriddiv=0] @@ -506,8 +507,8 @@ step). The precision and the smoothness of the plot depend strongly on these two \begin{LTXexample} %\usepackage{pst-math} \psset{xunit=0.5cm,yunit=2cm} -\begin{pspicture}[linewidth=1pt](-10,-.5)(10,2) - \psaxes[dx=1cm,Dx=2]{->}(0,0)(-10,0)(10,2) +\begin{pspicture}[linewidth=1pt](-10,-.5)(10,1.5) + \psaxes[dx=1cm,Dx=2]{->}(0,0)(-10,0)(10,1.5) \psCumIntegral[plotpoints=200,Simpson=10]{-10}{10}{0 1 GAUSS} \psIntegral[plotpoints=200,Simpson=10,linecolor=red]{-10}{10}(-4,6){1 GAUSS} \psIntegral[plotpoints=200,Simpson=100,linecolor=green]{.1}{10}(-3,3){0 exch GAUSS} @@ -521,8 +522,8 @@ variance is varying from .1 to 10. \begin{LTXexample} \psset{xunit=1cm,yunit=4cm} -\begin{pspicture}[linewidth=1pt](-5,-.2)(5,1.1) - \psaxes[dx=1cm,Dx=1,Dy=0.5]{->}(0,0)(-5,0)(5,1.1) +\begin{pspicture}[linewidth=1pt](-5,-.2)(5,0.75) + \psaxes[dx=1cm,Dx=1,Dy=0.5]{->}(0,0)(-5,0)(5,0.75) \psplot[linecolor=blue,plotpoints=200]{-5}{5}{x abs 2 le {0.25}{0} ifelse} \psplot[linecolor=green,plotpoints=200]{-5}{5}{x abs 1 le {.5}{0} ifelse} \psConv[plotpoints=100,Simpson=1000,linecolor=red]{-5}{5}(-10,10)% @@ -569,6 +570,7 @@ for the macro \verb+\psPrintValue+ are valid, too. The only special option is \v which is a factor (no dimension) and set by default to 1. This option is only valid for the macro \CMD{psBinomial} and not for the normalized one! +\psset[pst-func]{barwidth=1} \begin{LTXexample}[pos=t,preset=\centering] \psset{xunit=1cm,yunit=5cm}% \begin{pspicture}(-1,-0.15)(7,0.55)% @@ -670,8 +672,76 @@ valid vor \CMD{psBinomialN}. The option \verb+showpoints+ is valid if \verb+curv \end{pspicture*} \end{LTXexample} +\clearpage + + +\section{\CMD{psLame} -- Lam\`e\ Curve, a superellipse} +A superellipse is a curve with Cartesian equation +% +\begin{align} +\left|\frac{x}{a}\right|^r + \left|\frac{y}{b}\right|^r & =1 +\end{align} +% +first discussed in 1818 by Gabriel Lamé (1795--1870)% +\footnote{Lamé worked on a wide variety of different topics. +His work on differential geometry and contributions to Fermat's Last Theorem +are important. He proved the theorem for $n = 7$ in 1839.}. +A superellipse may be described parametrically by +% +\begin{align} +x = a\cdot\cos^{\frac{2}{r}} t\\ +y = b\cdot\sin^{\frac{2}{r}} t +\end{align} +% +Superellipses with $a=b$ are also known as Lamé curves or Lamé ovals and +the restriction to $r>2$ is sometimes also made. The following +table summarizes a few special cases. Piet Hein used $\frac{5}{2}$ with a number of different +$\frac{a}{b}$ ratios for various of his projects. For example, he used $\frac{a}{b}=\frac{6}{5}$ +for Sergels Torg +(Sergel's Square) in Stockholm, and $\frac{a}{b}=\frac{3}{2}$ for his table. + +\begin{center} +\begin{tabular}{@{}llm{1.5cm}@{}} +r & curve type & example\\\hline +$\frac{2}{3}$ & (squashed) astroid + & \pspicture(-.5,-.5)(.5,.5)\psLame[radiusA=.5,radiusB=.5]{0.6667}\endpspicture\\ +1 & (squashed) diamond + & \pspicture(-.5,-.5)(.5,.5)\psLame[radiusA=.5,radiusB=.5]{1}\endpspicture\\ +2 & ellipse + & \pspicture(-.5,-.5)(.5,.5)\psLame[radiusA=.5,radiusB=.5]{2}\endpspicture\\ +$\frac{5}{2}$ & Piet Hein's ,,superellipse`` + & \pspicture(-.5,-.5)(.5,.5)\psLame[radiusA=.5,radiusB=.5]{2.5}\endpspicture +\end{tabular} +\end{center} + +If is a rational, then a superellipse is algebraic. However, for irrational, +it is transcendental. For even integers, the curve becomes closer to a +rectangle as increases. The syntax of the \verb+\psLame+ macro is: + +\begin{verbatim} +\psLame[settings]{r} +\end{verbatim} + +It is internally ploted as a parametric plot with $0\le\alpha\le360$. Available keywords +are \verb+radiusA+ and \verb+radiusB+, both are preset to 1, but can have any valid value +and unit. + +\bgroup +\begin{LTXexample}[pos=t,preset=\centering] +\definecolorseries{col}{rgb}{last}{red}{blue} +\resetcolorseries[41]{col} +\psset{unit=.5} +\pspicture(-9,-9)(9,9) + \psaxes[Dx=2,Dy=2,tickstyle=bottom,ticksize=2pt]{->}(0,0)(-9,-9)(9,9) + \multido{\rA=0.2+0.1,\iA=0+1}{40}{% + \psLame[radiusA=8,radiusB=7,linecolor={col!![\iA]},linewidth=.5pt]{\rA}} +\endpspicture +\end{LTXexample} +\egroup \clearpage + + \section{\CMD{psplotImp} -- plotting implicit defined functions} This macro is still experimental! For a given area, the macro calculates in a first step row by row for every pixel (1pt) the function $f(x,y)$ and checks for an -- cgit v1.2.3