如何填充自定义形状?

如何填充自定义形状?

在下面的代码中,我想用虚线填充由 $v_2, v_3, v_5$ 定义的区域。我知道如何填充形状,如果连接 $v2$ 和 $v3$ 的线没有弯曲

\draw[fill = gray] (v2)--(v3)--(v5) cycle

但我该怎么做才能

  1. 填充至弯折线
  2. 得到虚线填充。
\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{arrows}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\path 
(1,2) coordinate (v1) node[below]{$v_1$}
(2,0) coordinate (v2) node[below]{$v_2$}
(3,0) coordinate (v3) node[below]{$v_3$}
(4,4) coordinate (v4) node[above]{$v_4$}
(3,3) coordinate (v5) node[above]{$v_5$};
\draw (v1)--(v2) (v3)--(v4) (v2)--(v5) (v3)--(v5);
    
\draw (v2).. controls +($.1*(v2)-.1*(v1)$) and +($.1*(v3)-.1*(v4)$) .. (v3);  
    
\foreach \p in {v1,v2,v3,v4,v5}
\fill (\p) circle(2pt);
\end{tikzpicture}
\end{document}

非常感谢您的帮助。

答案1

首先,关闭你的路径。然后填充它。

如果你填写橙色,你会得到:

橙子

如果您想用虚线填充来填充它,请使用patternspatterns.meta库:

图案

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{arrows}
\usetikzlibrary{positioning}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\path 
(1,2) coordinate (v1) node[below left]{$v_1$}
(2,0) coordinate (v2) node[below left]{$v_2$}
(3,0) coordinate (v3) node[below right]{$v_3$}
(4,4) coordinate (v4) node[above]{$v_4$}
(3,3) coordinate (v5) node[above]{$v_5$};
\draw (v1)--(v2) (v3)--(v4) (v2)--(v5) (v3)--(v5);
    
%\draw[fill=orange] (v2).. controls +($.1*(v2)-.1*(v1)$) and +($.1*(v3)-.1*(v4)$) .. (v3) -- (v5) -- cycle;  
\draw[pattern=north west lines, pattern color=blue] (v2).. controls +($.1*(v2)-.1*(v1)$) and +($.1*(v3)-.1*(v4)$) .. (v3) -- (v5) -- cycle;  
    
\foreach \p in {v1,v2,v3,v4,v5}
\fill (\p) circle(2pt);
\end{tikzpicture}
\end{document}

相关内容