在下面的代码中,我想用虚线填充由 $v_2, v_3, v_5$ 定义的区域。我知道如何填充形状,如果连接 $v2$ 和 $v3$ 的线没有弯曲
\draw[fill = gray] (v2)--(v3)--(v5) cycle
但我该怎么做才能
- 填充至弯折线
- 得到虚线填充。
\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
首先,关闭你的路径。然后填充它。
如果你填写橙色,你会得到:
如果您想用虚线填充来填充它,请使用patterns
或patterns.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}