答案1
不幸的是,您的图几乎无法读取。因此,以下内容可能有用,也可能没用。
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{patterns}
\tikzset{% from https://tex.stackexchange.com/a/29367/121799
hatch distance/.store in=\hatchdistance,
hatch distance=10pt,
hatch thickness/.store in=\hatchthickness,
hatch thickness=2pt
}
\makeatletter
\pgfdeclarepatternformonly[\hatchdistance,\hatchthickness]{flexible hatch}
{\pgfqpoint{0pt}{0pt}}
{\pgfqpoint{\hatchdistance}{\hatchdistance}}
{\pgfpoint{\hatchdistance-1pt}{\hatchdistance-1pt}}%
{
\pgfsetcolor{\tikz@pattern@color}
\pgfsetlinewidth{\hatchthickness}
\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
\pgfpathlineto{\pgfqpoint{\hatchdistance}{\hatchdistance}}
\pgfusepath{stroke}
}
\makeatother
\begin{document}
\begin{tikzpicture}[elli/.style args={#1 and #2}{insert path={
(#1,0) arc (0:360:#1 and #2)}}]
\draw[green!60!black,pattern=north east lines,pattern color=green!60!black,
even odd rule,elli=3*1.25 and 2*1.25,elli=3 and 2] coordinate[pos=0.5] (x1)
coordinate[pos=0.6] (x2);
\draw[purple,pattern=flexible hatch,pattern color=purple,
even odd rule,elli=3*1.5 and 2*1.5,elli=3*0.75 and 2*0.75];
\draw[red,thick] (x1) circle (1.5 and 0.8);
\draw[red,thick,rotate=15] (x2) circle (1.5 and 0.8);
\end{tikzpicture}
\end{document}
至于是否应该学习使用 LateX 绘制此类图形的问题:这取决于你。参见这次讨论以获得更多想法。