graphics programs

28
1 Program: - To Draw line using Bresenham’s line Algorithm #include<graphics.h> #include<stdio.h> #include<conio.h> #include<math.h> void line_bres(int,int,int,int); void main() { int gd=DETECT,gm; int d,m,x1,x2,y2,y1; clrscr(); initgraph(&gd,&gm," "); printf("enter the value of x1,y1,x2,y2\n"); scanf("%d%d%d%d",&x1,&y1,&x2,&y2); line_bres(x1,y1,x2,y2); getch(); closegraph(); } void line_bres(int x1,int y1,int x2,int y2) { int dx,dy,x,y,xend,p; dx=abs(x2-x1); dy=abs(y2-y1); p=2*(dy)-dx; if(x1>x2) { x=x2; y=y2; xend=x1; } else { x=x1; y=y1; xend=x2; }

Upload: varun-jain

Post on 20-Feb-2015

305 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Graphics Programs

1

Program: - To Draw line using Bresenham’s line Algorithm

#include<graphics.h>#include<stdio.h>#include<conio.h>#include<math.h>void line_bres(int,int,int,int);void main(){ int gd=DETECT,gm; int d,m,x1,x2,y2,y1; clrscr(); initgraph(&gd,&gm," "); printf("enter the value of x1,y1,x2,y2\n"); scanf("%d%d%d%d",&x1,&y1,&x2,&y2); line_bres(x1,y1,x2,y2); getch(); closegraph();}

void line_bres(int x1,int y1,int x2,int y2){ int dx,dy,x,y,xend,p; dx=abs(x2-x1); dy=abs(y2-y1); p=2*(dy)-dx; if(x1>x2) { x=x2; y=y2; xend=x1; } else { x=x1; y=y1; xend=x2; } while(x<xend) { x=x+1; if(p<0) { p=p+(2*dy); }

Page 2: Graphics Programs

2

else { y++; p=p+(2*(dy-dx)); } putpixel(x,y,4); } getch();}

OUTPUT

Page 3: Graphics Programs

3

Program: - To Draw Circle using Bresenham’s Circle algorithm

#include<graphics.h>#include<stdio.h>#include<conio.h>#include<math.h>void brescircle(int xc,int yc,int rad);void main(){ int gd=DETECT,gm; int r,x1,y1; clrscr(); initgraph(&gd,&gm," "); printf("enter the value of x1,y1,r\n"); scanf("%d%d%d",&x1,&y1,&r); brescircle(x1,y1,r); getch(); closegraph();}

void brescircle(int xc,int yc,int rad){ float d=3-(2*rad),x=0,y=rad; while(x<=y) { x=x+1; putpixel(xc+x,yc+y,4); putpixel(xc+y,yc-x,4); putpixel(xc+y,yc+x,4); putpixel(xc-y,yc-x,4); putpixel(xc-y,yc+x,4); putpixel(xc-x,yc-y,4); putpixel(xc+x,yc-y,4); putpixel(xc-x,yc+y,4); if(d<0) { d=d+((4*x)+6); } else { d=d+((4*(x-y))+10); y--; } x++;

Page 4: Graphics Programs

4

}}OUTPUT

Page 5: Graphics Programs

5

To Draw a line using DDA Algorithm

#include<graphics.h>#include<stdio.h>#include<conio.h>void main(){ int gd=DETECT,gm; int x0,x,y0,y,m,x1,y1,dy,dx; clrscr(); initgraph(&gd,&gm," "); printf("enter the value of x0,x1,y0,y1\n"); scanf("%d%d%d%d",&x0,&y0,&x1,&y1); dy=y1-y0; dx=x1-x0; m=dy/dx; x=x0; y=y0; if(m<=1) { for(;x<=x1;x++) { putpixel(x,y,2); y=y+m; } } else if(m>1) { for(;y<=y1;y++) { putpixel(x,y,4); x=x+m; } } setcolor(4); getch(); closegraph();}

