用 Tikz 画神舟号飞船简画【转载】
用 Tikz 画神舟号飞船简画【转载】
用 Tikz 画神舟号飞船简画【转载】
作品简介

第一步 画推进舱、返回舱

用矩形工具构建三个长方形,然后向上平移3pt,平移用选项参数:yshift=3pt 实现。

\draw (-2.5,0)rectangle(2.5,9);
\draw [rounded corners=2pt] (-2.5,0)--(-2.4,-10pt)--(2.4,-10pt)--(2.5,0);
\draw (-2.5,9)rectangle(2.5,15); 
\draw (-2.5,15)rectangle(2.5,19);

\begin{scope}
 \draw[yshift=3pt] (-2.5,9)rectangle(2.5,15); 
 \draw[yshift=3pt] (-2.5,15)rectangle(2.5,19);
\end{scope}

第二步 画轨道舱、国旗等图标

轨道舱顶部用圆弧工具,由于左右有对称关系,所以只画出左侧部分。

%% 轨道舱

\draw [yshift=3pt,rounded corners=3pt](-2.55,19)rectangle(2.55,27);
\draw (-1.5,20)rectangle(1.5,22);
\draw (-1.5,23)--(1.5,23)--(1,26)--(-1,26)--cycle;

第三步 画推进舱左侧火箭、火焰

为了是图形看起来光滑圆润,使用了 rounded corners = 4pt这样圆角选项参数。火焰的绘制完全靠感觉和个人的艺术眼光。

%%顶部左侧
%\draw (0,27)--(0,37);
\draw [rounded corners=3pt](-2.55,27)arc[start angle=180,end angle=113,radius=4]--(-0.1,33)arc[start angle=270,end angle=90,radius=5pt]--(-0.1,36)--(0,36.5);

%%左侧小火箭

\draw [rounded corners=4pt](-2.55,26)--(-3,25.8)--(-3.1,23)--(-2.55,22.8);

\draw [rounded corners=4pt](-2.5,0)--(-5,0)--(-5,6.5)--(-3.75,9.1)--(-2.45,6.5)--(-5,6.5);
\draw [rounded corners=2pt](-5,6.3)--(-2.5,6.3)--(-2.5,6.5)--(-5,6.5)--(-5,6.3);
 \draw [rounded corners=4pt](-5,0)--(-5,1)--(-2.5,1)--(-2.5,0)--cycle;
\draw [rounded corners=5pt](-4.99,0.1)--(-5.7,0.4)--(-5.7,2)--(-5,2.9);

%%火焰
\draw [rounded corners=6pt](-4.9,0.02)--(-5.1,-1)--(-4.7,-0.8)--(-5,-2)--(-4.6,-1.6)--
(-4.5,-3.8)--(-3.6,-1.7)--(-3.6,-2.4)--(-3.2,-0.8)--(-3,-1.4)--(-2.5,0)--cycle;

第四步 画右侧部分

将第三步所有部分放在scope环境中,添加一个xscale=-1,实现关于 y轴的反射,画出右侧部分。

\begin{scope}[xscale=-1]
%%顶部右侧
%\draw (0,27)--(0,37);
\draw [rounded corners=3pt](-2.55,27)arc[start angle=180,end angle=113,radius=4]--(-0.1,33)arc[start angle=270,end angle=90,radius=5pt]--(-0.1,36)--(0,36.5);
%%右侧小火箭
\draw [rounded corners=4pt](-2.55,26)--(-3,25.8)--(-3.1,23)--(-2.55,22.8);

\draw [rounded corners=4pt](-2.5,0)--(-5,0)--(-5,6.5)--(-3.75,9.1)--(-2.45,6.5)--(-5,6.5);
\draw [rounded corners=2pt](-5,6.3)--(-2.5,6.3)--(-2.5,6.5)--(-5,6.5)--(-5,6.3);
 \draw [rounded corners=4pt](-5,0)--(-5,1)--(-2.5,1)--(-2.5,0)--cycle;
\draw [rounded corners=5pt](-4.99,0.1)--(-5.7,0.4)--(-5.7,2)--(-5,2.9);

%%火焰
\draw [rounded corners=6pt](-4.9,0.02)--(-5.1,-1)--(-4.7,-0.8)--(-5,-2)--(-4.6,-1.6)--
(-4.5,-3.8)--(-3.6,-1.7)--(-3.6,-2.4)--(-3.2,-0.8)--(-3,-1.4)--(-2.5,0)--cycle;
\end{scope}

第五步 画底部火焰

为了使其具有层次感,画了两层火焰。内层火焰是将外层火焰缩小尺寸得到的,用scale=0.75这个选项参数。

%%底座火焰
 \draw [rounded corners=6pt](-2.2,-10pt)--(-1.8,-1.8)--(-1.5,-1.3)--(-1.3,-2.9)--(-1.1,-2.6)
--(-0.9,-3.8)--(-0.7,-3.4)--(0,-4.8)--(0.7,-3.4)--(0.9,-3.8)--(1.1,-2.6)--(1.3,-2.9)--
(1.5,-1.3)--(1.8,-1.8)--(2.2,-10pt);
%%底座内层火焰
\begin{scope}[scale=0.75] 
 \draw [rounded corners=6pt](-2.2,-10pt)--(-1.8,-1.8)--(-1.5,-1.3)--(-1.3,-2.9)
--(-1.1,-2.6)--(-0.9,-3.8)--(-0.7,-3.4)--(0,-4.8)--(0.7,-3.4)--(0.9,-3.8)--(1.1,-2.6)--
(1.3,-2.9)--(1.5,-1.3)--(1.8,-1.8)--(2.2,-10pt);
\end{scope}

第六步 为国旗添加五星、添加中国航天四个汉字

五星用美国数学会提供的符号宏包:amssymb。确定了大星位置后,四个小星用\foreach ...\draw ...一次性画出,小星星的位置以大星为参考,用极坐标确定他们平移的位置。

\node at (0,13.6){\text 中};
\node at (0,12.5){\text 国};
\node at (0,11.4){\text 航};
\node at (0,10.2){\text 天};

\node at (-0.9,21.3){$\bigstar$};
\foreach \x in {-40,-10,20,50} \draw (-0.9,21.3)+(\x:0.55)node{\tiny$\bigstar$};

第七步 着色

着色只需要在上面相应的地方draw或者filldraw后面的中括号中加上颜色选项参数即可。

暂无评论