Computer Graphics Program 1. Write A C Program To Implement DDA Line Drawing Algorithm
Computer Graphics Program 1. Write A C Program To Implement DDA Line Drawing Algorithm
while(i<=steps)
{
putpixel(x,y,3);
x=x+dx;
y=y+dy;
i=i+1;
delay(100);
}
getch();
closegraph();
}
2. Write a C program to implement Bresenham line drawing algorithm.
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
void main()
{
int dx,dy,x,y,p,x1,x2,y1,y2;
int gd,gm;
clrscr();
printf("\n\n Enter the co=ordinates of first point : ");
scanf("%d %d",&x1,&y1);
printf("\n\n Enter the co=ordinates of second point : ");
scanf("%d %d",&x2,&y2);
dx=(x2-x1);
dy=(y2-y1);
p=2*(dy) - (dx);
x=x1;
y=y1;
detectgraph(&gd,&gm);
initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
putpixel(x,y,WHITE);
setcolor(6);
setbkcolor(3);
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
void main()
{
int x1,y1,x2,y2,x3,y3,tx,ty,nx1,ny1,nx2,ny2,nx3,ny3,gd=DETECT,gm;
clrscr();
initgraph(&gd,&gm,"C:\\TURBOC3\\BGI");
printf("Enter line values");
scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
getch();
cleardevice();
printf("enter the translation distance value");
scanf("%d%d",&tx,&ty);
nx1=x1+tx;
ny1=y1+ty;
nx2=x2+tx;
ny2=y2+ty;
nx3=x3+tx;
ny3=y3+ty;
cleardevice();
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
line(nx1,ny1,nx2,ny2);
line(nx2,ny2,nx3,ny3);
line(nx3,ny3,nx1,ny1);
getch();
}
5. Write a program to implement 2D Scaling.
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
void main()
{
int gd=DETECT,gm;
int x1,x2,x3,y1,y2,y3,nx1,nx2,nx3,ny1,ny2,ny3,sx,sy;
clrscr();
initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
printf("\n Enter the points of triangle\n");
scanf("%d %d %d %d %d %d",&x1,&y1,&x2,&y2,&x3,&y3);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
getch();
cleardevice();
printf("Enter the scaling factor\n");
scanf("%d %d",&sx,&sy);
nx1=x1*sx;
ny1=y1*sy;
nx2=x2*sx;
ny2=y2*sy;
nx3=x3*sx;
ny3=y3*sy;
cleardevice();
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
line(nx1,ny1,nx2,ny2);
line(nx2,ny2,nx3,ny3);
line(nx3,ny3,nx1,ny1);
getch();
}
6. Write a program to implement 2D Rotation.
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include<math.h>
void main()
{
int gd=DETECT,gm;
int x1,x2,x3,y1,y2,y3,nx1,nx2,nx3,ny1,ny2,ny3,r;
float t;
clrscr();
initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
printf("\t PROGRAM FOR BASIC TRANSFORMATION");
printf("\n Enter the points of triangle\n");
scanf("%d %d %d %d %d %d",&x1,&y1,&x2,&y2,&x3,&y3);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
getch();
cleardevice();
printf("\n Enter the angle of rotation\n");
scanf("%d",&r);
t=3.14*r/180;
nx1=abs(x1*cos(t)-y1*sin(t));
ny1=abs(x1*sin(t)+y1*cos(t));
nx2=abs(x2*cos(t)-y2*sin(t));
ny2=abs(x2*sin(t)+y2*cos(t));
nx3=abs(x3*cos(t)-y3*sin(t));
ny3=abs(x3*sin(t)+y3*cos(t));
cleardevice();
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
line(nx1,ny1,nx2,ny2);
line(nx2,ny2,nx3,ny3);
line(nx3,ny3,nx1,ny1);
getch();
}