0% found this document useful (0 votes)
89 views10 pages

CG Assignment-3: Meenu Maria Giby U18CO106

The document contains 5 programs to draw different shapes and images using graphics functions in C++. Program 1 draws a house with different colors. Program 2 draws a kite with lines and colors it. Program 3 draws the Indian national flag with proper colors. Program 4 displays a moving car using graphics functions. Program 5 contains a menu to call the DDA and Bresenham's line drawing algorithms.

Uploaded by

meenu giby
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
89 views10 pages

CG Assignment-3: Meenu Maria Giby U18CO106

The document contains 5 programs to draw different shapes and images using graphics functions in C++. Program 1 draws a house with different colors. Program 2 draws a kite with lines and colors it. Program 3 draws the Indian national flag with proper colors. Program 4 displays a moving car using graphics functions. Program 5 contains a menu to call the DDA and Bresenham's line drawing algorithms.

Uploaded by

meenu giby
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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