0% found this document useful (0 votes)
59 views1 page

Three Dimensional Transformations

This document describes a C program that implements three-dimensional transformations on objects. The program allows the user to perform translations, scaling, and rotations on a 3D bar object. It contains functions to draw the axes, bar, and get input from the user to specify the type and parameters of the transformation to apply. Transformations include translation by offset amounts, scaling by factors, and rotation by angles around the X, Y, and Z axes.

Uploaded by

ramesh
Copyright
© Attribution Non-Commercial (BY-NC)
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)
59 views1 page

Three Dimensional Transformations

This document describes a C program that implements three-dimensional transformations on objects. The program allows the user to perform translations, scaling, and rotations on a 3D bar object. It contains functions to draw the axes, bar, and get input from the user to specify the type and parameters of the transformation to apply. Transformations include translation by offset amounts, scaling by factors, and rotation by angles around the X, Y, and Z axes.

Uploaded by

ramesh
Copyright
© Attribution Non-Commercial (BY-NC)
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/ 1

THREE DIMENSIONAL TRANSFORMATIONS

AIM :
To implement the various transformations on three dimensional odjects using a c coding.

ALGORITHM :
Step 1 : Start.
Step 2 : Draw an image with default parameters.
Step 3 : Get the choice from user.
Step 4 : Get the parameters for transformation.
Step 5 : Perform the transformation.
Step 6 : Display the output.
Step 7 : Stop.

PROGRAM :
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
int maxx,maxy,midx,midy;
void axis() {
getch();
cleardevice();
line(midx,0,midx,maxy);
line(0,midy,maxx,midy); }
void main() {
int gd,gm,x,y,z,o,x1,x2,y1,y2;
detectgraph(&gd,&gm);
initgraph(&gd,&gm," ");
setfillstyle(0,getmaxcolor());
maxx=getmaxx();
maxy=getmaxy();
midx=maxx/2;
midy=maxy/2;
axis(); bar3d(midx+50,midy-100,midx+60,midy-90,5,1);
printf("Enter Translation Factor");
scanf("%d%d%d",&x,&y,&z);
axis();
printf("after translation"); bar3d(midx+(x+50),midy(y+100),midx+x+60,midy-(y+90),5,1); axis();
bar3d(midx+50,midy+100,midx+60,midy-90,5,1);
printf("Enter Scaling Factor");
scanf("%d%d%d",&x,&y,&z);
axis();
printf("After Scaling"); bar3d(midx+(x*50),midy-(y*100),midx+(x*60),midy(y*90),5*z,1); axis();
bar3d(midx+50,midy-100,midx+60,midy-90,5,1);
printf("Enter Rotating Angle");
scanf("%d",&o);
x1=50*cos(o*3.14/180)-100*sin(o*3.14/180);
y1=50*cos(o*3.14/180)+100*sin(o*3.14/180); x2=60*sin(o*3.14/180)90*cos(o*3.14/180); y2=60*sin(o*3.14/180)+90*cos(o*3.14/180); axis();
printf("After Rotation about Z Axis"); bar3d(midx+x1,midy-y1,midx+x2,midyy2,5,1); axis();
printf("After Rotation about X Axis"); bar3d(midx+50,midy-x1,midx+60,midyx2,5,1); axis();
printf("After Rotation about Y Axis"); bar3d(midx+x1,midy-100,midx+x2,midy90,5,1); getch();
closegraph(); }

You might also like