Вы находитесь на странице: 1из 7

PROGRAM 1:#include

#include
#include
#include
#include
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, C:\\tc\\bgi );
cout<<"\n Enter X1,Y1,X2,Y2"; int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
int dx=x2-x1;
int dy=y2-y1;
int length;
if (dx>=dy)
length=dx;
else
length=dy;
dx=dx/length;
dy=dy/length;
int sx;
if (dx>=0)
sx=1;
else
sx=-1;
int sy;
if(dy>=0)
sy=1;
else
sy=-1;
float x=x1+0.5*(sx);
float y=y1+0.5*(sy);
int i=0;
while(i<=length) { putpixel(int(x),int(y),15); x=x+dx; y=y+dy; i=i+1; } /* clean
up */ getch(); closegraph(); return 0;
}
PROGRAM 2 :# include <iostream.h>
# include <conio.h>
# include <graphics.h>
# include <math.h>
char IncFlag;
void Bresenham(int x1,int x2,int y1,int y2);
void DrawLine(int X,int Y,int End,int PInc,int NInc,int P,int XInc,int YInc);
void main()
{
int gDriver=DETECT, gMode;
int x1,x2,y1,y2;
void Bresenham(int,int,int,int);
initgraph(&gDriver,&gMode,"c:\\tc\\bgi");
cout<<endl<<"x1
cin>>x1;
cout<<endl<<"y1
cin>>y1;

: ";
: ";

cout<<endl<<"x2 : ";
cin>>x2;
cout<<endl<<"y2 : ";
cin>>y2;
line(320,0,320,480);
line(0,240,640,240);
Bresenham(x1,x2,y1,y2);
getch();
}
void Bresenham(int x1,int x2,int y1,int y2)
{
int S,O,End;
int P;
int dx = abs(x1 - x2);
int dy = abs(y1 - y2);
float Slope;
int PInc,NInc,XInc,YInc;
if (dx == 0) //Slope Infinite
{
}
else
{
Slope = (float)(y1 - y2) / (x1 - x2);
if (Slope>-1 && Slope<1)
{
IncFlag = 'X';
PInc = 2 * (dy - dx);
NInc = 2 * dy;
P = 2 * dy - dx;
if (x1>x2)
{
S = x2;
O = y2;
End = x1;
}
else
{
S = x1;
O = y1;
End = x2;
}
//
DrawLine(x,y,End,PInc,NInc,P,XInc,YInc);
}
else
{
IncFlag = 'Y';
PInc = 2 * (dx - dy);
NInc = 2 * dx;
P = 2 * dx - dy;
if (y1 > y2)
{
O = x2;
S = y2;
End = y1;
}
else
{
O = x1;
S = y1;

End = y2;
}
}
if (IncFlag == 'X')
putpixel(320+S,240-O,12);
else
putpixel(320+O,240-S,12);
while (S <= End)
{
S++;
if (P<0)
P = P + NInc;
else
{
P = P + PInc;
if (Slope>0.0)
O++;
else
O--;
}
if (IncFlag == 'X')
putpixel(320+S,240-O,12);
else
putpixel(320+O,240-S,12);
}
}
}
PROGRAM 3 :#include<iostream.h>
#include<conio.h>
#include<graphics.h>
void drawCircle(int x, int y, int xc, int yc);
void main()
{
int gd = DETECT, gm;
int r, xc, yc, pk, x, y;
initgraph(&gd, &gm, "C:\\TC\\BGI");
cout<<"Enter the center co-ordinates\n";
cin>>xc>>yc;
cout<<"Enter the radius of circle\n";
cin>>r;
pk = 3 - 2*r;
x=0; y = r;
drawCircle(x,y,xc,yc);
while(x < y)
{
if(pk <= 0)
{
pk = pk + (4*x) + 6;
drawCircle(++x,y,xc,yc);
}
else
{
pk = pk + (4*(x-y)) + 10;
drawCircle(++x,--y,xc,yc);
}
}

getch();
closegraph();
}
void drawCircle(int x, int y, int xc, int yc)
{
putpixel(x+xc,y+yc,GREEN);
putpixel(-x+xc,y+yc,GREEN);
putpixel(x+xc, -y+yc,GREEN);
putpixel(-x+xc, -y+yc, GREEN);
putpixel(y+xc, x+yc, GREEN);
putpixel(y+xc, -x+yc, GREEN);
putpixel(-y+xc, x+yc, GREEN);
putpixel(-y+xc, -x+yc, GREEN);
}
PROGRAM 4 :#include<iostream.h>
#include<conio.h>
#include<graphics.h>
void drawCircle(int x, int y, int xc, int yc);
void main()
{
int gd = DETECT, gm;
int r, xc, yc, pk, x, y;
initgraph(&gd, &gm, "C:\\TC\\BGI");
cout<<"Enter the center co-ordinates\n";
cin>>xc>>yc;
cout<<"Enter the radius of circle\n";
cin>>r;
pk = 1 - r;
x = 0;
y = r;
while(x < y)
{
drawCircle(x,y,xc,yc);
++x;
if(pk < 0)
{
pk = pk + (2*x) + 1;
}
else
{
--y;
pk = pk + (2*x) + 1 - (2*y);
}
}
getch();
closegraph();
}
void drawCircle(int x, int y, int xc, int yc)
{
putpixel(x+xc,y+yc,GREEN);
putpixel(-x+xc,y+yc,GREEN);
putpixel(x+xc, -y+yc,GREEN);
putpixel(-x+xc, -y+yc, GREEN);
putpixel(y+xc, x+yc, GREEN);

putpixel(y+xc, -x+yc, GREEN);


putpixel(-y+xc, x+yc, GREEN);
putpixel(-y+xc, -x+yc, GREEN);
}
PROGRAM 5 :#include<conio.h>
#include<graphics.h>
#include<dos.h>
#include<iostream.h>
void floodFill(int x, int y, int old, int fill)
{
int current;
current=getpixel(x,y);
if(current==old)
{
putpixel(x,y,fill);
delay(5);
floodFill(x+1,y,old,fill);
floodFill(x-1,y,old,fill);
floodFill(x, y+1,old,fill);
floodFill(x,y-1,old,fill);
}
}
void main()
{
int x,y,o=0;
clrscr();
int gDriver=DETECT,gmode;
initgraph(&gDriver,&gmode, "C:\\TC\\BGI");
rectangle(100,100,150,200);
x=(100+150)/2;
y=(100+200)/2;
floodFill(x,y,o,4);
getch();
closegraph();
}
PROGRAM 6 :#include<conio.h>
#include<graphics.h>
#include<dos.h>
#include<iostream.h>
void floodFill(int x, int y, int old, int fill)
{
int current;
current=getpixel(x,y);
if(current==old)
{
putpixel(x,y,fill);
delay(5);
floodFill(x+1,y,old,fill);

floodFill(x-1,y,old,fill);
floodFill(x, y+1,old,fill);
floodFill(x,y-1,old,fill);
}
}
void main()
{
int x,y,o=0;
clrscr();
int gDriver=DETECT,gmode;
initgraph(&gDriver,&gmode, "C:\\TC\\BGI");
rectangle(100,100,150,200);
x=(100+150)/2;
y=(100+200)/2;
floodFill(x,y,o,4);
getch();
closegraph();
}
PROGRAM 7, 8, 9 :#include<graphics.h>
#include<conio.h>
#include<iostream.h>
#include<math.h>
#include<stdlib.h>
void main()
{
clrscr();
int tx,ty,c,t,i,j,k,sx,sy, x1,x2,y1,y2;
float tx1;
int gd = DETECT, gm;
initgraph(&gd, &gm,"C:\\TC\\BGI");
x1 = y2 = 100;
x2 = y1 = 150;
rectangle(x1,y1,x2,y2);
cout<<"Enter Choice:\n1 :Translation \n2 :Rotation \n3 :Scaling";
cout<<"\nChoice :";
cin>>c;
switch(c)
{
case 1:
cout<<"Enter tx & ty :";
cin>>tx>>ty;
rectangle(x1+tx, y1+ty, x2+tx, y2+ty);
break;
case 2 :
int xx1, yy1, xx2, yy2, xx3, yy3, xx4, yy4;
int ax1, ay1, ax2, ay2, ax3, ay3, ax4, ay4;
int refx, refy;
cout<<"Enter angle :";
cin>>tx1;
tx1=tx1*(3.14/180);
refx = refy = 100;

xx1 = yy1 = yy2 = xx4 = 100;


xx2 = xx3 = yy3 = yy4 = 150;
ax1 = refy +(xx1-refx)* cos(tx1)-(yy1-refy)*sin(tx1);
ay1 = refy +(xx1-refx)* sin(tx1)+(yy1-refy)*cos(tx1);
ax2 = refy +(xx2-refx)* cos(tx1)-(yy2-refy)*sin(tx1);
ay2 = refy +(xx2-refx)* sin(tx1)+(yy2-refy)*cos(tx1);
ax3 = refy +(xx3-refx)* cos(tx1)-(yy3-refy)*sin(tx1);
ay3 = refy +(xx3-refx)* sin(tx1)+(yy3-refy)*cos(tx1);
ax4 = refy +(xx4-refx)* cos(tx1)-(yy4-refy)*sin(tx1);
ay4 = refy +(xx4-refx)* sin(tx1)+(yy4-refy)*cos(tx1);
line(ax1,ay1,
line(ax2,ay2,
line(ax3,ay3,
line(ax4,ay4,
break;

ax2,
ax3,
ax4,
ax1,

ay2);
ay3);
ay4);
ay1);

case 3 :
cout<<"Enter sx & sy :";
cin>>sx>>sy;
rectangle(x1*sx, y1*sy, x2*sx, y2*sy);
break;
default :
cout<<"Not a valid choice";
}
getch();
closegraph();
}
PROGRAM 10 :-

Вам также может понравиться