我想要绘制如下的图像。
这是我到目前为止所做的(我使用了tikz
,但欢迎使用任何其他包):
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[fill=blue] (.5,0) rectangle (4,2);
\draw[fill=red] (1,1) to[bend left=50] (3,1) to[bend left=50] (1,1);
\draw[fill=red] (3,1) -- (3.5,1.5) -- (3.3,1) -- (3.5,.5) -- cycle;
\draw[fill=white] (1.6,1.1) circle (.15cm);
\draw[fill=blue] (1.55,1.1) circle (.05cm);
\end{tikzpicture}
\end{document}
编辑:4 月 2 日,解释时间
在意大利(但我想在其他国家也是如此),4 月 1 日的恶作剧被称为“pesce d'Aprile”(四月的鱼,即愚人节恶作剧) 并且经常与鱼类有关。
通常的做法是在某人背上贴一张鱼的图画,而他/她却没有意识到。
几年前,我的一位同事在我们公司停车场的所有汽车后面都贴了一些“pesci d'Aprile”,下面写着“sono disponibile”(=我很轻松)。其他一些同事没有意识到这一点,他们已经带着那幅画四处转了好几天。
另一个有趣的例子发生在米兰1985年4月1日有人在很多汽车的挡风玻璃上贴了一张虚假的违章停车罚单。罚单上写着“per il pagamento rivolgersi agli uffici comunali di via Gadio, 2”(= 如需付款,请联系 via Gadio, 2 的市政办公室),这是市政水族馆的地址。
因此,这个问题只是一种表达方式
PS = 由于我通过这个陷阱问题赢得了很多声誉点,我决定将它们回馈给社区,并为 4 月 1 日发布的两个答案颁发赏金。
此外,我接受了罗伯特的答案,因为他猜对了但又没有剧透,并且我感谢其他两位回答者。
对于那些投票反对的人:从技术上来说你可能是对的,但是:
- 世界上已经有太多悲伤了,让我们时常笑一笑吧!
- 幽默是 LaTeX 哲学的一部分,Knuth 教授本人文档
- 如果只接受严肃的问题,为什么他们要创建一个乐趣标签?
答案1
晚了几个小时:
\documentclass{article}
\usepackage{lmodern,graphicx,color}
\def\familydefault{\sfdefault}
\def\seriesdefault{\bfdefault}
\def\chihapaura#1#2?{\color{\ifcase#1red\or yellow\or blue\fi}%
\fontsize{#2\unitlength}{0pt}\selectfont}
\begin{document}
\begin{picture}(50,50)
\put(46,18) {\chihapaura112?E}
\put(38,15) {\chihapaura020?C}
\put(29,5) {\chihapaura121?\scalebox1[2.5]{S}}
\put(0,0) {\chihapaura0100?$\epsilon$}
\put(7,20) {\chihapaura230?\rotatebox{-24}{p}}
\end{picture}%(d'aprile)
\end{document}
答案2
Asymptote
版本:
// fish.asy
//
settings.outformat="pdf";
real w=600,h=400; size(h,w);
pen bgPen=rgb(0,0.647,1),
bodyPen=rgb(0.847,0.196,0.133),
whitePen=rgb(1,1,1),
eyePen=rgb(0.004,0.18,1),
mouthPen=rgb(1,1,1),
scalesPen=rgb(0.98,1,0)+12pt;
pair[][] bBody={
{(454,270),(436,252),(443,251),},{(433,269),(424,286),(398,322),},
{(361,352),(324,382),(276,405),},{(218,394),(160,382),(92,334),},
{(55,295),(18,256),(12,226),},{(13,187),(14,149),(21,102),},
{(65,66),(109,30),(189,3),},{(243,2),(296,1),(322,24),},
{(348,46),(374,68),(398,89),},{(414,109),(430,129),(437,149),},
{(450,143),(463,137),(481,105),},{(504,80),(526,55),(552,37),},
{(568,40),(585,43),(592,66),},{(584,97),(576,128),(553,166),},
{(542,181),(531,197),(531,189),},{(543,204),(555,218),(579,256),},
{(585,286),(591,316),(578,339),},{(571,349),(563,359),(561,356),},
{(538,338),(515,320),(472,287),},
};
pair[][] bWhite={
{(223,261),(227,278),(209,303),},{(192,312),(174,321),(156,315),},
{(141,304),(127,293),(115,276),},{(116,260),(118,244),(132,228),},
{(143,222),(155,215),(162,220),},{(179,227),(195,234),(220,244),},
};
pair[][] bEye={
{(177,256),(180,264),(177,272),},{(171,276),(164,280),(154,279),},
{(146,276),(139,272),(135,265),},{(136,258),(138,250),(146,241),},
{(155,241),(163,240),(173,248),},
};
pair[][] bMouth={
{(143,104),(122,94),(95,92),},
{(83,86),(71,81),(75,71),},
{(81,68),(87,65),(96,69),},
{(105,68),(115,67),(126,62),},
{(145,74),(165,87),(194,117),},
{(204,133),(213,150),(204,152),},
{(192,143),(179,135),(165,115),},
};
pair[][] aScales={
{(221,370),(236,366),(257,360),(274,346),(292,337),(310,322),(315,305),(317,292),(312,275),
(301,264),(307,249),(319,241),(331,229),(340,222),(350,210),(352,194),(347,176),(338,163),
(335,151),(326,144),(319,141),(307,139),(312,123),(318,110),(322,93),(322,79),(321,63),(315,56),(297,46),(288,44),},
{(387,115),(393,123),(397,139),(399,153),(394,174),(393,180),(401,203),(403,223),(390,243),
(373,257),(383,268),(384,281),(379,300),(360,330),(328,354),(319,359),},
{(465,153),(472,171),(460,182),(461,195),(469,204),(470,219),(460,231),(446,237),(432,242),},
{(513,111),(520,120),(522,131),(515,143),(507,153),(511,164),(515,174),(510,187),
(509,205),(511,219),(509,233),(517,243),(521,251),(519,265),(512,280),(507,288),},
{(547,68),(556,73),(559,83),(559,94),(562,106),(563,112),},
{(574,286),(567,291),(562,297),(557,301),(563,304),(564,313),(554,318),(546,323),},
};
pen[] penList={bodyPen, whitePen, eyePen, mouthPen};
pair[][][] pointList={bBody, bWhite, bEye, bMouth};
guide buildBguide(pair[][] aPoints){
int n=aPoints.length; guide g=aPoints[0][0];
for(int i=0;i<n-1;++i){
g=g..controls aPoints[i][1] and aPoints[i][2]..aPoints[i+1][0];
}
return g..controls aPoints[n-1][1] and aPoints[n-1][2]..cycle;
};
guide buildGuide(pair[] aPoints){
guide g; for(int i=0;i<aPoints.length;++i)g=g..aPoints[i];
return g;
};
fill(box(0,(w-1,h-1)),bgPen);
for(int i=0;i<pointList.length;++i){
fill(buildBguide(pointList[i]),penList[i]);
}
for(int i=0;i<aScales.length;++i){
draw(buildGuide(aScales[i]),scalesPen);
}
跑去asy fish
拿fish.pdf
。
只为多一点乐趣,只需最少的接触:
// fish.asy
//
settings.outformat="pdf";
real w=600,h=400; size(h,w);
pen bgPen=rgb(0,0.647,1),
bodyPen=rgb(0.847,0.196,0.133),
whitePen=rgb(1,1,1),
eyePen=rgb(0.004,0.18,1)+opacity(0.01),
mouthPen=rgb(1,1,1),
scalesPen=rgb(0.98,1,0)+12pt;
pair[][] bBody={
{(454,270),(436,252),(443,251),},{(433,269),(424,286),(398,322),},
{(361,352),(324,382),(276,405),},{(218,394),(160,382),(92,334),},
{(55,295),(18,256),(12,226),},{(13,187),(14,149),(21,102),},
{(65,66),(109,30),(189,3),},{(243,2),(296,1),(322,24),},
{(348,46),(374,68),(398,89),},{(414,109),(430,129),(437,149),},
{(450,143),(463,137),(481,105),},{(504,80),(526,55),(552,37),},
{(568,40),(585,43),(592,66),},{(584,97),(576,128),(553,166),},
{(542,181),(531,197),(531,189),},{(543,204),(555,218),(579,256),},
{(585,286),(591,316),(578,339),},{(571,349),(563,359),(561,356),},
{(538,338),(515,320),(472,287),},
};
pair[][] bWhite={
{(223,261),(227,278),(209,303),},{(192,312),(174,321),(156,315),},
{(141,304),(127,293),(115,276),},{(116,260),(118,244),(132,228),},
{(143,222),(155,215),(162,220),},{(179,227),(195,234),(220,244),},
};
pair[][] bEye={
{(177,256),(180,264),(177,272),},{(171,276),(164,280),(154,279),},
{(146,276),(139,272),(135,265),},{(136,258),(138,250),(146,241),},
{(155,241),(163,240),(173,248),},
};
pair[][] bMouth={
{(143,104),(122,94),(95,92),},
{(83,86),(71,81),(75,71),},
{(81,68),(87,65),(96,69),},
{(105,68),(115,67),(126,62),},
{(145,74),(165,87),(194,117),},
{(204,133),(213,150),(204,152),},
{(192,143),(179,135),(165,115),},
};
pair[][] aScales={
{(221,370),(236,366),(257,360),(274,346),(292,337),(310,322),(315,305),(317,292),(312,275),
(301,264),(307,249),(319,241),(331,229),(340,222),(350,210),(352,194),(347,176),(338,163),
(335,151),(326,144),(319,141),(307,139),(312,123),(318,110),(322,93),(322,79),(321,63),(315,56),(297,46),(288,44),},
{(387,115),(393,123),(397,139),(399,153),(394,174),(393,180),(401,203),(403,223),(390,243),
(373,257),(383,268),(384,281),(379,300),(360,330),(328,354),(319,359),},
{(465,153),(472,171),(460,182),(461,195),(469,204),(470,219),(460,231),(446,237),(432,242),},
{(513,111),(520,120),(522,131),(515,143),(507,153),(511,164),(515,174),(510,187),
(509,205),(511,219),(509,233),(517,243),(521,251),(519,265),(512,280),(507,288),},
{(547,68),(556,73),(559,83),(559,94),(562,106),(563,112),},
{(574,286),(567,291),(562,297),(557,301),(563,304),(564,313),(554,318),(546,323),},
};
guide buildBguide(pair[][] aPoints){
int n=aPoints.length; guide g=aPoints[0][0];
for(int i=0;i<n-1;++i){
g=g..controls aPoints[i][1] and aPoints[i][2]..aPoints[i+1][0];
}
return g..controls aPoints[n-1][1] and aPoints[n-1][2]..cycle;
};
guide buildGuide(pair[] aPoints){
guide g; for(int i=0;i<aPoints.length;++i)g=g..aPoints[i];
return g;
};
axialshade(box(0,(w-1,h-1)),deepblue,(0,3),palegreen,(0,600));
axialshade(buildBguide(bBody),paleyellow+opacity(0.6),(0,3),deepred,(0,200));
guide gWhite=buildBguide(bWhite);
guide gEye=buildBguide(bEye);
pair whiteCenter=(max(gWhite)+min(gWhite))/2;
pair eyeCenter=(max(gEye)+min(gEye))/2;
radialshade(gWhite,white,whiteCenter,20, orange,whiteCenter,60);
radialshade(gEye,black,eyeCenter,6, deepgreen,eyeCenter,20);
fill(buildBguide(bMouth),mouthPen);
for(int i=0;i<aScales.length;++i){
draw(buildGuide(aScales[i]),scalesPen);
}
int n=99; real llen=20,s;
pair lpoint,ldir;
for(int i=0;i<n;++i){
s=i/(n-2);
lpoint=relpoint(gWhite,s);
ldir=rotate(90)*reldir(gWhite,s);
draw(lpoint--(lpoint+llen*sin(2*pi*s)*ldir),black);
}
* 编辑-3d *
更多乐趣,这次是 3D 的:
// fish3d.asy
//
real w=8cm,h=0.618w;
size(h,w);
import solids;
currentprojection=orthographic(
camera=(-230,60,133),up=three.Y,target=(5,21,2),zoom=0.8);
currentlight=White;
include "fish3d05.asy";
material m_Skin=material(diffusepen=gray(0), emissivepen=rgb(0.8,0,0), specularpen=gray(1), shininess=0.15);
material m_eyeW=material(diffusepen=gray(0.001), emissivepen=gray(0.45), specularpen=gray(0.9),shininess=0.15);
material m_eyeB=material(diffusepen=gray(0.001), emissivepen=gray(0.01), specularpen=gray(0.9),shininess=0.15);
draw(surface(P),m_Skin);
triple c0=(-42,42,0);
triple c1=(-42,42,-20);
triple c2=(-42,42,22);
real R=10, r=3;
draw(surface(sphere(c1,R)),surfacepen=m_eyeW);
draw(surface(sphere(c2,R)),surfacepen=m_eyeW);
draw(surface(rotate(70,c1-(0,1,0),c1+(0,1,0))*sphere(c1-(R-r*0.62)*(three.Z),r)) ,m_eyeB);
draw(surface(rotate(-60,c2-(0,1,0),c2+(0,1,0))*sphere(c2+(R-r*0.62)*(three.Z),r)),m_eyeB);
fish3d05.asy
文件中的形状:
// fish3d05.asy
triple[][][] P={
{{(-77,42,0),(-78,42,7),(-71,37,14),(-68,22,14)},
{(-98,26,0),(-98,27,7),(-91,29,7),(-89,13,7)},
{(-119,20,0),(-119,20,1),(-115,13,5),(-113,7,5)},
{(-87,18,0),(-87,18,1),(-85,13,2),(-83,7,2)},
},{
{(-16,75,0),(-16,74,14),(-11,65,29),(-9,37,30)},
{(-38,80,0),(-38,80,14),(-31,67,31),(-30,39,31)},
{(-57,57,0),(-58,58,7),(-50,45,20),(-47,30,20)},
{(-77,42,0),(-78,42,7),(-71,37,14),(-68,22,14)},
},{
{(49,26,0),(50,26,5),(51,24,9),(51,20,9)},
{(33,34,0),(34,34,5),(35,25,14),(36,22,14)},
{(7,69,0),(7,69,14),(10,63,27),(12,35,28)},
{(-16,75,0),(-16,74,14),(-11,65,29),(-9,37,30)},
},{
{(80,39,-1),(80,39,4),(84,43,9),(83,30,9)},
{(71,36,-1),(71,36,4),(75,41,10),(75,28,10)},
{(65,17,0),(66,17,5),(67,22,5),(67,18,5)},
{(49,26,0),(50,26,5),(51,24,9),(51,20,9)},
},{
{(65,26,0),(66,26,0),(66,23,0),(66,20,0)},
{(101,33,0),(102,33,0),(102,29,2),(102,26,2)},
{(89,43,-1),(89,43,4),(92,46,8),(92,32,8)},
{(80,39,-1),(80,39,4),(84,43,9),(83,30,9)},
},{
{(-87,18,0),(-87,18,1),(-85,13,2),(-83,7,2)},
{(-55,16,0),(-55,16,1),(-56,13,0),(-54,7,0)},
{(29,19,0),(30,19,0),(29,16,-2),(29,14,-2)},
{(65,26,0),(66,26,0),(66,23,0),(66,20,0)},
},{
{(-68,22,14),(-65,6,14),(-67,-20,7),(-67,-21,0)},
{(-89,13,7),(-86,-2,7),(-87,-12,6),(-86,-13,-1)},
{(-113,7,5),(-111,0,5),(-108,-14,1),(-108,-15,0)},
{(-83,7,2),(-81,1,2),(-79,-6,1),(-79,-7,0)},
},{
{(-9,37,30),(-8,9,30),(-10,-39,16),(-10,-38,2)},
{(-30,39,31),(-28,11,32),(-31,-47,16),(-30,-47,2)},
{(-47,30,20),(-45,14,20),(-48,-28,7),(-47,-29,1)},
{(-68,22,14),(-65,6,14),(-67,-20,7),(-67,-21,0)},
},{
{(51,20,9),(52,16,9),(51,10,5),(50,10,0)},
{(36,22,14),(36,18,14),(36,6,5),(35,6,1)},
{(12,35,28),(13,7,28),(10,-30,16),(11,-30,2)},
{(-9,37,30),(-8,9,30),(-10,-39,16),(-10,-38,2)},
},{
{(83,30,9),(83,16,9),(79,-14,5),(79,-14,0)},
{(75,28,10),(74,14,10),(71,-14,5),(71,-14,0)},
{(67,18,5),(67,14,5),(66,14,4),(65,14,-1)},
{(51,20,9),(52,16,9),(51,10,5),(50,10,0)},
},{
{(66,20,0),(66,18,0),(65,15,0),(65,16,0)},
{(102,26,2),(102,24,2),(100,11,0),(99,12,0)},
{(92,32,8),(92,19,9),(88,-15,5),(88,-15,0)},
{(83,30,9),(83,16,9),(79,-14,5),(79,-14,0)},
},{
{(-83,7,2),(-81,1,2),(-79,-6,1),(-79,-7,0)},
{(-54,7,0),(-52,1,0),(-50,2,2),(-50,1,0)},
{(29,14,-2),(29,11,-2),(31,19,0),(31,20,0)},
{(66,20,0),(66,18,0),(65,15,0),(65,16,0)},
},{
{(-67,-21,0),(-66,-22,-7),(-63,3,-14),(-66,18,-14)},
{(-86,-13,-1),(-85,-14,-8),(-84,-7,-9),(-87,9,-9)},
{(-108,-15,0),(-108,-16,-2),(-110,-3,-6),(-112,3,-6)},
{(-79,-7,0),(-79,-8,-1),(-81,-2,-3),(-83,4,-3)},
},{
{(-10,-38,2),(-10,-38,-12),(-7,11,-25),(-8,39,-25)},
{(-30,-47,2),(-30,-47,-12),(-26,12,-26),(-27,40,-27)},
{(-47,-29,1),(-47,-30,-6),(-42,12,-19),(-44,28,-19)},
{(-67,-21,0),(-66,-22,-7),(-63,3,-14),(-66,18,-14)},
},{
{(50,10,0),(49,10,-5),(49,16,-10),(49,20,-10)},
{(35,6,1),(34,6,-4),(33,18,-13),(33,22,-13)},
{(11,-30,2),(11,-29,-12),(13,9,-23),(11,37,-24)},
{(-10,-38,2),(-10,-38,-12),(-7,11,-25),(-8,39,-25)},
},{
{(79,-14,0),(79,-14,-5),(83,16,-10),(83,30,-10)},
{(71,-14,0),(70,-14,-5),(73,14,-11),(74,27,-11)},
{(65,14,-1),(64,14,-5),(64,13,-7),(64,17,-7)},
{(50,10,0),(49,10,-5),(49,16,-10),(49,20,-10)},
},{
{(65,16,0),(65,16,0),(65,18,0),(65,20,0)},
{(99,12,0),(99,12,0),(102,25,-2),(102,27,-2)},
{(88,-15,0),(88,-15,-5),(92,19,-9),(92,32,-9)},
{(79,-14,0),(79,-14,-5),(83,16,-10),(83,30,-10)},
},{
{(-79,-7,0),(-79,-8,-1),(-81,-2,-3),(-83,4,-3)},
{(-50,1,0),(-50,0,-1),(-52,-1,0),(-54,5,0)},
{(31,20,0),(31,20,0),(28,11,2),(28,14,2)},
{(65,16,0),(65,16,0),(65,18,0),(65,20,0)},
},{
{(-66,18,-14),(-68,34,-14),(-77,41,-7),(-77,42,0)},
{(-87,9,-9),(-89,25,-9),(-97,26,-7),(-98,26,0)},
{(-112,3,-6),(-114,9,-6),(-119,19,-1),(-119,20,0)},
{(-83,4,-3),(-85,10,-3),(-87,17,-1),(-87,18,0)},
},{
{(-8,39,-25),(-10,67,-26),(-15,75,-14),(-16,75,0)},
{(-27,40,-27),(-29,68,-27),(-38,81,-14),(-38,80,0)},
{(-44,28,-19),(-47,43,-19),(-57,56,-7),(-57,57,0)},
{(-66,18,-14),(-68,34,-14),(-77,41,-7),(-77,42,0)},
},{
{(49,20,-10),(48,24,-10),(49,26,-5),(49,26,0)},
{(33,22,-13),(33,26,-13),(33,34,-5),(33,34,0)},
{(11,37,-24),(10,66,-24),(7,69,-14),(7,69,0)},
{(-8,39,-25),(-10,67,-26),(-15,75,-14),(-16,75,0)},
},{
{(83,30,-10),(83,43,-10),(80,39,-5),(80,39,-1)},
{(74,27,-11),(74,41,-11),(71,36,-5),(71,36,-1)},
{(64,17,-7),(64,21,-7),(64,17,-5),(65,17,0)},
{(49,20,-10),(48,24,-10),(49,26,-5),(49,26,0)},
},{
{(65,20,0),(65,23,0),(65,26,0),(65,26,0)},
{(102,27,-2),(102,30,-2),(101,33,0),(101,33,0)},
{(92,32,-9),(93,46,-9),(89,43,-5),(89,43,-1)},
{(83,30,-10),(83,43,-10),(80,39,-5),(80,39,-1)},
},{
{(-83,4,-3),(-85,10,-3),(-87,17,-1),(-87,18,0)},
{(-54,5,0),(-56,11,0),(-55,15,-1),(-55,16,0)},
{(28,14,2),(28,16,2),(29,19,0),(29,19,0)},
{(65,20,0),(65,23,0),(65,26,0),(65,26,0)},
}};
答案3
\documentclass{article}
\usepackage{tikz,stackengine}
\begin{document}
\savestack\fish{%
\begin{tikzpicture}
\draw[fill=blue] (.5,0) rectangle (4,2);
\draw[fill=red] (1,1) to[bend left=50] (3,1) to[bend left=50] (1,1);
\draw[fill=red] (3,1) -- (3.5,1.5) -- (3.3,1) -- (3.5,.5) -- cycle;
\draw[fill=white] (1.6,1.1) circle (.15cm);
\draw[fill=blue] (1.55,1.1) circle (.05cm);
\end{tikzpicture}
}
\color{yellow}%
\stackinset{c}{-2em}{c}{-.75em}{%
\rotatebox{-150}{\scalebox{1}[.5]{\textcolor{white}{$\frown$}}}}{%
\stackinset{c}{}{c}{}{%
\scalebox{.7}{\rotatebox{-90}{$\frown\!\frown\!\frown$}}}{%
\stackinset{c}{.7em}{c}{}{%
\scalebox{.7}[.5]{\rotatebox{-90}{$\frown\!\frown\!\frown$}}}{%
\stackinset{c}{1.3em}{c}{}{%
\scalebox{.5}[.3]{\rotatebox{-90}{$\frown\!\frown\!\frown$}}}{%
\stackinset{c}{2.6em}{c}{}{%
\scalebox{.4}[.3]{\rotatebox{-90}{$\frown~\frown$}}}{%
\stackinset{c}{2.9em}{c}{}{%
\scalebox{.3}[.3]{\rotatebox{-90}{$\frown~~~~~~~~\frown$}}}{%
\fish}}}}}}
\end{document}
答案4
A元鱼,有鳍……
prologues := 3;
outputtemplate := "%j%c.eps";
beginfig(1);
u = 20;
path dorso, ventro;
dorso = ((-1/4,0) .. (0,1/2) .. (1,9/8) .. (2,5/4) .. (4,1) .. (6,2/3) .. (7.5,17/16)) scaled u;
ventro = ((0,-1/3)..(1,-1)..(4.4,-1)..(6,-1/2)..(7.5,-17/16)) scaled u;
picture eye;
eye = image(
fill fullcircle scaled 10 withcolor white;
draw fullcircle scaled 10;
fill fullcircle scaled 5 shifted 1/2(-1,1);
unfill fullcircle scaled 1 shifted (-1,1);
fill fullcircle scaled 1/2 shifted (-2.73,2.73);
);
path tail[]; n=16;
for t=1 upto n-1:
tail[t] = interpath(t/n,subpath(5,6) of dorso, subpath(3,4) of ventro);
tail[t] := tail[t] shifted (3-sqrt(abs(ypart point 0 of tail[t])),0);
endfor
path body;
body = reverse ventro .. (1/8u,-1/8u) {left} .. (-1/4u,0) & dorso
for i=1 upto n-1: .. point 1 of tail[i] {dir -40} endfor .. cycle;
path a,b;
a = point 3 of dorso {direction 3 of dorso rotated 72} .. point 3 of dorso shifted (1/4u,1/2u+normaldeviate);
b = point 4.5 of dorso {direction 4.5 of dorso rotated 90} .. point 4.5 of dorso shifted (1/3u,3/4u+normaldeviate);
path f[];
for t=0 upto 32: f[t] = subpath(0,7/8-(t**5/4)/512+1/64 normaldeviate) of interpath(t/32,a,b); endfor
for t=0 upto 32: draw f[t]; endfor
draw point 1 of f[0] for t=1 upto 32: .. {dir 60} point 1 of f[t] endfor;
path a,b;
a = point 1.5 of ventro {direction 2 of ventro rotated -72}
.. point 1.5 of ventro shifted (1/4u,-1/2u+normaldeviate);
b = point 3 of ventro {direction 3 of ventro rotated -90}
.. point 3 of ventro shifted (1/3u,-3/4u+normaldeviate);
path f[];
for t=0 upto 16: f[t] = subpath(0,7/8+1/64 normaldeviate) of interpath(t/32,a,b); endfor
for t=0 upto 16: draw f[t]; endfor
draw point 1 of f[0] for t=1 upto 16: .. {dir 60} point 1 of f[t] endfor;
fill body withcolor 3/4[1/3[blue,green],white];
draw body;
for t=1 upto n-1: draw tail[t]; endfor
draw eye rotated -10 shifted (1/2u,1/4u);
endfig;
end.