You are on page 1of 7

Assignment-3

Name: Aditya Ram

Reg no:20BCE7102

Question –1:

Code:

void setup()

size(400,400);

void draw()

background(225,0,0);

BreshCircle();

void BreshCircle()

int x, y, r, Xc, Yc;

Xc=100;

Yc=100;

r=40;

//Decision parameter

int D=3-(2*r);

//---

x=0;

y=r;

boolean over=false;
while(!over)

drawCircle(Xc,Yc,x,y);

if(D < 0)

D=D+4*x+6;

x=x+1;

if(D > 0)

D=D+4*(x-y)+10;

x=x+1;

y=y-1;

if(x >= y)

over=true;

void drawCircle(int Xc,int Yc,int x,int y)

point(x+Xc, y+Yc );

point(y+Xc, x+Yc);

point(-y+Xc, x+Yc);

point(-x+Xc, y+Yc);

point(-x+Xc, -y+Yc);

point(-y+Xc, -x+Yc);
point(y+Xc, -x+Yc);

point(x+Xc, -y+Yc);

Question 2:

COde:

void setup()

size(600,600);

void draw()

background(255);

Ellipse();

void Ellipse()
{

float rx=100;

float ry=50;

float xc=300;

float yc=300;

float dx, dy, d1, d2, x, y;

x = 0;

y = ry;

d1 = (ry * ry) - (rx * rx * ry) +(0.25f * rx * rx);

dx = 2 * ry * ry * x;

dy = 2 * rx * rx * y;

while(dx < dy)

point(x + xc,y + yc);

point(-x + xc, y + yc);

point(x + xc, -y + yc);

point(-x + xc, -y + yc);

if (d1 < 0)

x++;

dx = dx + (2 * ry * ry);

d1 = d1 + dx + (ry * ry);

else

x++;

y--;

dx = dx + (2 * ry * ry);

dy = dy - (2 * rx * rx);

d1 = d1 + dx - dy + (ry * ry);
}

d2 = ((ry * ry) * ((x + 0.5f) * (x + 0.5f))) + ((rx * rx) * ((y - 1) * (y - 1)))- (rx * rx * ry * ry);

while (y >= 0) {

point(x + xc,y + yc);

point(-x + xc,y + yc);

point(x + xc,-y + yc);

point(-x + xc,-y + yc);

if (d2 > 0) {

y--;

dy = dy - (2 * rx * rx);

d2 = d2 + (rx * rx) - dy;

else {

y--;

x++;

dx = dx + (2 * ry * ry);

dy = dy - (2 * rx * rx);

d2 = d2 + dx - dy + (rx * rx);

Output:

You might also like