3D 绘制正弦积分 (PSTRICKS)

3D 绘制正弦积分 (PSTRICKS)

我想建立一个 3D 图(基于pst-solides3d),其中函数如下所示

x=uy=vz=\int_0^x \frac{\sin\left(\pi t \right)}{\pi t} - \frac{1}{3} \mathrm{d}t+\frac{1}{\pi^2}\sin\left(\pi \frac{x}{y}

我不知道如何在参数中定义这个函数(尤其是正弦积分)\defFunction。这是一个Si函数吗?提前致谢

答案1

该包pst-func有一个 PostScript 宏 Si,它需要堆栈上的一个值并返回积分。有关更多信息,请参阅 的文档pst-func。这里只是关于如何做到这一点的一个想法。不知道如何处理你的值,因为 PostScript 需要 sin 函数的度数,这可以在内部使用 完成DegtoRad

\listfiles
\documentclass{article}
\usepackage{pst-solides3d,pst-func}

\begin{document}
\psset{Decran=50,viewpoint=10 20 40 rtp2xyz,lightsrc=viewpoint}
\begin{pspicture}(-6,-4)(6,4)
\defFunction{func}(u,v)
  {u}
  {v}
  {u tx@FuncDict begin Si end u 3 div sub u v Div RadtoDeg sin Pi dup mul div add }  
\psSolid[object=surfaceparametree,base=-1 1 -1 1,function=func,
         ngrid=40 40,hue=0 1]
\end{pspicture}


$x=u$, $y=v$ and 
$z=\int_0^x \frac{\sin\left(\pi t \right)}{\pi t} - 
\frac{1}{3} \mathrm{d}t+\frac{1}{\pi^2}\sin\left(\pi \frac{x}{y}\right)$
\end{document}

在此处输入图片描述

答案2

在此处输入图片描述

能够使用自适应辛普森积分计算从到Asymptote的积分。但是,当使用 GNU 科学库 ( ) 配置时,它还包括函数。:fabGSLSi(x) = int(sin(t)/t, t=0..x)plot-si.tex

\documentclass[10pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{asymptote}
\usepackage{lmodern}
\DeclareMathOperator{\Si}{Si}
\begin{document}

\begin{align}
z&=\int_0^x \frac{\sin\left(\pi t \right)}{\pi t} - 
\frac{1}{3} \mathrm{d}t+\frac{1}{\pi^2}\sin\left(\pi \frac{x}{y}\right)
=\frac{\Si(\pi x)}{\pi}-\frac{x}3 +\frac{1}{\pi^2}\sin\left(\pi \frac{x}{y}\right)
\end{align}

\begin{asy}
size(200);
size3(200,200,50,IgnoreAspect);
import gsl;
import graph3;
import palette;
currentprojection=orthographic(camera=(3,5,4),up=(0,0,1),target=(0,0,0),zoom=0.9);
real f(pair p){return Si(pi*p.x)/pi-1/3*p.x+1/pi^2*sin(pi*p.x/p.y);}
real Arg(triple v) {return f((v.x,v.y));}
real ep=1e-7;
surface s=surface(f, (-1+ep,-1+ep),(1,1),nx=200);
s.colors(palette(s.map(Arg),Wheel()));
draw(s,render(merge=true));
\end{asy}

\end{document}

跑步latexmk -f pdf plot-si.tex

相关内容