Ich möchte sowohl die Tangente als auch die Normale für eine beliebige Kurve wie folgt zeichnen.
\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}
Leider liegt der Punkt, durch den die obigen Linien verlaufen, nicht auf der Kurve. Was ist falsch? Und wie kann man das Problem lösen?
Antwort1
Das Problem besteht darin, dass Sie Ihre Tangente auf einer anderen Kurve als der ursprünglichen zeichnen. Die erste ist mit 5 Punkten definiert und nicht die mit 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}