Task04 :: character with functions:: H J Chae
 
Composition :
 
 
code :
//task04 :: character with functions :: H J Chae
#include "CanvasPlus.as"
Canvas.setBackgroundColor (1, 1, 1);

function drawBody(p1x, p1y, width, height) { //a rectangle for upper body part
	var filled = true;
	Canvas.setPenColor(.4, .8, .8);
	Canvas.setPenWeight(.02);
	Canvas.drawRectangle(filled, p1x, p1y, height, width, .2)
}
function drawTshirt(centerX, centerY,  radi1, radi2) {//a circle for a pattern on upper body
	var filled = true;
	Canvas.setPenColor(.9, .9, .5);
   Canvas.setPenWeight(.02);
	Canvas.drawOval(filled, centerX, centerY, .053, .053);
}
function drawEyeballs2(centerE1X, centerE2X, centerEY,  radi1, radi2) {//happy face for Tshirts
	var filled = true;
	Canvas.setPenColor(.3, .3, .3);
	Canvas.drawOval(filled, centerE1X, centerEY, .002, .002);
	Canvas.drawOval(filled, centerE2X, centerEY, .002, .002);
	Canvas.setPenColor(.7, .4, .6);
	Canvas.setPenWeight(.015);
	Canvas.drawLine(.48,.60,.5,.61);
	Canvas.drawLine(.5,.61,.52,.60);
}
function drawHead(centerX, centerY,  radi1, radi2) {//a oval for the face
	var filled = true;
	Canvas.setPenColor(.9, .65, .6);
   Canvas.setPenWeight(.02);
	Canvas.drawOval(filled, centerX, centerY, .15, .15);
}
function drawHairMore2(hm1x, hm2y) {//left half part of hairs on forehead
	var hm1x =.35;
	while  (hm1X <.5){
	Canvas.setPenColor(.2, .2, .2);
	Canvas.setPenWeight(.025);
	hm1y = (Math.cos(hm1x+1)+.03);
	var hm2x =hm1x;
	var hm2y =.3;
	Canvas.drawLine(hm1x, hm1y, hm2x, hm2y);
	hm1x+=.015;
	}
}
function drawHairMore3(hm3x, hm4y) {//right half part of hairs on forehead
	var hm3x =.5;
	while  (hm3X <.65){
	Canvas.setPenColor(.2, .2, .2);
	Canvas.setPenWeight(.025);
	hm3y = (Math.cos(hm3x-2)+.03);
	var hm4x =hm3x;
	var hm4y =.3;	
	Canvas.drawLine(hm3x, hm3y, hm4x, hm4y);
	hm3x+=.015;
	}
}
function drawEyeballs(centerE1X, centerE2X, centerEY,  radi1, radi2) {//black dots for eyes
	var filled = true;
	Canvas.setPenColor(.1, .1, .1);
	Canvas.drawOval(filled, centerE1X, centerEY, .01, .01);
	Canvas.drawOval(filled, centerE2X, centerEY, .01, .01);
}
function drawHairs(H1X, H1Y, H2X, radi) {//hair braids
	var H3X =  H1X-.025, H3Y = H1Y+.025;
	var H4X =  H2X +.025, H4Y = H1Y +.025;
	var H5X =  H3X-.025, H5Y = H3Y+.025;
	var H6X =  H4X +.025, H6Y = H4Y +.025;
	var H7X =  H5X-.025, H7Y = H5Y+.025;
	var H8X =  H6X +.025, H8Y = H6Y +.025;
	var filled = true;
	Canvas.setPenColor(.2, .2, .2);
	Canvas.drawOval(filled, H1X, H1Y, radi, radi);
	Canvas.drawOval(filled, H2X, H1Y, radi, radi);
	Canvas.drawOval(filled, H3X, H3Y,  radi, radi);
	Canvas.drawOval(filled, H4X, H4Y,  radi, radi);
	Canvas.drawOval(filled, H5X, H5Y,  radi, radi);
	Canvas.drawOval(filled, H6X, H6Y,  radi, radi);
	Canvas.drawOval(filled, H7X, H7Y,  radi, radi);
	Canvas.drawOval(filled, H8X, H8Y,  radi, radi);
}
function drawLimbs(point1X, point2X, point1Y, length, thickness){//arms and legs
	Canvas.setPenColor (.9, .65, .6);
	Canvas.setPenWeight (thickness);
	Canvas.drawLine(point1X, point1Y, point1X+length, point1Y);
	Canvas.drawLine(point2X, point1Y, point2X+length, point1Y);
	Canvas.drawLine(point1X+.15, point1Y+.2, point1X+length, point1Y+.35);
	Canvas.drawLine(point2X-.05, point1Y+.2, point2X-.05, point1Y+.35);
}
function drawTriangle(T1x,T1y,T2x,T2y,T3x,T3y) {//skirts
	Canvas.setPenColor(.7, .5, .7);
  Canvas.setPenWeight(.08);
  Canvas.drawLine(T1x,T1y,T2x,T2y);
 Canvas.drawLine(T2x,T2y, T3x,T3y);
  Canvas.drawLine(T3x,T3y, T1x,T1y);
}
function drawCharacter() {
	drawLimbs(.3, .6, .5, .1, .06);
	drawTriangle(.35, .7, .65, .7, .5, .55);
	drawPants(.42, .64, .08, .16);
	drawBody(.4, .48, .2, .2);
   drawHead(.5, .33, .15, .15);
	drawHairline(.35, .3, .65, .3);
	drawHairMore2(.35, .3);
	drawHairMore3(.5, .3);
	drawEyeballs(.4, .6, .4, .01, .01);	
	drawHairs(.33, .35, .67, .02);
	drawTshirt(.5, .58,  .06, .06);
	drawEyeballs2(.49, .51, .58,  .004, .004);
	//drawTriangle(filled, Region[0], Region[1], Region[2]);
}

