Première prise en main avec Asymptote, s'avère peu concluante
Mais ça m'aura permis d'utiliser quelques commandes de bases !
Code : Tout sélectionner
import geometry;
import graph;
size(5cm);
path visage=(0.5,-0.3)..(0.2,-0.2)..(0,0)..(0,0.45)..(0,0.6)..(0,0.85)..(0.3,0.95)..(0.5,0.95)..(0.7,0.95)..(1,0.85)..(1,0.6)..(1,0.45)..(1,0)..(0.8,-0.2)..(0.5,-0.3)..cycle;
filldraw(visage,pink); // bon ok elle est un peu rondouillarde !
pair a=(0.5,0.5), b=(0.5,-0.5);
pen stylo1=red, stylo2=magenta;
path bouche=(0,0)..(0.1,0.05)..(0.3,0.15)..(0.5,0.10)..(0.7,0.15)..(0.9,0.05)..(1,0)..(1,0)..(0.9,-0.05)..(0.7,-0.15)..(0.5,-0.10)..(0.3,-0.15)..(0.1,-0.05)..(0,0)--cycle;
path bouche2=shift(0.15*dir(0))*scale(0.7)*bouche;
axialshade(bouche2,stylo1,a,stylo2,b); // un peu de rouge à lèvres
path levre=(0,0)..(0.5,-0.02)..(1,0);
draw(bouche2,linewidth(1)); // un coup de crayon
draw(shift(0.15*dir(0))*scale(0.7)*levre);
path nez=(0.5,0.4)..controls (1,0.4)..(0.5,0.4)..(0.35,0.45)..(0.25,0.41)..(0.4,0.55);
path nez2=shift(0.1*dir(-90))*shift(0.15*dir(0))*scale(0.7)*nez;
draw(nez2); // oui je sais elle a un gros pif mais c'était pas évident à faire :p
draw(reflect((0.5,0),(0.5,0.5))*nez2);
path trait=(0.4,0.55)..controls (0.4,0.6) and (0.4,1)..(0.38,1);
path trait2=shift(0.1*dir(-90))*shift(0.15*dir(0))*scale(0.7)*trait;
draw(trait2);
draw(reflect((0.5,0),(0.5,0.5))*trait2);
path oeil=(0.15,0.8)..controls (0.27,0.87) and (0.27,0.87)..(0.4,0.8);
draw(oeil);
path oeil2=reflect((0.15,0.8),(0.4,0.8))*oeil;
draw(oeil2,linewidth(1)); // un coup de crayon
path pupille=Circle((0.27,0.8),0.05);
pen stylo3=black, stylo4=royalblue;
pair c=(0.27,0.8), d=(0.73,0.8);
radialshade(pupille,stylo3,c,0.005,stylo4,c,0.05); // quel regard ! ^^
draw(pupille,linewidth(0.5));
path oeil3=reflect((0.5,0),(0.5,0.5))*oeil;
path oeil4=reflect((0.5,0),(0.5,0.5))*oeil2;
path pupille2=reflect((0.5,0),(0.5,0.5))*pupille;
draw(oeil3);
draw(oeil4,linewidth(1));
radialshade(pupille2,stylo3,d,0.005,stylo4,d,0.05);
draw(pupille2,linewidth(0.5));
Autre chose, pour le pourtour de l'oeil j'ai utilisé deux path (contour supérieur et contour inférieur avec ricil), comment remplir en blanc la zone délimitée par ces deux path ? Je sais faire avec deux path cycle via la commande "^^" mais là non.
Merci ! :)