Dibujo del fuselaje de un avión.

Dibujo del fuselaje de un avión.

tengo esta imagen...

Fuselaje

Quiero replicar esto en LaTeX pero también tengo dimensiones en una de las ventanas. Algo como esto...

Dibujo

¿Cómo podría hacer esto usando TiKZ y al mismo tiempo mantener la sensación y la forma de un avión real como en la imagen, y agregar las dimensiones también?

La pregunta 'Dibujar un avión con Tikz' no responde a esta pregunta.

Respuesta1

Es muy fácil dibujar cosas así, simplemente tedioso. Para el futuro, le pediría amablemente que proporcione algún código que al menos defina los colores, establezca algunas dimensiones, etc., para que otros no tengan que empezar desde cero.

\documentclass[tikz,border=3mm]{standalone}
\definecolor{wt}{RGB}{210,215,219} % frame top
\definecolor{wb}{RGB}{151,154,162} % frame bottom
\definecolor{w}{RGB}{49,66,89}     % window
\definecolor{pt}{RGB}{242,242,242} % plane top
\definecolor{pb}{RGB}{208,209,213} % plane bottom
\definecolor{wf}{RGB}{85,96,110}   % inner frame
\definecolor{blind}{RGB}{115,119,128}      % blind
\begin{document}
\begin{tikzpicture}[>=latex,pics/fuselage/.style={code={
        \tikzset{fuselage/.cd,#1}%
        \def\pv##1{\pgfkeysvalueof{/tikz/fuselage/##1}}%
        \fill[w,rounded corners=\pv{r}-\pv{d}]
            (-\pv{w}/2+\pv{d},-\pv{h}/2+\pv{d}) rectangle (\pv{w}/2-\pv{d},\pv{h}/2-\pv{d});
        \clip [rounded corners=\pv{r}]
            (-\pv{w}/2,-\pv{h}/2) rectangle (\pv{w}/2,\pv{h}/2);    
        \fill[blind] (-\pv{w}/2,\pv{h}/2-\pv{b}) rectangle (\pv{w}/2,\pv{h}/2);
        \fill[wf,xshift=1.3pt,yshift=-1.3pt,even odd rule]
            [rounded corners=\pv{r}]
            (-\pv{w}/2,-\pv{h}/2) rectangle (\pv{w}/2,\pv{h}/2)
            [rounded corners=\pv{r}-\pv{d}]
            (-\pv{w}/2+\pv{d},-\pv{h}/2+\pv{d}) rectangle (\pv{w}/2-\pv{d},\pv{h}/2-\pv{d});            
        \draw[top color=wt,bottom color=wb,even odd rule] 
            [rounded corners=\pv{r}]
            (-\pv{w}/2,-\pv{h}/2) rectangle (\pv{w}/2,\pv{h}/2)
            [rounded corners=\pv{r}-\pv{d}]
            (-\pv{w}/2+\pv{d},-\pv{h}/2+\pv{d}) rectangle (\pv{w}/2-\pv{d},\pv{h}/2-\pv{d});            
}},fuselage/.cd,h/.initial=1.4cm,w/.initial=1cm,
    d/.initial=0.7mm,r/.initial=4mm,b/.initial=2mm]
 \path[top color=pt,bottom color=pb] (-4,-3) rectangle (4,3);
 \path foreach \X in {0,...,3} {(-3+2*\X,0.5) pic{fuselage}};
 \draw[|<->|] (1-0.425,0.5) -- (1+0.425,0.5) node[pos=0.75,above]{$a$};
 \draw[|<->|] (1,0.5-0.625) -- (1,0.5+0.625) node[pos=0.75,left]{$b$};
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

APÉNDICE: Por pedido una versión con pasajeros. (Estos no son necesariamente animales, entre los TikZlings, hay un muñeco de nieve y tres seres.)

\documentclass[tikz,border=3mm]{standalone}
\usepackage{tikzlings}
\definecolor{wt}{RGB}{210,215,219} % frame top
\definecolor{wb}{RGB}{151,154,162} % frame bottom
\definecolor{w}{RGB}{49,66,89}     % window
\definecolor{pt}{RGB}{242,242,242} % plane top
\definecolor{pb}{RGB}{208,209,213} % plane bottom
\definecolor{wf}{RGB}{85,96,110}   % inner frame
\definecolor{blind}{RGB}{115,119,128}      % blind
\begin{document}
\begin{tikzpicture}[>=latex,pics/fuselage/.style={code={
        \tikzset{fuselage/.cd,#1}%
        \def\pv##1{\pgfkeysvalueof{/tikz/fuselage/##1}}%
        \fill[w,rounded corners=\pv{r}-\pv{d}]
            (-\pv{w}/2+\pv{d},-\pv{h}/2+\pv{d}) rectangle (\pv{w}/2-\pv{d},\pv{h}/2-\pv{d});
        \clip [rounded corners=\pv{r}]
            (-\pv{w}/2,-\pv{h}/2) rectangle (\pv{w}/2,\pv{h}/2);    
        \fill[blind] (-\pv{w}/2,\pv{h}/2-\pv{b}) rectangle (\pv{w}/2,\pv{h}/2);
        \tikzling[scale=0.6,yshift=-2cm]    
        \fill[wf,xshift=1.3pt,yshift=-1.3pt,even odd rule]
            [rounded corners=\pv{r}]
            (-\pv{w}/2,-\pv{h}/2) rectangle (\pv{w}/2,\pv{h}/2)
            [rounded corners=\pv{r}-\pv{d}]
            (-\pv{w}/2+\pv{d},-\pv{h}/2+\pv{d}) rectangle (\pv{w}/2-\pv{d},\pv{h}/2-\pv{d});            
        \draw[top color=wt,bottom color=wb,even odd rule] 
            [rounded corners=\pv{r}]
            (-\pv{w}/2,-\pv{h}/2) rectangle (\pv{w}/2,\pv{h}/2)
            [rounded corners=\pv{r}-\pv{d}]
            (-\pv{w}/2+\pv{d},-\pv{h}/2+\pv{d}) rectangle (\pv{w}/2-\pv{d},\pv{h}/2-\pv{d});            
}},fuselage/.cd,h/.initial=1.4cm,w/.initial=1cm,
    d/.initial=0.7mm,r/.initial=4mm,b/.initial=3mm]
 \path[top color=pt,bottom color=pb] (-4,-3) rectangle (4,3);
 \path foreach \X in {0,...,3} {(-3+2*\X,0.5) pic{fuselage}};
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Estos son Ti elegidos al azarkZlings, en cada compilación obtendrás un conjunto aleatorio. Si no te gusta esta aleatoriedad, utiliza \pgfmathsetseed{<int>}donde intes un número entero.

información relacionada