PSTricks 在 Tikz 中与‘控制’对应的词是什么?

PSTricks 在 Tikz 中与‘控制’对应的词是什么?
\documentclass[tikz,border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
%==================
\begin{tikzpicture}[scale=1, font=\footnotesize, line join=round, line cap=round, >=stealth]
\draw[->] (-0.5,0) -- (4,0) node[below] {$x$};
\draw[->] (0,-2) -- (0,3) node[left] {$y$};
\draw($(0,0)$)node[below left]{$O$};

\draw[blue] (-95:0.8)+(0,-1)..controls +(85:8) and +(-100:5)..(2,1)
..controls +(-70:1) and +(-110:0.5)..(3,2)
..controls +(-80:1) and +(95:0.5)..(3.4,-0.8)node[right]{$y=f'(x)$};

\draw[dashed] (2,0)node[below]{$2$}|-(0,1)node[left]{$1$};
\draw[dashed] (3,0)node[below]{$3$}|-(0,2)node[left]{$2$};
\draw[dashed] (0,-1)node[left]{$-1$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

P/s:我需要一个以后可以用的官方方法。

答案1

没有直接的转换此类坐标的方法,但可以使用!运算符在 PostScript 级别完成!但是,用贝塞尔曲线绘制函数的导数是没有意义的。PSTricks 使用三次样条函数,但也可以使用其他类型。对于导数,应该使用可选参数Derivepstricks-add逐步绘制多项式的导数:

\documentclass[pstricks,border=5mm]{standalone}
\usepackage{pst-plot}
\begin{document}

\begin{pspicture*}[showgrid](-1,-2)(4,3)
\psaxes[labels=none]{->}(0,0)(-1,-2)(4,3)
\psplot[algebraic]{-0.1}{2}{3*(x-0.1)*(x-1.2)*(x-1.75)}
\psplot[algebraic]{2}{3}{3*(x-2.4)^2+0.7}
\pscurve(3,1.8)(3.3,0)(3.4,-1)
\end{pspicture*}

\end{document}

在此处输入图片描述

但是,来自的图TikZ使用了curve来自 pdf 的程序,其行为与来自 PSTricks 的行为不同。

\documentclass[pstricks,border=5mm]{standalone}
\usepackage{pst-plot}
\begin{document}

\begin{pspicture}[showgrid](-1,-2)(4,3)
\psaxes[labels=none]{->}(0,0)(-1,-2)(4,3)
\makeatletter
\psbezier(!0.8 -95 PtoC 1 sub)%
         (!2 copy \tx@UserCoor 8 85 PtoC addCoors)%
         (!2 copy \tx@UserCoor 5 -100 PtoC addCoors)%
         (2,1)%
         (!2 copy \tx@UserCoor 1 -70 PtoC addCoors)%
         (!2 copy \tx@UserCoor 0.5 -110 PtoC addCoors)%
         (3,2)
         (!2 copy \tx@UserCoor 1 -80 PtoC addCoors)%
         (!2 copy \tx@UserCoor 0.5 95 PtoC addCoors)%
         (3.4,-0.8)
\end{pspicture}

\end{document}

在此处输入图片描述

答案2

这些是贝塞尔曲线,它们是通过实现的pstricks\psbezier请参阅手册第 20 页:

在此处输入图片描述

到目前为止一切顺利。但是,据我所知,+(x,y)中既没有实现坐标的自动解析,也没有实现语法pstricks。也就是说,无法将您的代码直接转换为pstricks。只是为了表明,当手动快速估计坐标时,可以得到类似的图。

\documentclass[pstricks]{standalone}
\begin{document}
\begin{pspicture}(-1,-2)(4,3)
\psline{->}(-0.5,0)(4,0) 
\psline{->}(0,-2)(0,3)
\psbezier[linecolor=blue](-0.05,0.2)(0.3,6.7)(-0.2,-4.7)(2,1)
\end{pspicture}
\end{document}

正如您所见,我无意雇用\pscalculate来更精确地计算坐标,也无意添加几个明确的\rputs,但如果您有这种热情,您将能够将您的图片转换为pstricks

相关内容