Problems drawing a sleeping duck
I wouldn't use decorate. You run into problems at different scales, also you can't really fine tune the length. I would draw the eyelashes one by one, and perhaps even bend some. As the line width doesn't scale, some style to adapt the lashes will be needed. A sleeping mask is perhaps easier ;-).
\documentclass{article}
\usepackage{tikzducks}
\begin{document}
\begin{tikzpicture}[scale=1]
\duck
\path[rotate=-20]
(0.23,1.7675)coordinate(ECR) ellipse (0.0893 and 0.125);
\path[rotate=-20]
(-0.06,1.74)coordinate(ECL) ellipse (0.0786 and 0.1143);
\foreach \x/\y in {0/1,1/2,2/3,3/3.3,4/3,5/2,6/1.4}
{ \draw[brown!50!black,rotate=-20,line cap=round] (ECR)--++(\x*15+220:0.11cm+\y*0.012cm); };
\foreach \x/\y in {0/1,1/2,2/3,3/3.3,4/3,5/2,6/1.4}
{ \draw[brown!50!black,rotate=-20,line cap=round] (ECL)--++(\x*15+220:0.11cm+\y*0.009cm); };
%
%
\fill[rotate=-20,yellow!50!brown]
(0.23,1.7675) ellipse (0.0893 and 0.125);
%
\fill[rotate=-20,yellow!50!brown]
(-0.06,1.74) ellipse (0.0786 and 0.1143);
\end{tikzpicture}
\begin{tikzpicture}[scale=5] % changing the scale to 1 (or even somewhat larger values) fails
\duck
\path[rotate=-20]
(0.23,1.7675)coordinate(ECR) ellipse (0.0893 and 0.125);
\path[rotate=-20]
(-0.06,1.74)coordinate(ECL) ellipse (0.0786 and 0.1143);
\begin{scope}[ultra thick]
\foreach \x/\y in {0/1,1/2,2/3,3/3.3,4/3,5/2,6/1.4}
{ \draw[brown!50!black,rotate=-20,line cap=round] (ECR)--++(\x*15+220:0.11cm+\y*0.012cm); };
\foreach \x/\y in {0/1,1/2,2/3,3/3.3,4/3,5/2,6/1.4}
{ \draw[brown!50!black,rotate=-20,line cap=round] (ECL)--++(\x*15+220:0.11cm+\y*0.009cm); };
\end{scope}
%
%
\fill[rotate=-20,yellow!50!brown]
(0.23,1.7675) ellipse (0.0893 and 0.125);
%
\fill[rotate=-20,yellow!50!brown]
(-0.06,1.74) ellipse (0.0786 and 0.1143);
\end{tikzpicture}
\end{document}
A solution with an updated version of veclen. I used xfp. The problem is the same with my macro \tkzMarkAngle
. I used the library decoration and an error appeared with small angle's value.
\documentclass{standalone}
\usepackage{tikzducks,xfp}
\usetikzlibrary{decorations.pathreplacing}
\makeatletter
\let\pgfmath@function@veclen\relax
\pgfmathdeclarefunction*{veclen}{2}{%
\begingroup%
\pgfmath@x#1pt\relax%
\pgfmath@y#2pt\relax%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
\edef\tkz@temp@a{\fpeval{\pgfmath@tonumber{\pgf@xa}}}
\edef\tkz@temp@b{\fpeval{\pgfmath@tonumber{\pgf@ya}}}
\edef\tkz@temp@sum{\fpeval{%
(\tkz@temp@a*\tkz@temp@a+\tkz@temp@b*\tkz@temp@b)}}
\edef\tkz@xfpMathLen{\fpeval{sqrt(\tkz@temp@sum)}}
%\edef\pgfmath@tmp{\fpeval{round(\tkzFPMathLen,6)}}
%\pgfmath@tmp %
\pgfmath@returnone\tkz@xfpMathLen pt%
\endgroup%
}
\makeatother
\begin{document}
\begin{tikzpicture}[scale=1] % changing the scale to 1 (or even somewhat larger values) fails
\duck[eye=yellow!50!brown,pupil=yellow!50!brown]
\begin{scope}[line width=.4pt,rotate=-20,decoration={ticks,raise=-.5,amplitude=.5,segment length=1.5
}]
\draw[decorate] (0.161,1.682) arc [start angle=220, end angle=320,x radius=0.0893, y radius=0.125];
\draw[decorate] (-0.125,1.67) arc [start angle=220, end angle=320,x radius=0.0893, y radius=0.125];
\end{scope}
\end{tikzpicture}
\end{document}