Page 6: Graphics Programs

6

OUTPUT

Page 7: Graphics Programs

7

Program:- To Draw Circle using Midpoint Algorithm

#include<conio.h>#include<iostream.h>#include<graphics.h>void main(){ int g=DETECT,d; initgraph(&g,&d," "); int x1,y1,x,y,p,r; x=0; printf("enter the value of x1,y1,r\n"); scanf("%d%d%d",&x1,&y1,&r); y=r; p=1-r; while(x<=y) { putpixel(x1+x,y1+y,4); putpixel(x1+y,y1-x,4); putpixel(x1+y,y1+x,4); putpixel(x1-y,y1-x,4); putpixel(x1-y,y1+x,4); putpixel(x1-x,y1-y,4); putpixel(x1+x,y1-y,4); putpixel(x1-x,y1+y,4); if(p<0) { p=p+2*x+3; } else { p=p+2*(x-y)+5; y--; } x++; } getch();}

Page 8: Graphics Programs

8

OUTPUT

Page 9: Graphics Programs

9

Program: - To Draw Circle Using Polynomial Equation

#include<graphics.h>#include<stdio.h>#include<conio.h>#include<math.h>void polycircle(int x1,int y1,int rad);void main(){ int gd=DETECT,gm; int x1,y1,r; clrscr(); initgraph(&gd,&gm," "); printf("enter the value of x,y,r\n"); scanf("%d%d%d",&x1,&y1,&r); polycircle(x1,y1,r); getch(); closegraph();}

void polycircle(int x1,int y1,int rad){ int x,xend; x=0; xend=rad/sqrt(2); double y; y=sqrt((rad*rad)-(x*x));

while(x<xend) { putpixel(x1+x,y1+y,4); putpixel(x1+y,y1-x,4); putpixel(x1+y,y1+x,4); putpixel(x1-y,y1-x,4); putpixel(x1-y,y1+x,4); putpixel(x1-x,y1-y,4); putpixel(x1+x,y1-y,4); putpixel(x1-x,y1+y,4); x=x+1; y=sqrt((rad*rad)-(x*x)); }}

Page 10: Graphics Programs

10

OUTPUT

Page 11: Graphics Programs

11

  Program: - To Draw Circle Using Trigonometry Function

#include<graphics.h>#include<stdio.h>#include<conio.h>#include<math.h>void trignocircle(int x1,int y1,int rad);void main(){ int gd=DETECT,gm; int x1,y1,r; clrscr(); initgraph(&gd,&gm," "); printf("enter the value of x,y,r\n"); scanf("%d%d%d",&x1,&y1,&r); trignocircle(x1,y1,r); getch(); closegraph();}

void trignocircle(int x1,int y1,int rad){ double x,y; double hta; hta=0; while(hta<360) { x=rad*cos(hta); y=rad*sin(hta); putpixel(x1+x,y1+y,4); putpixel(x1+y,y1-x,4); putpixel(x1+y,y1+x,4); putpixel(x1-y,y1-x,4); putpixel(x1-y,y1+x,4); putpixel(x1-x,y1-y,4); putpixel(x1+x,y1-y,4); putpixel(x1-x,y1+y,4); hta=hta+1; }}

Page 12: Graphics Programs

12

OUTPUT

Page 13: Graphics Programs

13

Program: -To Draw Line using Direct Line Algorithm

#include<conio.h>#include<graphics.h>#include<iostream.h>void main(){

int gd=DETECT,gm;initgraph(&gd,&gm," " );int x1,y1,x2,y2,dx,dy,m,c,x,y;

cout<<”enter the value of x1,y1";cin>>x1>>y1;cout<<"enter the value of x2,y2";cin>>x2>>y2;dx=x2-x1;dy=y2-y1;m=dy/dx;c=y1-m*x1;if(m<=1){