drawCharacter();

/*-- experiments to draw hairs
function drawHairMore2(hm1x, hm2y) {
	var hm1x =.35;
	while  (hm1X <.5){
	Canvas.setPenColor(.5, .3, .3);
	Canvas.setPenWeight(.02);
	var hm2x = hm1x;
	var hm2y = .3
	hm1y = .3-(hm1x-.3);
	Canvas.drawLine(hm1x, hm1y, hm2x, hm2y);
	hm1x+=.02;
	}
}
--*/
/*--
function drawHairMore3(hm3x, hm3y, hm4x, hm4y) {
	var hm3x =.5;
	var hm4x =hm3x;
	var hm4y =.3;
	while  (hm3X <.65){
	Canvas.setPenColor(.5, .3, .5);
	Canvas.setPenWeight(.02);
	hm3y = .3-(hm3x-.3);
	Canvas.drawLine(hm3x, hm3y, hm4x, hm4y);
	hm1x+=.02;
	}
}
--*/
/*--
function drawHairMore3(hm2x, hm2y, hm3x, hm3y) {
   var hm2x =.5;
	while ( (hm2X <.65)&&(hm3y>0)) {
	Canvas.setPenColor(.5, .5, .5);
	Canvas.setPenWeight(.025);
	var hm3x =hm2x-.15
	var hm2y = (Math.cos(hm3x)-.7)*1.2;
	//var hm3y = 1/hm2y
	Canvas.drawLine(hm2x, hm2y, hm2x, .3);
	hm2x+=.02;
	}
}
--*/
/*-- experiments to draw or fill a triangle
function drawTriangle(fill, T1, T2, T3){
	var T1x =.35, T1y =.75;
	var T2x =.65, T2y =.75;
	var T3x =.5, T3y =.6;
	var filled = true;	
	var T1 = (T1x, T1y);
	var T2 = (T2x, T2y);
	var T3 = (T3x, T3y);
   var region = new Array(T1, T2, T3);
	Canvas.setPenColor(.7, .5, .7);
   Canvas.setPenWeight(.02);
   Canvas.drawregion (filled, T1, T2, T3);
}
--*/
/*--
function drawTriangle(fill, T1, T2, T3){
	var T1x =.35, T1y =.75;
	var T2x =.65, T2y =.75;
	var T3x =.5, T3y =.6;
	var fill = true;	
	var T1 = new Array (T1x, T1y);
	var T2 = new Array (T2x, T2y);
	var T3 = new Array (T3x, T3y);
   var Region = new Array(T1, T2, T3);
	Canvas.setPenColor(.7, .5, .7);
   Canvas.setPenWeight(.02);
   Canvas.drawRegion (filled, Region[0], Region[1], Region[2]);
}
--*/