tikz 水彩畫

tikz 水彩畫

是否可以用類似於此圖像中的水彩畫的顏色填滿形狀

在此輸入影像描述

使用 tikz 或 pgfplots?

來源:http://bartoszmilewski.com/2015/07/29/representable-functors/

答案1

有一些“廉價”的方法來產生複雜的圖片。但作為鈦kZ手冊說,

它們是最不便攜帶的,並且給渲染器帶來了最重的負擔。它們速度很慢,可能無法正確列印!

\documentclass[tikz,border=9]{standalone}
\begin{document}
\pgfdeclarefunctionalshading{watercolor}{\pgfpoint{-25bp}{-25bp}}{\pgfpoint{25bp}{25bp}}{}{
    -0.1 0.651
    exch 4 2 roll
    12.5 div exch 12.5 div 1 index dup mul add
    true
    {dup dup mul 2 index dup mul sub 3 index add 3 1 roll 2 mul mul 3 index add exch 2 copy dup mul exch dup mul add 4 le}{false}ifelse
    {dup dup mul 2 index dup mul sub 3 index add 3 1 roll 2 mul mul 3 index add exch 2 copy dup mul exch dup mul add 4 le}{false}ifelse
    {dup dup mul 2 index dup mul sub 3 index add 3 1 roll 2 mul mul 3 index add exch 2 copy dup mul exch dup mul add 4 le}{false}ifelse
    {dup dup mul 2 index dup mul sub 3 index add 3 1 roll 2 mul mul 3 index add exch 2 copy dup mul exch dup mul add 4 le}{false}ifelse
    {dup dup mul 2 index dup mul sub 3 index add 3 1 roll 2 mul mul 3 index add exch 2 copy dup mul exch dup mul add 4 le}{false}ifelse
    {dup dup mul 2 index dup mul sub 3 index add 3 1 roll 2 mul mul 3 index add exch 2 copy dup mul exch dup mul add 4 le}{false}ifelse
    {dup dup mul 2 index dup mul sub 3 index add 3 1 roll 2 mul mul 3 index add exch 2 copy dup mul exch dup mul add 4 le}{false}ifelse
    {dup dup mul 2 index dup mul sub 3 index add 3 1 roll 2 mul mul 3 index add exch 2 copy dup mul exch dup mul add 4 le}{false}ifelse
    {0 0 0}{1 1 1}ifelse
}
\tikz{\shade[shading=watercolor](-10,-10)rectangle(10,10);}
\end{document}

筆記

我並不是說這看起來像水彩畫。我也沒有試圖實現這個目標。我對藝術一竅不通。所以剩下的就是你的工作了。

筆記2

水彩畫的原理是顏料分子在畫布上運行並隨著時間的推移而減慢。因此,模擬水彩畫的最佳方法可能是數值求解偏微分方程式。這在\pgfdeclarefunctionalshading.但一旦你有了二維數組,就值得一試。

相關內容