
종이에 더 좋은 품질의 이 사진이 필요하지만 원하는 만큼 Tikz에 능숙하지 않습니다.
나는 원, 점 및 화살표를 구성하는 방식의 일부를 수행했지만 상상했던 대로 노드 중 하나에서 원이 부분적으로 지워지는 것과 같은 세부적인 작업을 수행할 수 없습니다. 아니면 화살표가 있는 이상한 곡선 T_T.
내가 사용하고 있는 문서의 클래스는 기사 클래스의 변형입니다.
이것이 내가 지금까지 한 일이다:
\documentclass{article}
%Packages for the TIKZ%
\usepackage{xcolor}
\definecolor{azul}{RGB}{187,233,255}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning}
\tikzset{
%Define standard arrow tip
>=stealth',
% Define arrow style
pil/.style={
->,
thick,
shorten <=2pt,
shorten >=2pt,}
}
\begin{document}
\begin{tikzpicture}
\draw[thick,->] (0,0) -- (5,0) node[anchor=north west] {x};
\draw[thick,->] (0,0) -- (0,5) node[anchor=south east] {y};
\filldraw[azul, draw=black, thick] (2.5,2.5) circle (2cm);
\filldraw[white, draw=black, thick] (2.5,2.5) circle (0.75cm);
\filldraw[black] (2.5,2.5) circle (3pt) node [anchor= south] {$\delta$};
\filldraw[black] (2.11,2.05) circle (3pt);
\draw[thick,->] (2.5,2.5) -- (3.03,3.03);
\draw[thick] (2.5,2.5) -- (1.8,3.07) node [anchor= south east] {$\epsilon$};
\draw[thick,->] (1.3,3.50) -- (0.93,3.78);
\end{tikzpicture}
\end{document}
제가 재현하려는 이미지는 다음과 같습니다.
답변1
시작점 및 사용 방법이 좋은 대답~에서헨리 멘케왼쪽 이미지에만 해당됩니다. 원하는 곡선 모양에 따라 좌표를 수동으로 설정해야 합니다.
\documentclass[margin=3mm]{standalone}
%Packages for the TIKZ%
\usepackage{xcolor}
\definecolor{azul}{RGB}{187,233,255}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning}
\usetikzlibrary{decorations.markings}
\tikzset{
%Define standard arrow tip
>=stealth',
% Define arrow style
pil/.style={
->,
thick,
shorten <=2pt,
shorten >=2pt,}
}
\tikzset{
set arrow inside/.code={\pgfqkeys{/tikz/arrow inside}{#1}},
set arrow inside={end/.initial=>, opt/.initial=},
/pgf/decoration/Mark/.style={
mark/.expanded=at position #1 with
{
\noexpand\arrow[\pgfkeysvalueof{/tikz/arrow inside/opt}]{\pgfkeysvalueof{/tikz/arrow inside/end}}
}
},
arrow inside/.style 2 args={
set arrow inside={#1},
postaction={
decorate,decoration={
markings,Mark/.list={#2}
}
}
},
}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (2.11,2.05);
\coordinate (B) at (2.5,2.5);
\draw[thick,->] (0,0) -- (5,0) node[anchor=north west] {x};
\draw[thick,->] (0,0) -- (0,5) node[anchor=south east] {y};
\filldraw[azul, draw=black, thick] (2.5,2.5) circle (2cm);
\filldraw[white, draw=black, thick] (2.5,2.5) circle (0.75cm);
\draw[thick,->] (2.5,2.5) -- (3.03,3.03);
\draw[thick] (2.5,2.5) -- (1.8,3.07) node [anchor= south east] {$\epsilon$};
\draw[thick,->] (1.3,3.50) -- (0.93,3.78);
\draw[blue, thick] plot [smooth,tension=1]
coordinates {(A) (2.3,2.1) (2.65,1.6) (3.5,1.8) (4,2.5) (B)}
[arrow inside={end=stealth,opt={blue,scale=2}}{0.3,0.5,0.75,0.97}];
\filldraw[black] (B) circle (3pt) node [anchor= south] {$\delta$};
\filldraw[black] (A) circle (3pt);
\end{tikzpicture}
\end{document}
답변2
두 곡선은 TikZ가 다른 것 같습니다. 처음으로 그렸어요취미곡선과 두 번째는타원. 표시도 다릅니다. 따라서 나는 서문에서 두 가지 유형의 장식(다른 유형의 인수 포함)을 정의했습니다.
두 번째 곡선의 글머리 기호는 시행착오를 통해 구성되었습니다. 어쩌면 나중에 도면이 필요하고 약간 수정해야 하는 경우에는 타원을 따라 매개변수를 통해 글머리 기호를 정의하는 것이 더 나을 것입니다.
\documentclass[11pt, margin=1cm]{standalone}
\usepackage{tikz}
\definecolor{azul}{RGB}{187, 233, 255}
\usetikzlibrary{arrows}
\usetikzlibrary{calc, math, hobby, decorations.markings}
\tikzset{
>=stealth', % define standard arrow tip
pil/.style={ % define arrow style
->,
thick,
shorten <=2pt,
shorten >=2pt
},
show two/.style={% define markings along path
decorate, decoration={markings,
mark=between positions .1 and .99 step .5 with {
{\arrow[blue, line width=.8pt]{#1}};
}
}
},
show three/.style={% define markings along path
decorate, decoration={markings,
mark=between positions .3 and .99 step #1 with {
{\arrow[blue, line width=.8pt]{>}};
}
}
}
}
\begin{document}
\tikzmath{
real \R, \r;
\R = 2;
\r = .75;
}
\begin{tikzpicture}[every node/.style={color=black, scale=.7}]
\draw[very thin, ->] (0,0) -- (5,0) node[anchor=north west] {$x$};
\draw[very thin, ->] (0,0) -- (0,5) node[anchor=south east] {$y$};
\path (2.5, 2.5) coordinate (B);
\path
($(B)+(240:.7*\r)$) coordinate (A1)
($(B)+(270:.65*\r)$) coordinate (A2)
($(B)+(269:1.3*\r)$) coordinate (A3)
($(B)+(-70:1.8*\r)$) coordinate (A4)
($(B)+(-25:2.2*\r)$) coordinate (A5)
($(B)+(15:2.*\r)$) coordinate (A6)
($(B)+(-10:.9*\r)$) coordinate (A7)
($(B)+(-30:.8*\r)$) coordinate (A8);
\draw[fill=azul, even odd rule] (B) circle (\R) (B) circle (\r);
\draw[->, gray] (B) -- node[pos=.6, fill=azul] {$\epsilon$} +(135: \R);
\draw[->, gray] (B) -- node[anchor=west, inner sep=1pt] {$\delta$} +(85: \r);
\draw[blue, thick, postaction={show three={.28}}]
(A1) to[curve through={(A2) (A3) (A4) (A5) (A6) (A7) (A8)}] (B);
\filldraw (B) circle (1.5pt) (A1) circle (1.5pt)
node[anchor=north east, inner sep=1pt] {$(\phi(0),\psi(0))$};
\end{tikzpicture}
\begin{tikzpicture}[every node/.style={color=black, scale=.7}]
\draw[very thin, ->] (0,0) -- (5,0) node[anchor=north west] {$x$};
\draw[very thin, ->] (0,0) -- (0,5) node[anchor=south east] {$y$};
\path (2.5, 2.5) coordinate (B);
\path ($(B)+(155:.76*\r)$) coordinate (A1);
\draw[fill=azul, even odd rule] (B) circle (\R) (B) circle (\r);
\draw[->, gray] (B) -- node[pos=.6, fill=azul] {$\epsilon$} +(130: \R);
\draw[->, gray] (B)
-- node[pos=.4, anchor=south east, inner sep=1pt] {$\delta$} +(55: \r);
\draw[blue, thick, postaction={show two={<}}, rotate=35]
(B) ellipse[x radius={\R-.01}, y radius=.5];
\filldraw (B) circle (1.5pt) (A1) circle (1.5pt)
node[anchor=south east, inner sep=1pt] {$(\phi(0),\psi(0))$};
\end{tikzpicture}
\end{document}