绘制隐式函数时出现 PostScript 错误

绘制隐式函数时出现 PostScript 错误

这个问题的灵感来自我对另一个问题的回答。我想提供另一种隐函数图解决方案。不幸的是,以下代码会产生 PostScript 错误/undefinedresult in --exp--。如何修复?

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-func}
\begin{document}
\begin{pspicture}(-2,-2)(2,2)
  \psplotImp[linecolor=red,stepFactor=0.2,algebraic](-2,-2)(2,2){x^(2/3)+y^(2/3)-2^(2/3)}
\end{pspicture}
\end{document}

答案1

该怎么办? (-2)^0.667 是不可能的,写成(x^2)^(1/3)

使用

\psplotImp[linecolor=red,stepFactor=0.1,
    
           algebraic](-2.1,-2.1)(2.1,2.1){(x^2)^0.333+(y^2)^0.333-4^0.333}


在此处输入图片描述

并且正如文档中提到的那样,使用小于迭代区域的剪切区域,这是剪切所有“moveto”行所需的,这可以在 Heikos 的回答中看到:

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-func}
\begin{document}
\begin{pspicture*}(-2,-2)(2,2)
  \psplotImp[linecolor=red,stepFactor=0.1,
    algebraic](-2.1,-2.1)(2.1,2.1){(x^2)^0.333+(y^2)^0.333-4^0.333}
\end{pspicture*}
\end{document}

答案2

ghostscript 解释器在打印部分虚空间中的图时遇到了一些麻烦。x和的范围y包括负数,并且指数不是整数。exp运算符不支持这一点后记

经验根据 指数 经验 真实的

加薪根据指数幂。操作数可以是整数或 r 数。如果指数有小数部分,则只有当底数为非负时结果才有意义。结果始终是实数。

例子
     9 0.5 经验值 ⇒ 3.0
   -9 -1 经验值 ⇒ -0.111111

错误堆栈下溢类型检查未定义结果

在您的情况下,您会得到后一个错误undefinedresult。如果范围限制为非负数,则该示例有效。

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-func}
\begin{document}
\begin{pspicture}(0,0)(2,2)
  \psplotImp[linecolor=red,stepFactor=0.2,algebraic](0,0)(2,2){x^(2/3)+y^(2/3)-2^(2/3)}
\end{pspicture}
\end{document}

结果

相关内容