
Ich habe dieses Bild ...
Ich möchte dies in LaTeX nachbilden, aber auch Abmessungen in einem der Fenster haben. So etwas wie das hier ...
Wie könnte ich dies mit TiKZ erreichen und gleichzeitig das Gefühl und die Form eines echten Flugzeugs wie im Bild beibehalten und auch die Abmessungen hinzufügen?
Die Frage „Zeichnen Sie ein Flugzeug mit Tikz“ beantwortet diese Frage nicht.
Antwort1
Es ist sehr einfach, solche Dinge zu zeichnen, nur mühsam. Für die Zukunft würde ich Sie bitten, Code bereitzustellen, der zumindest die Farben definiert, einige Abmessungen festlegt usw., damit andere nicht bei Null anfangen müssen.
\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}
NACHTRAG: Auf Anfrage auch eine Version mit Passagieren. (Das sind nicht unbedingt Tiere, bei den TikZlings, es gibt einen Schneemann und drei Wesen.)
\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}
Dies sind zufällig ausgewählte TikZlings, bei jeder Kompilierung erhalten Sie einen zufälligen Satz. Wenn Ihnen diese Zufälligkeit nicht gefällt, verwenden Sie , \pgfmathsetseed{<int>}
wobei int
eine Ganzzahl ist.