Edit and compile if you like:
% Membrane and Ions % Yotam Avital \documentclass{article} \usepackage{tikz} \usepackage[active,tightpage]{preview} \PreviewEnvironment{tikzpicture} \setlength\PreviewBorder{10pt}% \begin{document} \begin{tikzpicture}[x=3cm, y=3cm] \begin{scope}[every node/.append style={ yslant=0,xslant=0},yslant=0,xslant=2.5 ] \shade[bottom color = black, top color = white] (-12.54, 5) rectangle +(0.1, 1.1); \shade[bottom color = blue, top color = white] (-12.48,5) rectangle +(0.5,1.1); \shade[bottom color = black, top color = white] (-12, 4.98) rectangle +(0.1, 1.1); \end{scope} \begin{scope}[every node/.append style={ yslant=0,xslant=0},yslant=0.4,xslant=0 ] \shade[left color = blue, right color = white, rounded corners=1] (0.54,-0.26) rectangle +(2.8,5.03); \foreach \x in {0.8,1.3,...,3.3}{ \foreach \y in {0.1, 0.7,..., 4.8}{ \pgfmathsetmacro{\val}{1-(\x-0.8)/2.6} \node [color = red, opacity =\val] at (\x ,\y) {\Huge{\textbf +}}; } } \end{scope} \pgfmathsetseed{10} \foreach \i in {1,2,...,30}{ % \pgfmathsetmacro{\x}{(rand*0.5 + 1)*4 + 1} % \pgfmathsetmacro{\y}{(rand*0.5 + 1)*3.9 + 2 } \pgfmathsetmacro{\x}{(rand*0.5 + 1)*3 - 0.5} \pgfmathsetmacro{\y}{(rand*0.5 + 1)*4.7-1.2} % \pgfmathsetmacro{\opacVal}{0.95*(\x-2.5)/4 + rand*0.05} \pgfmathsetmacro{\opacVal}{rand*0.5+1} \shade [ball color = green, opacity = \opacVal] (\x,\y) circle (0.1); } \fill [fill = black,rounded corners= 0.6] (-0.05,-0.05) rectangle +(0.6,5.05); \fill [fill = blue] (0,0) rectangle +(0.5,4.95); \end{tikzpicture} \end{document}
Click to download: membrane-ions.tex • membrane-ions.pdf
Open in Overleaf: membrane-ions.tex