如何使用自定义的弯曲边(例如,由图形中的边缘绘制)之间的路径进行剪辑?

如何使用自定义的弯曲边(例如,由图形中的边缘绘制)之间的路径进行剪辑?

在下一个 MWE 中,我尝试使用由节点之间的边缘绘制的路径(一个圆圈)进行剪辑,但没有成功。automata不过,使用 绘制它并不是必需的。但重点是:

能够使用路径剪辑(自定义)弯曲边缘

例如,像在 MWE 中一样,可以用节点之间的边来绘制路径。此后的圆应该被路径裁剪掉。

因此,我猜解决方案是将节点重新声明为坐标,在它们之间绘制路径并像往常一样进行剪辑。但这样我就失去了使用边缘选项(弯曲角度)进行绘制的可能性

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{automata}

\begin{document}

\begin{tikzpicture}

\node (A) at (1,1) {a}; 
\node (B) at (2,2) {b}; 
\node (C) at (3,1) {c}; 

\path[draw] 
(A) edge[bend right=-30,red,->] (B) 
(B) edge[bend right=-30,blue,dashed] (C)
(C) edge[bend right=-30,green,dotted] (A);
\begin{scope}[xshift=3cm]

\node (A) at (1,1) {a}; 
\node (B) at (2,2) {b}; 
\node (C) at (3,1) {c}; 

\path[clip] 
(A) edge[bend right=-30,red,->] (B) 
(B) edge[bend right=-30,blue,dashed] (C)
(C) edge[bend right=-30,green,dotted] (A);
\path[fill=blue!50] (2, 1.7) circle (.8);
\end{scope}

\end{tikzpicture}

\end{document}

在此处输入图片描述

哪里出了问题?为什么圆圈没有被路径裁剪掉?其他流程能做好吗?添加-- cycle它也没有用。

想要的效果(这里是手动调整的)是这样的:

在此处输入图片描述

解决方案可能不需要使用automata,只要我可以独立地在每个边缘弯曲(的替代品)。

\path[clip] 
(A) edge[bend right=-30,red,->] (B) 
(B) edge[bend right=-30,blue,dashed] (C)
(C) edge[bend right=-30,green,dotted] (A) -- cycle;
\path[fill=blue!50] (2, 1.7) circle (.8);

答案1

只是为了证明这是可以做到的:

未加评论

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{automata}

\begin{document}

\begin{tikzpicture}

\begin{scope}[xshift=3cm]

\node (A) at (1,1) {a}; 
\node (B) at (2,2) {b}; 
\node (C) at (3,1) {c}; 

\begin{scope}

\path[draw]
(A) 
edge [bend right=-30,red,->] 
coordinate[pos=1] (Bl) 
coordinate[pos=0] (At) 
(B)
(B)  
edge [bend right=-30,blue,dashed] 
coordinate[pos=1] (Ct) 
coordinate[pos=0] (Br) 
(C)
(C) 
edge [bend right=-30,green,dotted] 
coordinate[pos=1] (Ar) 
coordinate[pos=0] (Cl) 
(A);

\path[
clip,
%draw,
%green
]
(At) to [bend right=-30] (Bl) 
to [bend right=-10]  (Br) to [bend right=-30]   
 (Ct) to (Cl)
to [bend right=-30] (Ar) 
 to (At) to cycle
;

  \fill[opacity=0.1] (2, 1.7) circle (.8);
\end{scope}
\end{scope}

\end{tikzpicture}

 \end{document}

在此处输入图片描述

相关内容