Wednesday, January 14, 2009

Homework 2


Homework 2


void setup()
{
size(200,200);
background(0);
}

void draw()
{
  drawWeb(150);
  drawLine(120,10,170,150);
  drawCircle(100,100,15);
}

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< ya)
  {
    ddF_x = 2*x + 1;
    ddF_y = -2*y;
    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);
  }
}
void drawLine(int x0, int y0, int x1, int y1)
{
  
  
 int rise = y1 - y0; 
 int run = x1 - x0;
 float error = 0;
 float slope = (float)rise/run;
 int y = y1;
 
 for(int x=x0; x <= x1;x++)
 {
 point(x,y);
 error = error + slope;
 if(abs(error) >= 0.5)
 {
   y=y+1;
   error -= 1.0;
 }
 }
 
}

void drawWeb(int siz)
{
for (int i = 1; i < i =" i+5)
{
  stroke(255);
  line(0, siz, i, 0);
  siz--;
}


for (int i = 1; i < i =" i+5)
{
  stroke(255);
  line(siz, 0, 0, i);
  siz--;
}
}




No comments:

Post a Comment