如果角度值和径向函数都以代数(中缀)形式给出,则如何绘制一个点?

如果角度值和径向函数都以代数(中缀)形式给出,则如何绘制一个点?
\documentclass[preview,border=12pt]{standalone}
\usepackage{pst-plot}
\psset{polarplot}
\def\RPN#1{2 #1 10 div exp}
\def\Infix#1{2^(#1/10)}

\begin{document}
\begin{pspicture}[showgrid=true](-3,-3)(3,3)
    \psplot{2 Pi mul neg RadtoDeg}{2 Pi mul RadtoDeg}{\RPN{x DegtoRad}}
    \qdisk(!\RPN{Pi 3 mul 2 div} Pi 3 mul 2 div RadtoDeg PtoC){3pt}
\end{pspicture}\qquad
\begin{pspicture}[showgrid=true](-3,-3)(10,3)
    \psplot[algebraic]{2 Pi mul neg}{2 Pi mul}{\Infix{x}}
    %\qdisk(<your expression using \Infix goes here>){3pt} 
\end{pspicture}
\end{document}

如果角度值和径向函数都以代数(中缀)形式给出,则如何绘制一个点?

注意:角度和半径都必须适应中缀表达式,例如3*Pi/2角度和2^(3*Pi/2/10)半径。

答案1

\documentclass[border=12pt]{standalone}
\usepackage{pst-plot}
\def\ItoP{ AlgParser cvx }
\def\AtoP{ \ItoP exec x RadtoDeg PtoC}
\def\psDot(#1,#2){\psdot[dotscale=2](! #1 \ItoP /x ED #2 \AtoP)}

\def\Y#1{(2^(#1/10))}
\def\X#1{(#1)}

\begin{document}
\begin{pspicture}[showgrid](-3,-3)(3,3)
  \psplot[algebraic,polarplot]{2 Pi mul neg}{2 Pi mul}{\Y{x}} 
%  \psDot(\X{Pi}, \Y{x})
  \psDot(\X{3*Pi/10}, \Y{x})
\end{pspicture}

\end{document}

在此处输入图片描述 在此处输入图片描述

答案2

这只是另一种更简单的方法,但它完全不好,因为我们必须手动确定象限(无论它是在轴下方还是上方,都必须手动确定纵坐标的符号x)。

\qdisk(+{\Infix{(3*Pi/2)}*cos(3*Pi/2)},{-sqrt((\Infix{(3*Pi/2)})^2-x^2)}){3pt} 

妇女权利委员会:

\documentclass[preview,border=12pt]{standalone}
\usepackage{pst-plot}
\psset{polarplot}

\def\Infix#1{2^(#1/10)}

\begin{document}
\begin{pspicture}[showgrid=true](-3,-3)(3,3)
    \psplot[algebraic]{2 Pi mul neg}{2 Pi mul}{\Infix{x}}
    \qdisk(+{\Infix{(3*Pi/2)}*cos(3*Pi/2)},{-sqrt((\Infix{(3*Pi/2)})^2-x^2)}){3pt} 
\end{pspicture}
\end{document}

相关内容