Как повысить точность \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}

Связанный контент