
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