.png)
Я хочу отметить свои замкнутые кривые {Latex[length=4mm, cyan]}
какэтот. Обычно, чтобы отметить кривую, я использую пересечения, затем отмечаю новую пользовательскую отметку, isosceles triangle
вращаю и смещаю методом проб и ошибок. Но это неэффективно. Я бы хотел использовать что-то простое, например decorations.marking
или еще, потому что мне нужно просто отрегулировать положение стрелки, и это эффективно в использовании. Но поскольку моя кривая замкнута, я получил много ошибок при использовании decorations.markings
. Возможно ли это? Пожалуйста, поделитесь своими знаниями. Заранее спасибо.
Вот мой MWE:
\documentclass[tikz, border=1mm]{standalone}
\usetikzlibrary{arrows.meta, decorations.markings}
\begin{document}
\begin{tikzpicture}
\begin{scope}[>={Stealth[length=4mm]}]
\draw[<->, thick] (-4,0)--(4,0) node[below,shift={(-.2,-.2)}]{\Large $x$};
\draw[<->, thick] (0,-4)--(0,4) node[left, shift={(-.1,-.2)}]{\Large $y$};
\end{scope}
\begin{scope}[]
\draw[line width=1.5pt] (0,0) circle [radius=3cm];
\draw [red, line width=1.3pt]
(.1,.4) .. controls (1.2,1.8) and (.4,2.3) .. (-.5,1.9)
.. controls (-1.2,1.3) and (-1.8,1.5) .. (-2,1.4)
to[out=180,in=180] (-2,.2)
.. controls (-1.8,.1) and (0,.1) .. (.1,.4) -- cycle;
\end{scope}
\end{tikzpicture}
\end{document}
решение1
Вы можете просто определить mark
украшение для каждого пути и установить положение его стрелки, используя номер, связанный с этим украшением, после его вызова.
\documentclass[border=1mm]{standalone}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, decorations.markings}
\begin{document}
\begin{tikzpicture}
\begin{scope}[>={Stealth[length=4mm]}]
\draw[<->, thick] (-4,0)--(4,0) node[below,shift={(-.2,-.2)}]{\Large $x$};
\draw[<->, thick] (0,-4)--(0,4) node[left, shift={(-.1,-.2)}]{\Large $y$};
\end{scope}
\begin{scope}[thick,decoration={
markings,
mark=at position 0.35 with {\arrow[Cyan]{<}}}]
\draw[line width=1.5pt, postaction={decorate}] (0,0) circle [radius=3cm];
\end{scope}
\begin{scope}[thick,decoration={
markings,
mark=at position 0.65 with {\arrow[Cyan]{>}}}]
\draw [red, line width=1.3pt, postaction={decorate}]
(.1,.4) .. controls (1.2,1.8) and (.4,2.3) .. (-.5,1.9)
.. controls (-1.2,1.3) and (-1.8,1.5) .. (-2,1.4)
to[out=180,in=180] (-2,.2)
.. controls (-1.8,.1) and (0,.1) .. (.1,.4) -- cycle;
\end{scope}
\end{tikzpicture}
\end{document}