如何在 PSTricks 中定义两个参数的数学方程?

如何在 PSTricks 中定义两个参数的数学方程?

我要使用 PSTricks 绘制一个 3D 函数\parametricplotThreeD。在控制边界值和公式方面,两个参数中的 Z 坐标非常尴尬,因此我决定将其分解为可承受的函数。

对于数学函数(作为示例),

f(t, u) = (1-u)cos(t) + uSin(t/3),

我使用了一些 tex.stackexchange 问题并将我的函数定义为,例如,

\documentclass{minimal}

\usepackage{pstricks}

\usepackage{pst-solides3d}%Drawing
\usepackage{pst-3dplot}%

\usepackage[nomessages]{fp}% http://ctan.org/pkg/fp


\begin{document}

\newcommand{\fMathFunction}[2]
{\FPeval\result{(1-#2)(cos(#1)) + (#2)(sin((#1)/3))}\result}.

\parametricplotThreeD[algebraic, xPlotpoints=20,
linecolor=blue,%
linewidth=0.5pt,plotstyle=curve](0, 1)(0, 1){%
t|\fMathFunction{t}{u}|2+sqrt(\fMathFunction{t}{u})}%

\end{pspicture}
\end{document}

我收到很多错误。

我想知道是否可以在两个变量中定义一个函数以及如何使用它。如果我搬家了,那么我还想定义另一个函数,比如

g(t, u) = 2 + sqrt (f(g, u)),

并用它代替 Z。

编辑1:我做这道题的目的不是画图。我想知道是否有可能在两个变量中定义一个自定义数学函数。我们已经知道如何定义一个自定义的f(x)。我喜欢定义一个自定义的f(x,y)

答案1

我不明白g(t,u) = 2 + sqrt(f(t,u))应该如何处理0..1f(t,u)可以为负数。但是,不需要参数函数:

\documentclass{article}
\usepackage{pst-solides3d}
\begin{document}

\psset{viewpoint=30 -50 30 rtp2xyz,Decran=50,lightsrc=viewpoint}
\begin{pspicture}(-1,-1)(3,7.5)
\psSolid[object=grille,base=0 3 0 3,action=draw]
\psSurface[ngrid=.1 .1,incolor=yellow,axesboxed,Zmin=-2,Zmax=4,
    linewidth=0.5\pslinewidth,
    algebraic,hue=0 1](0,0)(3,3){(1-y)*cos(x)+y*sin(x/3)}
\end{pspicture}

\end{document}

在此处输入图片描述

或者使用定义的函数:

\def\myFunction(#1,#2){(1-#2)*cos(#1)+#2*sin(#1/3)}
\psset{viewpoint=30 -50 30 rtp2xyz,Decran=50,lightsrc=viewpoint}
\begin{pspicture}(-1,-1)(3,7.5)
    \psSolid[object=grille,base=0 3 0 3,action=draw]
    \psSurface[ngrid=.1 .1,incolor=yellow,axesboxed,Zmin=-2,Zmax=4,
    linewidth=0.5\pslinewidth,
    algebraic,hue=0 1](0,0)(3,3){\myFunction(x,y)}
\end{pspicture}

相关内容