Reputation: 322
Hi i written a code to draw a circles using putpixel method in java. i tried to design a loop for this code but i didn't success. This is the original code:
g2d=(Graphics2D) g;
int x=200, y=200,rad =120;
printcircle(x,y,rad,g);
printcircle(x+rad/2,y,rad/2,g);
printcircle(x-rad/2,y,rad/2,g);
printcircle(200-90,200,30,g);
printcircle(200+90,200,30,g);
printcircle(200-30,200,30,g);
printcircle(200+30,200,30,g);
printcircle(200+45,200,15,g);
printcircle(200-45,200,15,g);
printcircle(200+15,200,15,g);
printcircle(200-15,200,15,g);
printcircle(200-15,200,15,g);
printcircle(200-75,200,15,g);
printcircle(200+75,200,15,g);
printcircle(200+105,200,15,g);
printcircle(200-105,200,15,g);
Where rad stands for radius and x,y is the center point for circles. this is the shape that i had written my code for it
and this is the code that i had start to code it with loop:
g2d=(Graphics2D) g;
int x=200, y=200,rad =120;
printcircle(x,y,rad,g);
for(int i=0;i<2;i++)
{ int t=rad/2;
printcircle(x+t,y,t,g);
printcircle(x-t,y,t,g);
}
for(int i=0;i<3;i++)
{
int t=rad/4;
printcircle(200-90,200,30,g);
printcircle(200+90,200,30,g);
printcircle(200-30,200,30,g);
printcircle(200+30,200,30,g);
}
printcircle(200+45,200,15,g);
printcircle(200-45,200,15,g);
printcircle(200+15,200,15,g);
printcircle(200-15,200,15,g);
printcircle(200-15,200,15,g);
printcircle(200-75,200,15,g);
printcircle(200+75,200,15,g);
printcircle(200+105,200,15,g);
printcircle(200-105,200,15,g);
If anyone can help me please.
Upvotes: 0
Views: 104
Reputation: 6136
g2d=(Graphics2D) g;
int x=200, y=200,rad =120;
for(int i=0;i<8;i++)
{
int param;
if(i == 2 || i == 6)
param = 30;
else if(i == 4)
param = 60;
else if(i == 0)
param = 120;
else
param = 15;
printcircle(x+i*15,y,param,g);
if(i == 0)
continue;
printcircle(x-i*15,y,param,g);
}
Upvotes: 1