我有以下曲线上一个主题:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [cyan,line width=1mm] (0,0) .. controls (3,5) and (6,-1) .. (7,2) ;
\end{tikzpicture}
\end{document}
我想添加 2 个效果(分别):
- 我想“模糊”曲线(即将图像与二维高斯核卷积)。
- 我想添加一些阴影。更确切地说,我希望曲线的颜色在某些区域逐渐变为白色(最好是透明的,但白色也可以)。
我需要一些文档着色库但没有曲线(只有面积)。
提前谢谢了
答案1
使用fade-no-fill.sty
霍奇克和安德鲁·斯泰西用于阴影和敲击法对于模糊,可以绘制阴影和模糊的路径。
\documentclass{standalone}
\usepackage{tikz}
% ateb: https://tex.stackexchange.com/a/700367/
% fade-no-fill o:
% ateb Hotschke updated gan Andrew Stacey: https://tex.stackexchange.com/a/567029/
%\url{https://tex.stackexchange.com/a/327713/86}
\usepackage{fade-no-fill}
\begin{document}
\begin{tikzpicture}
\foreach \x [evaluate=\x as \xc using 0.5*100*ln(10/\x)] in {10,9.9,...,1}{
\path [fade path but don't fill={line width=\x*1pt,transparent!0}{left color=cyan!\xc,right color=magenta!\xc}] (0,0) .. controls (3,5) and (6,-1) .. (7,2) ;
}
\end{tikzpicture}
\end{document}
请注意,由于它很慢,您不会想过于频繁地使用它。
编辑
对于我来说,该代码在 Beamer 中也能正常运行。
\documentclass{beamer}
\usepackage{tikz}
% ateb: https://tex.stackexchange.com/a/700367/
% fade-no-fill o:
% ateb Hotschke updated gan Andrew Stacey: https://tex.stackexchange.com/a/567029/
%\url{https://tex.stackexchange.com/a/327713/86}
\usepackage{fade-no-fill}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\foreach \x [evaluate=\x as \xc using 0.5*100*ln(10/\x)] in {10,9.9,...,1}{
\path [fade path but don't fill={line width=\x*1pt,transparent!0}{left color=cyan!\xc,right color=magenta!\xc}] (0,0) .. controls (3,5) and (6,-1) .. (7,2) ;
}
\end{tikzpicture}
\end{frame}
\end{document}
请注意,我使用的是第二sty
来自的版本https://tex.stackexchange.com/a/567029/即 Andrew Stacey 于 2021 年 7 月添加的更新版本,并根据 的变化进行了修改spath3
。
答案2
所以我已经实施了该解决方案这里
\begin{tikzpicture}
\foreach \x[evaluate={\xc=0.5*100*ln(10/\x);}] in {10,9.9,...,1}{
\draw [draw=cyan!\xc,line width=\x*1pt] (0,0) .. controls (3,5) and (6,-1) .. (7,2) ;
}
\end{tikzpicture}
产生可接受的输出。
但是我不明白为什么使用cyan!\xc
而不是draw=cyan!\xc
返回
Package color Error: Argument `1.02026' not in range [0,1]. ^^I}
应该\xc
介于 0 到 100 之间......
我仍然没有解决曲线阴影问题的办法......