Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

CG

Assignment-3
Meenu Maria Giby

U18CO106
1. Write a program to design a House and color it using pre-defined functions of graphics.h.

#include<graphics.h>

#include<conio.h>

int main(){

int gd = DETECT,gm;

initgraph(&gd, &gm, "X:\\TC\\BGI");

/* Draw Hut */

setcolor(WHITE);

rectangle(150,180,250,300);

rectangle(250,180,420,300);

rectangle(180,250,220,300);

line(200,100,150,180);

line(200,100,250,180);

line(200,100,370,100);

line(370,100,420,180);

/* Fill colours */

setfillstyle(SOLID_FILL, BROWN);

floodfill(152, 182, WHITE);

floodfill(252, 182, WHITE);

setfillstyle(SLASH_FILL, BLUE);

floodfill(182, 252, WHITE);

setfillstyle(HATCH_FILL, GREEN);
floodfill(200, 105, WHITE);

floodfill(210, 105, WHITE);

getch();

closegraph();

return 0;

2. Write a program to draw a Kite and color it using pre-defined functions of graphics.h.

#include<graphics.h>

#include<conio.h>

int main()

int a,b,gd=DETECT,gm,i;

initgraph(&gd,&gm,"X:\\TC\\BGI");

line(100,100,50,180);

line(100,100,150,180);

line(50,180,100,250);

line(150,180,100,250);

line(100,100,100,250);

line(50,180,150,180);

line(100,250,70,300);

line(100,250,130,300);

line(70,300,130,300);
line(100,300,120,320);

line(120,320,80,340);

line(80,340,120,360);

line(120,360,80,380);

setcolor(4);

getch();

closegraph();

3. Write a program for drawing India's National Flag and Color it properly using pre-defined functions of
graphics.h.
#include<stdio.h>

#include<conio.h>

#include<graphics.h>

#include<dos.h>

#include<math.h>

int main()

int gdriver = DETECT,gmode, a,b,i,r,x,y;

initgraph(&gdriver,&gmode,"C:\\TC\\BGI");

//draw the top rectangle

setfillstyle(SOLID_FILL,RED);

rectangle(110,40,220,58);

floodfill(111,43,15);
setfillstyle(SOLID_FILL,15);

rectangle(110,58,220,78);

floodfill(111,59,15);

setfillstyle(SOLID_FILL,GREEN);

rectangle(110,78,220,98);

floodfill(111,79,15);

//Ashok chakra

//

a=160;

b=68;

r=13;

setcolor(BLUE);

circle(a,b,r);

for(i=0;i<=360;i=i+25)

x=r*cos(i*3.14/180);

y=r*sin(i*3.14/180);

line(a,b,a+x,b-y);

getch();

return 0;

closegraph();

4. Write a program for displaying a Moving Car using pre-defined functions of graphics.h.
#include <graphics.h>
#include <stdio.h>

// Function to draw moving car

void draw_moving_car(void) {

int i, j = 0, gd = DETECT, gm;

// Passed three arguments to initgraph

// function to initialize graphics mode

initgraph(&gd, &gm, "");

for (i = 0; i <= 420; i = i + 10) {

// Set color of car as red

setcolor(RED);

// Thease lines for bonnet and

// body of car

line(0 + i, 300, 210 + i, 300);

line(50 + i, 300, 75 + i, 270);

line(75 + i, 270, 150 + i, 270);

line(150 + i, 270, 165 + i, 300);

line(0 + i, 300, 0 + i, 330);

line(210 + i, 300, 210 + i, 330);

// For left wheel of car

circle(65 + i, 330, 15);

circle(65 + i, 330, 2);

// For right wheel of car

circle(145 + i, 330, 15);

circle(145 + i, 330, 2);

// Line left of left wheel

line(0 + i, 330, 50 + i, 330);

// Line middle of both wheel

line(80 + i, 330, 130 + i, 330);


// Line right of right wheel

line(210 + i, 330, 160 + i, 330);

delay(100);

// To erase previous drawn car, draw

// the whole car at same possition

// but color using black

setcolor(BLACK);

// Lines for bonnet and body of car

line(0 + i, 300, 210 + i, 300);

line(50 + i, 300, 75 + i, 270);

line(75 + i, 270, 150 + i, 270);

line(150 + i, 270, 165 + i, 300);

line(0 + i, 300, 0 + i, 330);

line(210 + i, 300, 210 + i, 330);

// For left wheel of car

circle(65 + i, 330, 15);

circle(65 + i, 330, 2);

// For right wheel of car

circle(145 + i, 330, 15);

circle(145 + i, 330, 2);

// Line left of left wheel

line(0 + i, 330, 50 + i, 330);

// Line middle of both wheel

line(80 + i, 330, 130 + i, 330);


// Line right of right wheel

line(210 + i, 330, 160 + i, 330);

getch();

closegraph();

// Driver code

int main()

draw_moving_car();

return 0;

5. Write a menu driven program for following line drawing algorithms.

I. DDA Algorithm

#include<graphics.h>

#include<conio.h>

#include<stdio.h>

int main()

int gd = DETECT ,gm, i;


float x, y,dx,dy,steps;

int x0, x1, y0, y1;

initgraph(&gd, &gm, "C:\\TC\\BGI");

setbkcolor(WHITE);

x0 = 100 , y0 = 200, x1 = 500, y1 = 300;

dx = (float)(x1 - x0);

dy = (float)(y1 - y0);

if(dx>=dy)

steps = dx;

else

steps = dy;

dx = dx/steps;

dy = dy/steps;

x = x0;

y = y0;

i = 1;

while(i<= steps)

putpixel(x, y, RED);

x += dx;

y += dy;

i=i+1;

getch();

closegraph();

}
II. Bresenham's Line Algorithm.

#include<stdio.h>

#include<graphics.h>

void drawline(int x0, int y0, int x1, int y1)

int dx, dy, p, x, y;

dx=x1-x0;

dy=y1-y0;

x=x0;

y=y0;

p=2*dy-dx;

while(x<x1)

if(p>=0)

putpixel(x,y,7);

y=y+1;

p=p+2*dy-2*dx;

else

putpixel(x,y,7);

p=p+2*dy;}

x=x+1;

}
int main()

int gdriver=DETECT, gmode, error, x0, y0, x1, y1;

initgraph(&gdriver, &gmode, "c:\\turboc3\\bgi");

printf("Enter co-ordinates of first point: ");

scanf("%d%d", &x0, &y0);

printf("Enter co-ordinates of second point: ");

scanf("%d%d", &x1, &y1);

drawline(x0, y0, x1, y1);

return 0;

You might also like