0% found this document useful (0 votes)
39 views6 pages

Experiment No 3 AIM-To Write C++ Program For 2D Geometric Transformation Which Includes Function For Translation, Rotation, Scaling.

The C++ program aims to perform 2D geometric transformations (translation, rotation, scaling) on a triangle. It prompts the user to input the coordinates of 3 points forming a triangle, draws the triangle, then displays a menu to choose a transformation type. Based on the selection, it performs the corresponding transformation by adjusting the x and y coordinates, redraws the transformed triangle, and repeats the process until the user exits.

Uploaded by

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

Experiment No 3 AIM-To Write C++ Program For 2D Geometric Transformation Which Includes Function For Translation, Rotation, Scaling.

The C++ program aims to perform 2D geometric transformations (translation, rotation, scaling) on a triangle. It prompts the user to input the coordinates of 3 points forming a triangle, draws the triangle, then displays a menu to choose a transformation type. Based on the selection, it performs the corresponding transformation by adjusting the x and y coordinates, redraws the transformed triangle, and repeats the process until the user exits.

Uploaded by

Shubham Dawle
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

EXPERIMENT NO 3

AIM- To write C++ program for 2D geometric


transformation which includes function for translation,
rotation , scaling.
.

PROGRAM-
#include<graphics.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int gm;
int gd=DETECT;
int x1,x2,x3,y1,y2,y3,nx1,nx2,nx3,ny1,ny2,ny3,c;
int sx,sy,xt,yt,r;
float t;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
printf("\t Program for basic transactions:\n\n");
printf("\n\t Enter the points of triangle:\n\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();
printf("\n 1.Transaction\n 2.Rotation\n 3.Scaling\n 4.exit:\n\n");
printf("Enter your choice:\n\n");
scanf("%d",&c);
switch(c)
{
case 1:
printf("\n Enter the translation factor:\n\n");
scanf("%d%d",&xt,&yt);
nx1=x1+xt;
ny1=y1+yt;
nx2=x2+xt;
ny2=y2+yt;
nx3=x3+xt;
ny3=y3+yt;
line(nx1,ny1,nx2,ny2);
line(nx2,ny2,nx3,ny3);
line(nx3,ny3,nx1,ny1);
getch();
case 2:
printf("\n Enter the angle of rotation:\n\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));
line(nx1,ny1,nx2,ny2);
line(nx2,ny2,nx3,ny3);
line(nx3,ny3,nx1,ny1);
getch();
case 3:
printf("\n Enter the scaling factor:\n\n");
scanf("%d%d",&sx,&sy);
nx1=x1*sx;
ny1=y1*sy;
nx2=x2*sx;
ny2=y2*sy;
nx3=x3*sx;
ny3=y3*sy;
line(nx1,ny1,nx2,ny2);
line(nx2,ny2,nx3,ny3);
line(nx3,ny3,nx1,ny1);
getch();
case 4:
break;
default:
printf("Enter the correct choice:\n\n");
}
closegraph();
}
OUTPUT-

You might also like