ターボジェットエンジンの絵の描き方

ターボジェットエンジンの絵の描き方

ここに画像の説明を入力してください

tikz を使うのは初めてですが、正しい使い方がよくわからず (あちこちでエラーが発生して混乱し続けています)、このスキームを tikz で描画するのを手伝っていただけると幸いです。

答え1

たとえば次のようになります:

\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}

ここに画像の説明を入力してください


ここでは何が起こっているのでしょうか? まず、ノードを描画します。ノードはすべて正方形で、中央の 3 つのノードには境界線があります。これを実現するには、\node[minimum size=5em] {...};オプションを使用してminimum sizeノードの高さと幅を設定し、ノードを正方形にします。また、ライブラリを使用して、ノードを互いに対して配置します。最後に、後で参照できるように、、、... というpositioning名前を付けます。abe

次に、ノードの下に線を描きます。1 本の実線はb.south(ノード の下端の中央b) から始まり、少し下がってから右に進み、再び まで上がりますd.south。2 つの座標間に長方形の線を描く演算子 (最初に水平に、次に垂直に) を使用します。また、開始座標を下方にシフトするオプション-|を使用して、線の破線部分を追加します。yshift

次に、ノードの上に線を描きます。最初は数字の付いた垂直線だけです。一番外側の線から始めますが、shift開始座標を水平方向と垂直方向にシフトするオプションを使用します。次に、\foreachループを使用して他の線を追加します。ここでは、カウンターを使用して数字を追加します。

最後に、事前に描画に配置した座標を利用して曲線を描きます。to[out=..., in=...]構文を使用して、パスの始点と終点に曲線を描きます。

関連情報