como desenhar uma imagem de motor turbojato

como desenhar uma imagem de motor turbojato

insira a descrição da imagem aqui

Esta é a primeira vez que uso o tikz, mas infelizmente não entendi como usá-lo corretamente (continuo fazendo bagunça e recebendo erros em todos os lugares), então esperava que vocês pudessem me ajudar a desenhar esse esquema com o tikz.

Responder1

Por exemplo assim:

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}

\usepackage{fontspec}
\setmainfont{Noto Serif CJK SC}

\begin{document}
\begin{tikzpicture}

\node[minimum size=5em] (a) {进气道};
\node[draw, minimum size=5em, right=of a] (b) {压气机};
\node[draw, minimum size=5em, right=of b] (c) {燃烧室};
\node[draw, minimum size=5em, right=of c] (d) {涡轮};
\node[minimum size=5em, right=of d] (e) {尾喷管};

\draw (b.south) -- +(0,-0.5) -| (d.south);
\draw[dashed] 
    ([yshift=-0.5cm]b.south) -- +(-4.5,0)
    ([yshift=-0.5cm]d.south) -- +(4.5,0);

\draw 
    ([shift={(-0.5,-0.75)}]a.north west) -- +(0,1.75)
        coordinate (ax)
        node[anchor=north east] {\strut 0}
    ([shift={(0.5,-0.5)}]e.south east) -- ([shift={(0.5,1)}]e.north east)
        coordinate (fx)
        node[anchor=north east] {\strut 8}
        node[anchor=north west] {\strut (9)};

\foreach \n [count=\i from 2] in {b,c,d,e} {
    \draw 
        ([shift={(-0.5,-0.25)}]\n.north west) -- +(0,1.25)
            coordinate (\n x)
            node[anchor=north east] {\strut \i};
}

\draw 
    ([yshift=-3em]ax) to[out=30, in=180] 
    ([yshift=-1.5em]bx) --
    ([yshift=-1.5em]ex) to[out=0, in=150] 
    ([yshift=-3em]fx);

\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui


O que está acontecendo aqui? Primeiro, desenho os nós. Todos devem ter o formato de um quadrado e os três nós do meio devem ter uma borda. Eu consigo isso usando \node[minimum size=5em] {...};onde a opção minimum sizedefine uma altura e largura para o nó, tornando-o um quadrado. Também uso a positioningbiblioteca para colocar os nós em relação uns aos outros. Finalmente, nomeio então a, b, ... epara referência posterior.

Em seguida, desenho as linhas abaixo dos nós: Uma linha sólida que começa em b.south(que é o meio da borda inferior do nó b), desce um pouco, depois para a direita e sobe novamente até d.south. Utilizo o -|operador que desenha uma linha retangular entre duas coordenadas (primeiro horizontalmente e depois verticalmente). Também adiciono as partes tracejadas da linha, usando a yshiftopção de deslocar para baixo a coordenada inicial.

Agora, desenho as linhas acima dos nós, primeiro apenas as linhas verticais com os números. Começo com as linhas mais externas, agora usando a shiftopção de deslocar as coordenadas iniciais horizontal e verticalmente. Então, uso um \foreachloop para adicionar as outras linhas. Aqui, utilizo um contador para somar os números.

Por fim, traço a linha curva, utilizando algumas coordenadas que coloquei anteriormente no desenho. Eu uso a to[out=..., in=...]sintaxe para desenhar as curvas no início e no final do caminho.

informação relacionada