我想繪製任意曲線的切線和法線,如下圖所示。
\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}