A fish for fun

A fish

\documentclass[border=10pt]{standalone}
\usepackage[inline]{asymptote}
\begin{document}
\begin{asy}[width=\the\linewidth,inline=true]
settings.outformat="pdf";
settings.render=0;
settings.prc=false;
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

Source: TeX.SE
Author: g.kov (License)