void setup() {
size(400, 400);
stroke(255);
}
void draw() {
background(0);
stroke(100);
drawLine(0,165,0,200);
//Draw A spider body
stroke(200);
drawCircle(width/2, height/2, 50); //body
drawCircle(width/2+(20), height/2-(20), 10); //right eye
drawCircle(width/2-(20), height/2-(20), 10); //left eye
stroke(255,0,0);
arc(width/2,height/2,40,40,0,PI); //mouth
noFill();
stroke(mouseX,mouseX,mouseY);
//right legs
arc(305,height/2-20,120,40,PI,0);
arc(310,height/2,120,40,PI,0);
arc(305,height/2+20,120,40,PI,0);
arc(295,height/2+40,120,40,PI,0);
//left legs
arc(95,height/2-20,120,40,PI,0);
arc(90,height/2,120,40,PI,0);
arc(95,height/2+20,120,40,PI,0);
arc(105,height/2+40,120,40,PI,0);
stroke(100);
drawWeb(400);
stroke(255,0,0);
drawCircle(width/2+(20), height/2-(20), 5); //right eye
drawCircle(width/2-(20), height/2-(20), 5); //left eye
}
/***************************************************************
*Draw A Line
***************************************************************/
void drawLine(int x0,int x1,int y0,int y1)
{
int changeX = x1-x0;
int changeY = y1-y0;
float slope;
if((x1-x0)!=0){
slope = changeY/changeX;
int y=y0;
if (changeX !=0)
{
for (int x=x0; x
point(x,y);
y=y+1;
}
}
}
else println("error");
}
/***************************************************************
*Draw A Circle
***************************************************************/
void drawCircle(int x0, int y0, int radius)
{
int f = 1 - radius;
int ddF_x = 1;
int ddF_y = -2 * radius;
int x = 0;
int y = radius;
point(x0, y0 + radius);
point(x0, y0 - radius);
point(x0 + radius, y0);
point(x0 - radius, y0);
while(x < y)
{
// assert(ddF_x == 2 * x + 1);
// assert(ddF_y == -2 * y);
// assert(f == x*x + y*y - radius*radius + 2*x - y + 1);
if(f >= 0)
{
y--;
ddF_y += 2;
f += ddF_y;
}
x++;
ddF_x += 2;
f += ddF_x;
point(x0 + x, y0 + y);
point(x0 - x, y0 + y);
point(x0 + x, y0 - y);
point(x0 - x, y0 - y);
point(x0 + y, y0 + x);
point(x0 - y, y0 + x);
point(x0 + y, y0 - x);
point(x0 - y, y0 - x);
}
}
/***************************************************************
*Draw A Web
***************************************************************/
void drawWeb(int n)
{
for(int i = 0; i < n; i++)
{
if(i%9==0)
line(0, n-i, i, 0);
}
}
No comments:
Post a Comment