TASK 04

IMAGE:









CODE:

//ladybug    ---created by pei-wen huang, 10/23/03

#include "CanvasPlus.as"

Canvas.setBackgroundColor( .85, .84, .31);

//the centerline of the ladybug is x = y

//basic variables
var basePoint1 = new Array ( .33, .55);
var shadowR = .26;
var shadowG = .35;
var shadowB = .2;
var pa1 = new Array (.25, .11);
var pa2 = new Array ( .825, .765);
var pa3 = new Array ( .765, .825);
var pa4 = new Array ( basePoint1[0], basePoint1[0]);
var pa5 = new Array ( .5, .3);
var pa6 = new Array ( .7, .37);
var pa7 = new Array ( .79, .57);
var pa8 = new Array ( .37, .24);
var pa9 = new Array ( .43, .31);
var pa10 = new Array ( .3, .435);
var pa11 = new Array ( .24, .37);
var R1 = .2;
var G1 = 0;
var B1 = .33;

//character functions
function drawAntenna() {
	//including line and circle
	var filled = true;
	var px1 = basePoint1[0], py1 = px1;
	var rx2 = .03;
	var ry2 = rx2;
	Canvas.setPenWeight( .022);
	//shadow part 2
	Canvas.setPenColor( shadowR, shadowG, shadowB);
	Canvas.drawLine ( px1 - .02, py1 + .03, pa1[0] - .02, pa1[1] + .03);
	Canvas.drawLine ( px1 - .02, py1 + .03, pa1[1] - .02, pa1[0] + .03);
	Canvas.drawOval ( filled, pa1[0] - .02, pa1[1] + .03, rx2, ry2);
	Canvas.drawOval ( filled, pa1[1] - .02, pa1[0] + .03, rx2, ry2);
	//antenna
	Canvas.setPenColor(  R1, G1, B1);
	Canvas.drawLine ( px1, py1, pa1[0], pa1[1]);
	Canvas.drawLine ( px1, py1, pa1[1], pa1[0]);
	Canvas.drawOval ( filled, pa1[0], pa1[1], rx2, ry2);
	Canvas.drawOval ( filled, pa1[1], pa1[0], rx2, ry2);
}

function drawFace() {
	var filled = true;
	var px1 = basePoint1[0];
	var py1 = px1;
	var rx1 = .13;
	var ry1 = rx1;
	//shadow
	Canvas.setPenColor( shadowR, shadowG, shadowB);
	Canvas.drawOval(filled, px1 - .02, py1 + .03, rx1, rx2);	
	//head
	Canvas.setPenColor( R1, G1, B1);
	Canvas.drawOval(filled, px1, py1, rx1, ry1);
}

function drawHead() {
	//combine face and antenna together
	drawAntenna();
	drawFace();
}

function drawWing() {
	var filled = true;
	var px2 = basePoint1[1];
	var py2 = px2;
	var rx2 = .35;
	var ry2 = rx2;
	//shadow
	Canvas.setPenColor( shadowR, shadowG, shadowB);
	Canvas.drawOval( filled, px2 - .035, py2 + .045, rx2, ry2);
	//wings
	Canvas.setPenColor( .88, .16, .1);
	Canvas.drawOval( filled, px2, py2, rx2, ry2);
}

function drawBody() {
	//inner black part
	var filled = true;
	var paB = new array ( pa2, pa3, pa4);
	//no shadow needed
	Canvas.setPenColor( 0, 0, 0);
	Canvas.drawRegion( filled, paB);
}

function drawDot() {
	//the dots on the wings
	var filled = true;
	var rx3 = .055;
	var ry3 = rx3;
	//no shadow needed
	Canvas.setPenColor( R1, G1, B1 - .1);
	Canvas.drawOval( filled, pa5[0], pa5[1], rx3, ry3);
	Canvas.drawOval( filled, pa5[1], pa5[0], rx3, ry3);
	Canvas.drawOval( filled, pa6[0], pa6[1], rx3, ry3);
	Canvas.drawOval( filled, pa6[1], pa6[0], rx3, ry3);
	Canvas.drawOval( filled, pa7[0], pa7[1], rx3, ry3);
	Canvas.drawOval( filled, pa7[1], pa7[0], rx3, ry3);
}

function drawButterflyBow(){
	var filled = true;
	var BB1 = new array ( pa8, pa9, pa4); 
	var BB2 = new array ( pa10, pa11, pa4);
	Canvas.setPenColor( 1, .5, .5);
	Canvas.drawRegion( filled, BB1);
	Canvas.drawRegion( filled, BB2);
}

function drawCharacter() {
	//later functions paint over previous results
	drawHead();
	drawWing();
	drawBody();
	drawDot();
	drawButterflyBow();
}


//one esingle command to create character
drawCharacter();