![如何调整贝塞尔曲线的箭头尖端?](https://linux22.com/image/265242/%E5%A6%82%E4%BD%95%E8%B0%83%E6%95%B4%E8%B4%9D%E5%A1%9E%E5%B0%94%E6%9B%B2%E7%BA%BF%E7%9A%84%E7%AE%AD%E5%A4%B4%E5%B0%96%E7%AB%AF%EF%BC%9F.png)
我想调整左侧贝塞尔曲线的箭头尖端,使其看起来像右侧的箭头尖端。
由于没有 \ncbezier
或\pcbezier
可用,我无法用它nodesep
来调整它。arcsep
也不起作用。
使用\psbezier{->}([offset=4pt]R)([offset=-4pt]CR)([offset=-4pt]CL)([offset=4pt]L)
并不完美,因为它会产生一条不同的新贝塞尔曲线。在右图中,您能看到第一条创建的贝塞尔曲线所包围的填充区域并没有被第二条曲线完全包围吗?
\documentclass[border=12pt]{standalone}
\usepackage{pst-node}
\addtopsstyle{gridstyle}{griddots=0,gridwidth=0.4pt,subgriddiv=10,subgridwidth=0.1pt}
\def\Common{%
% define nodes
\pnode(0,0){L}
\pnode(1;45){T}
\pnode(!2 sqrt 0){R}
\pnode[-0.5,0.75](T){CL}
\pnode[0.5,0.75](T){CR}
% draw a bezier curve
\pscustom[fillstyle=solid,fillcolor=red,linestyle=none]{\psbezier(R)(CR)(CL)(L)\closepath}
% draw dots
\pscircle(L){4pt}
\pscircle(R){4pt}
}
\begin{document}
\begin{pspicture}[showgrid=false](1.45,1.25)
\Common
\psbezier{->}(R)(CR)(CL)(L)
\end{pspicture}
\qquad
\begin{pspicture}[showgrid=false](1.45,1.25)
\Common
\psbezier{->}([offset=4pt]R)([offset=-4pt]CR)([offset=-4pt]CL)([offset=4pt]L)
\end{pspicture}
\end{document}
那么如何调整呢?更普遍的问题是:是否可以将箭头放在路径上的任何点(就像在 TikZ 中一样)?
答案1
赫伯特想出了一个解决方案他的主页。