次のように、任意の曲線の接線と法線を描画します。
\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}