如何提高 \psTangentLine 的准确性?

如何提高 \psTangentLine 的准确性?

我想要绘制任意曲线的切线和法线,如下所示。

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pstricks-add}

\begin{document}
\begin{pspicture}[showgrid](6,3)
    \pscurve[curvature=1 1 1](0,0)(1,2)(2,1)(4,2)(6,1)
    \psTangentLine[Tnormal,linecolor=blue](2,1)(4,2)(6,1){3}{0.25}
    \psTangentLine[linecolor=red](2,1)(4,2)(6,1){3}{1}
    \pscircle*[linecolor=green](OCurve){3pt}
\end{pspicture}
\end{document}

在此处输入图片描述

不幸的是,上述线条经过的点不在曲线上。哪里出了问题?如何解决?

答案1

问题在于,您在另一条曲线上绘制切线,而不是原始曲线。第一个曲线用 5 个点定义,而不是用 3 个点定义的曲线。

在此处输入图片描述

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pstricks-add}

\begin{document}
\begin{pspicture}[showgrid](6,3)
    \pscurve[curvature=1 1 1,linecolor=yellow](0,0)(1,2)(2,1)(4,2)(6,1)
    \pscurve[curvature=1 1 1](2,1)(4,2)(6,1)
    \psTangentLine[Tnormal,linecolor=blue](2,1)(4,2)(6,1){3}{0.25}
    \psTangentLine[linecolor=red](2,1)(4,2)(6,1){3}{1}
    \pscircle*[linecolor=green](OCurve){3pt}
\end{pspicture}
\end{document}

相关内容