如何在 TikZ 中画一名潜水员?

如何在 TikZ 中画一名潜水员?

如何绘制在 Ti 中高水塔中接受训练的潜水员Z?

在此处输入图片描述

我已(能)做(能)做的一切:

\documentclass[tikz,margin=3mm]{standalone}
\usepackage{siunitx}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\draw (0,4.5)--(0,0)--(2,0)--(2,4.5);
\draw (0,0) rectangle (2,4);
\foreach \i in {0.2,0.6,...,3.9}
    \draw[ultra thin,cyan,dash pattern=on 4pt off 4pt] (0,\i)--(2,\i);
\foreach \i in {0.4,0.8,...,3.9}
    \draw[ultra thin,cyan,dash pattern=on 4pt off 4pt,dash phase=4pt] (0,\i)--(2,\i);
\draw (-1,0)--(3,0);
\fill[pattern=north east lines] (-1,0) rectangle (3,-.2);
% Do something with the diver at (1,1)
\begin{footnotesize}
\draw[very thin] (1.5,3)--(2.5,3.1) node[right,align=left] {
    sea water\\
    (density 1020 \si{kg.m^{-3}}\\
    or 1.02 \si{g.cm^{-3}})
};
\draw[very thin] (1,1)--(2.5,1.2) node[right] {diver};
\end{footnotesize}
\end{tikzpicture}
\end{document}

在此处输入图片描述

我不会画潜水员。我见过很多 Ti这个网站上有 Z 画的人,但没有一个是潜水员。

而且,如果我能画出潜水员,我也无法清除潜水员身后的“水”蓝色虚线。

请帮助我。提前谢谢您。

很抱歉,我无法提供分辨率和质量更好的图像。

答案1

可以画出这样的东西,但正如 Uwe Ziegenhagen 所说,这需要付出很多努力。(不会花几个小时,但肯定超过 10 分钟。)这种图形的主要问题是永远无法真正完成,总有一些东西可以进一步调整。

\documentclass[tikz,margin=3mm]{standalone}
\usepackage{siunitx}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}

\draw (0,4.5)--(0,0)--(2,0)--(2,4.5);
\draw (0,0) rectangle (2,4);
\foreach \i in {0.2,0.6,...,3.9}
    {\draw[ultra thin,cyan,dash pattern=on 4pt off 4pt] (0,\i)--(2,\i);}
\foreach \i in {0.4,0.8,...,3.9}
    {\draw[ultra thin,cyan,dash pattern=on 4pt off 4pt,dash phase=4pt]
    (0,\i)--(2,\i);}
\draw (-1,0)--(3,0);
\fill[pattern=north east lines] (-1,0) rectangle (3,-.2);
% Do something with the diver at (1,1)
\draw[very thin] (1.5,3)--(2.5,3.1) node[right,align=left,font=\footnotesize] {
    sea water\\
    (density 1020 \si{kg.m^{-3}}\\
    or 1.02 \si{g.cm^{-3}})
};
% \draw[red] (0,0) grid[step=0.1] (2,2);
% \draw[red,thick] (0,0) grid[step=1] (2,2);
\begin{scope}[fill=white]
 % back leg
 \filldraw (1.7,0.8) to[out=180,in=-30] (1.3,1)
 to[out=150,in=-20] (1,1.1) -- (1,1.15)  -- (1.1,1.15) 
 to[out=0,in=150] (1.3,1.1) to[out=-30,in=-150] 
 (1.4,1.05) to[out=30,in=130] (1.5,0.95) to[out=-40,in=150] cycle;
 % front leg
 \filldraw (1.6,1.3) to[out=175,in=20] (1.3,1.3) to[out=-160,in=30] (1.2,1.2)
 to[out=-150,in=0] (1,1.1) to[out=180,in=-20] (0.7,1.2)
 to (0.75,1.4) to[out=0,in=150] (1,1.2) to[out=30,in=-120] (1.3,1.4)
 to cycle;
 % belt
 \filldraw (0.7,1.2) to (0.75,1.4) to (0.71,1.42) to (0.66,1.22) to cycle;
 % belly
 \filldraw (0.66,1.22) to[out=180,in=-20] (0.5,1.23) to (0.71,1.42) to cycle;
 % torso
 \filldraw (0.71,1.42) to[out=-100,in=0] (0.55,1.2) to[out=180,in=-30]
 (0.35,1.3) to[out=150,in=-90,looseness=0.4] (0.3,1.4)
 arc(270:30:0.1 and 0.11) to[out=-60,in=180] cycle;
 % hand
 \draw[fill=black] (1.05,1.22) -- (0.95,1.2) arc(-90:90:0.02) -- 
 (1.05,1.24) arc(90:-90:0.01) --
 cycle;
 % arm
 \filldraw (0.95,1.2) to[out=170,in=0] (0.45,1.35) 
 to[out=180,in=170,looseness=1.2]  (0.45,1.45) 
 to[out=-10,in=160] (0.95,1.25) to[out=-20,in=-10,looseness=1.2] cycle;
 % oxygen
 \filldraw (0.8,1.4) to (0.5,1.45) to[out=160,in=160] (0.55,1.55)
 to (0.82,1.5) to cycle;
 % googles
 \draw[thick] (0.38,1.58) -- (0.2,1.5);
 \fill[black] (0.19,1.46) arc(-70:110:0.03) -- cycle;
 % tube
 \draw[double,line cap=round] (0.23,1.45) to[out=-90,in=-70,looseness=1.6] (0.3,1.45) -- 
 (0.26,1.7);
\end{scope}
\draw[very thin] (1.1,1.2)--(2.5,1.4) node[right] {diver};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容