// -------------------------------------------------- // This is kame.asy // Date: Wednesday 18 Apr 2012 // Ported from kame.mp (of Date: Saturday 25 Oct 2008) // by Hiroshi Fujita // -------------------------------------------------- real w = 0.76inch; real h = 0.5w; pair z0 = (1w,0); pair z1 = (0.8w,1h); pair z2 = (-0.8w,1h); pair z3 = (-1w,0); pair z4 = (0.4w,0.7h); pair z5 = (-0.4w,0.7h); path p1 = z0{up}..z1..z2..{down}z3{down}.. tension 2 .. {up}z0; // path p1 = z0{up}..z1..z2..{down}z3.. tension 2 ..z0; path p2 = z3{sqrt(3),-1}.. tension 1 ..{sqrt(3),1}z0; path p3 = z1 -- z4 -- z5 -- z2; pair z100 = (0,5h); pair z101 = (0,3h); // real y99 = y98 = -3h; pair z98 = extension(z100,z4,(0,-3h),(1w,-3h) ); pair z99 = extension(z100,z5,(0,-3h),(1w,-3h) ); pair z6 = intersectionpoint ( (z98..z100), p2 ); pair z7 = intersectionpoint ( (z99..z100), p2 ); pair z8 = intersectionpoint ( (z4..z101), p1 ); pair z9 = intersectionpoint ( (z5..z101), p1 ); path p4 = (0,0.3h )..tension 2.0 .. (0.2w,-0.4h)..tension 1.0 ..(-0.2w,-0.4h).. tension 2.0 ..cycle; // ---- let's draw ---- pen myPen = linewidth(0.04w); // body draw(p1, myPen); draw(p2, myPen); draw(p3, myPen); draw(z8--z4--z6, myPen); draw(z9--z5--z7, myPen); // tail fill ( shift((-1.3w, -.2h))*yscale(0.4)*rotate(90)*p4, white ); draw ( shift((-1.3w, -.2h))*yscale(0.4)*rotate(90)*p4, myPen ); // head fill ( shift( 1w, -0.2h )*scale(1.2)*rotate(90)*p4 , white ); draw ( shift( 1w, -0.2h )*scale(1.2)*rotate(90)*p4 , myPen ); // back foot fill ( shift((-0.9w,-0.5h))*rotate(-30)*p4, white ); draw ( shift((-0.9w,-0.5h))*rotate(-30)*p4, myPen ); // fore foot fill (shift((0.8w,-0.5h))*rotate(30)*p4, white ); draw (shift((0.8w,-0.5h))*rotate(30)*p4, myPen); // eye fill ( shift((1.35w, -0.15h))*scale(0.05w)*unitcircle, black );