Tikz:对角线阴影矩形,

Tikz:对角线阴影矩形,

我正在尝试绘制一个带有阴影的 3D 图片,以使其看起来更漂亮一些。到目前为止,它只是一个长方体,我发现了阴影命令。以下是我目前所得到的:

\documentclass[varwidth, border=5pt]{standalone}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{3d}    
\begin{document}
\begin{tikzpicture}

\shade[bottom color=blue, top color = white] (0,0,0) -- (0.5,0,0) -- (0.5,2,0) -- (0,2,0) -- cycle;
\shade[bottom color=white, top color=blue] (0,2,0) -- (0,2,-2) -- (0.5,2,-2) -- (0.5,2,0) -- cycle;
\shade[shading=axis,shading angle=45,left color=blue, right color=white] (0.5,0,0) -- (0.5,2,0) -- (0.5,2,-2) -- (0.5,0,-2) -- cycle;

\end{tikzpicture}
\end{document}

我的问题是定义shading angle=45不起作用。我只能从上到下或从左到右定义阴影。有没有办法定义阴影从一个角到另一个角?

谢谢。

编辑:也许使用径向阴影的某些技术会起作用?但我需要能够将径向阴影的中心从矩形的中心更改为角落。

答案1

如果我理解正确的话,你可以使用shadings库并说

\shade[lower left=blue, upper right=red] (0.5,0,0) -- (0.5,2,0) -- (0.5,2,-2) -- (0.5,0,-2) -- cycle;

在此处输入图片描述

我选择这么做red只是为了让它引人注目。

\documentclass[varwidth, border=5pt]{standalone}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{3d,shadings}
\begin{document}
\begin{tikzpicture}

\shade[bottom color=blue, top color = white] (0,0,0) -- (0.5,0,0) -- (0.5,2,0) -- (0,2,0) -- cycle;
\shade[bottom color=white, top color=blue] (0,2,0) -- (0,2,-2) -- (0.5,2,-2) -- (0.5,2,0) -- cycle;
\shade[lower left=blue, upper right=red] (0.5,0,0) -- (0.5,2,0) -- (0.5,2,-2) -- (0.5,0,-2) -- cycle;

\end{tikzpicture}
\end{document}

随机颜色选择

在此处输入图片描述

\documentclass[varwidth, border=5pt]{standalone}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{3d,shadings}
\begin{document}
\begin{tikzpicture}

\shade[lower left=red!20,lower right=red, upper left=blue,upper right=blue!20] (0,0,0) -- (0.5,0,0) -- (0.5,2,0) -- (0,2,0) -- cycle;
\shade[lower left=blue,lower right=red!5, upper left=red,upper right=blue!5] (0,2,0) -- (0,2,-2) -- (0.5,2,-2) -- (0.5,2,0) -- cycle;
\shade[lower left=red,lower right=red!50!blue!50,upper left=blue!50!red!50, upper right=blue] (0.5,0,0) -- (0.5,2,0) -- (0.5,2,-2) -- (0.5,0,-2) -- cycle;

\end{tikzpicture}
\end{document}

相关内容