for(x=x1;x<=x2;x++){

y=m*x+c;putpixel(x,y,5);

}}else{

for(y=1;y<y2;y++){

x=(y-c)/m;putpixel(x,y,5);

}}

getch();}

Page 14: Graphics Programs

14

OUTPUT

Page 15: Graphics Programs

15

Program: -To Draw Hut using Line Function

#include<conio.h>#include<graphics.h>void main(){

int gd=DETECT,gm;initgraph(&gd,&gm,"");setcolor(100);line(100,100,100,300);line(100,300,150,300);line(150,300,150,200);line(150,200,125,200);line(100,100,150,100);line(200,100,200,300);line(200,100,250,100);line(250,100,250,300);line(200,200,250,200);line(350,100,300,100);line(300,100,300,300);line(300,300,350,300);line(350,300,350,200);line(350,200,325,200);line(400,100,400,300);line(400,100,450,100);line(450,100,450,300);line(400,200,450,200);line(500,300,500,100);line(500,100,550,300);line(550,300,550,100);getch();

}

Page 16: Graphics Programs

16

OUTPUT

Page 17: Graphics Programs

17

  Program: - To Draw Smiley

#include<graphics.h>#include<conio.h>void main(){

int gd=DETECT,gm;initgraph(&gd,&gm,"");circle(300,250,150);line(300,200,300,270);line(230,320,360,320);circle(250,200,15);circle(350,200,15);line(280,320,280,350);line(280,350,300,350);line(300,350,300,320);line(300,340,320,340);line(320,340,320,320);getch();

}

OUTPUT

Program-T0 Draw Ellipse using Polynominal Equation

Page 18: Graphics Programs

18

                                                                       #include<iostream.h>#include<conio.h>#include<graphics.h>#include<math.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"");int h,k;double a=150,b=100;int x=0;float y,p,z;int C=getmaxx()/2;int D=getmaxy()/2;for(x=0;x<=a;x++){p=(a*a)-(x*x);z=sqrt(p);y=(b/a)*z;putpixel(x+C,y+D,2);putpixel(-x+C,y+D,2);putpixel(x+C,-y+D,2);putpixel(-x+C,-y+D,2);}getch();

}                   

OUTPUT

Page 19: Graphics Programs

19

                                  

Program-   To Draw a Ellipse using Trigonometric function

Page 20: Graphics Programs

20

#include<graphics.h>#include<process.h>#include<iostream.h>#include<math.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm," ");int a,b,m,n;float x,y;cout<<"Enter the value of Major axes";cin>>a;cout<<"Enter the value of Minor axes";cin>>b;m=getmaxx()/2;n=getmaxy()/2;for(int i=0;i<90;i=i+1){x=a*cos(i);y=b*sin(i);putpixel(x+m,y+n);putpixel(-x+m,y+n);putpixel(x+m,-y+n);putpixel(-x+m,-y+n);}}

OUTPUT

Page 21: Graphics Programs

21

PUNJAB COLLEGE OF TECHNICAL EDUCATION(BADDOWAL, LUDHIANA)

Page 22: Graphics Programs

22

PCTE INSTITUTIONS(SINCE 1999)

PRACTICAL FILE ON ‘COMPUTER GRAPHICS’

SUBMITTED TO: SUBMITTED BY:MISS. HARJEET KAUR. RITESH BANYAL(FACULTY PCTE) BCA 3A

626232682

INDEX

Page 23: Graphics Programs

23

1) To draw line using bresenham’s algorithm.

2) To draw circle using bresenham’s algorithm.

3) To draw a line using DDA algorithm.

4) To draw circle using using mid point algorithm.

5) To draw a circle using polynomial equation.

6) To draw a circle using trigonometric function.

7) To draw a line using direct line algorithms.

8) To draw hut using line function.

9) To draw smiley face.

10) To draw ellipse using polynomial equation.

11) To draw ellipse using trigonometric function.