在高等代数或者线性代数中会有涉及到空间变换的问题,下面这个图就表达了从三维空间到二维空间经过一个矩阵进步变换的示意图,挺不错。 演示代码:
\documentclass[tikz,border=12pt]{standalone} % a plane with varying y coordinate \newcommand{\plane}[1]{ (-1.95, #1, 1.35) -- ++(3.6, 0.6, 0.0) -- ++(0.3, -1.8, -2.7) -- ++(-3.6, -0.6, -0.0) -- cycle} \newcommand{\nullspacepicture}{ % bottom part of the row space line \draw (0,0,0) -- (0.3,-1.8,1.233); % five planes \draw[fill=gray!20]\plane{-0.2}; \draw[fill=gray!20]\plane{0.2}; \draw[fill=blue!70!gray]\plane{0.6}; \draw[fill=gray!20]\plane{1}; \draw[fill=gray!20]\plane{1.4}; % top part of the row space line \draw (-.094,.562,-.385) -- (-0.3,1.8,-1.233); } \newcommand{\rangepicture}[1]{ % axes \draw[help lines,->] (-2,0) -- (2,0); \draw[help lines,->] (0,-2) -- (0,2); % the line and circles \draw (1,-2) -- (-1,2); \draw[fill=#1] (0,0) circle (2.5pt); \draw[fill=gray!50] (0.2,-0.4) circle (2.5pt); \draw[fill=gray!50] (0.4,-0.8) circle (2.5pt); \draw[fill=gray!50] (-0.2,0.4) circle (2.5pt); \draw[fill=gray!50] (-0.4,0.8) circle (2.5pt); } \begin{document} \begin{tikzpicture} \nullspacepicture % the label \node at (-2,1.8) {$\mathbf R^3$}; % arrow between diagrams \path[->] (3,0) edge[bend left] node[above] {times $A$} (4.5,0); \begin{scope}[xshift=7cm] \rangepicture{blue!70!gray} \node at (1.8,1.8) {$\mathbf R^2$}; \end{scope} \end{tikzpicture} \end{document}图选自:http://nb.nathanamy.org/2012/02/drawing-using-tikz/
发表评论 取消回复