defFunction in PSTricks

Tabellen und Grafiken erstellen und anordnen


Zombieoffice
Forum-Newbie
Forum-Newbie
Beiträge: 1
Registriert: Mi 20. Apr 2011, 12:23

defFunction in PSTricks

Beitrag von Zombieoffice »

Hallo,

bei dem folgenden Problem komme ich nicht weiter:

Bei dem Befehl

\defFunction[algebraic]{u11}(s,t){{s}{t}{f(s,t)}}

brauche ich eine kleine Erweiterung. Meine Funktion u11 hängt noch von zwei Variablen ab. Der Definitiionsbereich von u11 hängt von diesen beiden Variablen ab. Ich brauche also so etwas wie

\defFunction[algebraic]{u11(x,y)}(s,t){{\OmegaA{x}{y}{s}{t}}{\OmegaB{x}{y}{s}{t}}{\Bild{x}{y}{s}{t}}}

Später wird u11 in multido über

\psSolid[object=surfaceparameter, base=0 1 0 1, ... , function=u11(\iA,\iB)]

aufgerufen, wobei \iA und \iB die Laufparameter von multido sind.

So wie es da oben steht, ist es falsch. Wie schreibt man das richtig hin?

Hier ein Auszug aus dem Code:
\documentclass{beamer}
\usetheme{Boadilla}
\usepackage{} %die üblichen
\beamertemplatesolidbackgroundcolor{black!5}

\usepackage{color}
\usepackage{pstricks}
\usepackage{array,calc,pst-plot,pst-tree,pst-grad-pst-coil,pst-text,pst-3d,pst-eps,multido,pst-node,pst-eucl,pst-solides3d,pst-xkey}
\usepackage{pstricks-add}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Hier wurden die makros definiert (Definitionsgebiete, Funktionen, Interfacefunktionen, ...)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\makeatletter
 \def\psZeichnen{\pst@object{psZeichnen}}
 \def\psZeichnen@i(\#1,#2,#3){\psSolid[object=surfaceparametertree, base=0 1 0 1, inhue=0.8 0.2, hue=0.8 0.2, function=u1#3#1#2, linewidth=0.01, ngrid=25 25]}
\makeatother

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
 \begin{frame}
   \begin{pspicture}(0,0)(1,0.16)
    \psset[pst-solides3d]{viewpoint=0.1 -0.5 2, Decran=20}
    \multido{\iA=1+1}{zahl1}{%
     \multido{\iB=1+1}{zahl2}{%
       \defFunction[algebraic]{u11(\iA,\iB)}(s,t){%
       {\OmegaA{\iA}{\iB}{s}{t}}%
       {\OmegaB{\iA}{\iB}{s}{t}}%
       {\Bild{\iA}{\iB}{s}{t}}}
       \psZeichnen{\iA}{\iB}{1}
      }%
     }
    \end{pspicture}
 \end{frame}
\end{document}
[\code]

CrazyHorse
Forum-Guru
Forum-Guru
Beiträge: 252
Registriert: Di 16. Mär 2010, 09:39

Re: defFunction in PSTricks

Beitrag von CrazyHorse »

Zombieoffice hat geschrieben:

Später wird u11 in multido über

\psSolid[object=surfaceparameter, base=0 1 0 1, ... , function=u11(\iA,\iB)]
ich hab erstmal dein Beispiel zusammengestrichen. Was soll denn
\OmegaA und \OmegaB sein? Ein Aufruf mit u11(\iA,\iB) geht nicht!
\documentclass{article}

\usepackage{pst-solides3d}

\makeatletter
\def\psZeichnen{\pst@object{psZeichnen}}
\def\psZeichnen@i(#1,#2,#3){%
  \psSolid[object=surfaceparametertree, 
           base=0 1 0 1, inhue=0.8 0.2, hue=0.8 0.2, 
           function=u1#3#1#2, linewidth=0.01, ngrid=25 25]}
\makeatother

\begin{document}

\begin{pspicture}(0,0)(1,0.16)
\psset{viewpoint=0.1 -0.5 2, Decran=20,algebraic}
\multido{\iA=1+1}{zahl1}{%
  \multido{\iB=1+1}{zahl2}{%
    \defFunction{u11\iA\iB}(s,t){%
       {\OmegaA{\iA}{\iB}{s}{t}}%
       {\OmegaB{\iA}{\iB}{s}{t}}%
       {\Bild{\iA}{\iB}{s}{t}}}
    \psZeichnen{\iA}{\iB}{1}}}
\end{pspicture}

\end{document} 
Herbert

Antworten