Professional Documents
Culture Documents
Experiment No.1
Experiment No.1
1
AIM: Write a program in C/C++ to draw a line in graphics mode.
CODE:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int gdriver = DETECT, gmode;
int x, y;
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
setcolor(12);//12:red
line(120, 259, 536, 389);//range(x):0..639 and range(y):0..479
getch();
return 0;
}
Experiment No.2
AIM: Write a program in C/C++ to draw a rectangle in graphics mode.
CODE:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int gdriver = DETECT, gmode;
int l=120, t=259,r=536,b=389;
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
setcolor(12);
rectangle(l,t,r,b);
getch();
return 0;
}
Experiment No.3
AIM: Write a program in C/C++ to draw a circle in graphics mode.
CODE:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int gdriver = DETECT, gmode;
int radiusx=345,radiusy=256,radius=150;
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
setcolor(12);
circle(radiusx,radiusy,radius);
getch();
return 0;
}
Experiment No.5
AIM: Write a program in C/C++ to draw a line using DDA line Algorithm.
CODE:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define ROUND(a) ((int)(a+0.5))
void lineDDA (int xa, int ya, int xb, int yb)
{int dx = xb - xa, dy = yb - ya, steps, k;
float xIncrement, yIncrement, x =xa, y =ya;
if(abs(dx)>abs(dy)) steps=abs(dx);
else
steps = abs(dy);
xIncrement = dx/(float)steps;
yIncrement = dy/(float)steps;
putpixel(ROUND(x),ROUND(y),12);
for(k=0; k<steps; k++) {
x+= xIncrement;
y+= yIncrement;
putpixel(ROUND(x),ROUND(y),12);}
}
int main(void)
{ int gdriver = DETECT, gmode, errorcode;
int l=120, t=259,r=536,b=389;
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
setcolor(12);
lineDDA(l,t,r,b);
getch();
return 0;}
Experiment No.6
AIM: Write a program in C/C++ to draw a line using Bresenham’s line
Algorithm.
CODE:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define ROUND(a) ((int)(a+0.5))
void lineBres (int xa,int ya,int xb,int yb)
{
int dx,dy;
dx=abs(xa-xb);
dy=abs(ya-yb);
int p =2*dy-dx;
int twoDy,twoDyDx;t
woDy=2*dy;
twoDyDx= 2*(dy-dx);
int x,y,xEnd;
if (xa > xb){
x = xb;
y = yb;
xEnd = xa;
}
else {
x = xa;
y = ya;
xEnd = xb;
}
putpixel(x,y,12);
while(x<xEnd){
x++;
if (p<0)
p+=twoDy;
else {
y++;
p+=twoDyDx;
}
putpixel(x,y,12);
}
}
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
int l=120, t=259,r=536,b=389;
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
setcolor(12);
lineBres(l,t,r,b);
getch();
return 0;
}
Experiment No.7
AIM: Write a program in C/C++ to draw a circle using Midpoint circle
drawing Algorithm.
CODE:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define ROUND(a) ((int)(a+0.5))
Prepared By:
Sameer A.Pandit
6th Semester IT
08118049
Computer
Graphics
Lab
File
Prepared By:
Shreyans Jain
6th Semester IT
08118055