Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: COMPUTER GRAPHICS
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
COMPUTER GRAPHICS
[attachment=19416]
BRESENHAMS LINE ALGORITHM
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd,gm,i;
float x,y,x1,y1,x2,y2,dx,dy,e;
printf("\n enter the value of x1 nd y1:\n");
scanf("%f%f",&x1,&y1);
printf("\n enter the value of x2 nd y2 :\n");
scanf("%f%f",&x2,&y2);
detectgraph(&gd,&gm);
initgraph(&gd,&gm,"");
dx=abs(x2-x1);
dy=abs(y2-y1);
x=x1;
y=y1;
e=2*dy-dx;
i=1;
do
{
putpixel(x,y,15);
while(e>=0)
{
y=y+1;
e=e-2*dx;
}
x=x+1;
e=e+2*dy;
i=i+1;
delay(100);
}
while(i<=dx);
getch();
closegraph();
}
OUTPUT:
ENTER THE VALUE OF X1 & YI : 45 60
ENTER THE VALUE OF X2 & Y2 : 70 100
BRESENHAMS CIRLE ALGORITHM
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
float d;
int i,gd,gm,x,y,r,j=200,k=200;
detectgraph(&gd,&gm);
initgraph(&gd,&gm,"");
printf("\n enter the radius:\n");
scanf("%d",&r);
x=0;
y=r;
d=1.25-r;
do
{
putpixel(j+x,k+y,15);
putpixel(j+x,k-y,15);
putpixel(j-x,k+y,15);
putpixel(j-x,k-y,15);
putpixel(k+y,j+x,15);
putpixel(k-y,j-x,15);
putpixel(k+y,j-x,15);
putpixel(k-y,j+x,15);
if(d<0)
{
x=x+1;
d=d+2*x+2;
}
else
{
x=x+1;
y=y-1;
d=d+2*(x-y)+1;
}}
while(x<y);
getch();
closegraph();
}
OUTPUT:
ENTER THE RADIUS : 200
MIDPOINT CIRCLE ALGORITHM
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
int gd,gm,x,y,r;
float d;
clrscr();
printf("\n enter the radius:\n");
scanf("%d",&r);
detectgraph(&gd,&gm);
initgraph(&gd,&gm,"");
x=0;y=r;
d=3/2*r;
do
{
putpixel(200+x,200+y,20);
putpixel(200+y,200+x,25);
putpixel(200+y,200-x,30);
putpixel(200+x,200-y,40);
putpixel(200-x,200-y,100);
putpixel(200-y,200-x,60);
putpixel(200-y,200+x,70);
putpixel(200-x,200+y,30);
if(d<=0)
{
d=d+4*x+16;
}
else
{
y=y-1;
d=d+4*(x-y)+10;
}
x=x+1;
delay(100);
}
while(x<y);
getch();
closegraph();
}