我有一个相当简单的问题:有没有办法在冲浪网格中使用带有不透明度因子的 shader=interp ?这是一个不起作用的示例:
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\def\h{1.5}
\def\mult{4}
\begin{tikzpicture}
\begin{axis}[xlabel=$x$,ylabel=$y$,view={20}{50},zmin=-4,zmax=4,
variable=\s,variable y=\t,domain=0:1,hide axis,
colormap={custom}{color(0)=(cyan) color(1)=(orange)}]
\def\triangleParamX{\s}
\def\triangleParamY{(1-\s)*\t}
\addplot3[black,mark=none] coordinates {(0,0,0) (0,1,0)};
\addplot3[black,mark=none] coordinates {(0,0,-\h) (0,0,\h)};
\addplot3[black,mark=none] coordinates {(0,0.5,-\h) (0,0.5,\h)};
\addplot3[black,mark=none] coordinates {(0,1,-\h) (0,1,\h)};
\addplot3[black,mark=none] coordinates {(0.5,0.5,-\h) (0.5,0.5,\h)};
\addplot3[black,mark=none] coordinates {(1,0,-\h) (1,0,\h)};
\addplot3[opacity=0.5,surf,shader=interp] (\triangleParamX,\triangleParamY,\mult*1-\mult*3*x-\mult*3*y+\mult*4*x*y+\mult*2*x*x+\mult*2*y*y);
\addplot3[black,mark=none] coordinates {(0,1,0) (1,0,0) (0,0,0)};
\addplot3[black,mark=none] coordinates {(0.5,0,-\h) (0.5,0,\h)};
\end{axis}
\end{tikzpicture}
\end{document}
它产生以下结果:
但是,如果您在后一个示例中仅替换shader=interp
,shader=flat
则会得到以下内容:
这里,不透明度起作用了,但我不希望表面上有线条。有什么技巧可以做到这一点吗?
干杯
答案1
好吧,这实际上不是一个答案,而更像是情况的演变。我最近更新了 Adobe Reader,现在可以正常工作shader=interp
(opacity
见图)。但是在其他查看器中仍然不行。
无论如何,感谢大家的时间!:)