# Three Dimensional Transformation Algorithms in c Language Programming

These 3d dimesional Transformation algorithm was draw by the mathematical calculation using sin and cos function in Math.h header file using bar3d function in Graphics header file.And it will perform After the scaling Operation in x-axis y-axis z-axis.In these three dimensional it show the translation effect
Source code 3D transformation algorithm Source code in C Language programming
#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,"c:/tc/bgi");
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("\nEnter the Translation Factor");
scanf("%d%d",&x,&y);
axis();
printf("\nAfter Translation");
bar3d(midx+50,midy-100,midx+60,midy-90,5,1);
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("\nEnter the Scaling Factor");
scanf("%d%d%d",&x,&y,&z);
axis();
printf("\nAfter Scaling");
bar3d(midx+50,midy-100,midx+60,midy-90,5,1);
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("\nEnter the Rotating Angle");
scanf("%d",&o);
x1=50*cos(o*3.14/180)-100*sin(o*3.14/180);
y1=50*sin(o*3.14/180)+100*cos(o*3.14/180);
x2=60*cos(o*3.14/180)-90*sin(o*3.14/180);
y2=60*sin(o*3.14/180)+90*cos(o*3.14/180);
axis();
bar3d(midx+50,midy-100,midx+60,midy-90,5,1);
bar3d(midx+x1,midy-y1,midx+x2,midy-y2,5,1);
axis();
bar3d(midx+50,midy-100,midx+60,midy-90,5,1);
bar3d(midx+50,midy-x1,midx+60,midy-x2,5,1);
axis();
bar3d(midx+50,midy-100,midx+60,midy-90,5,1);
bar3d(midx+x1,midy-100,midx+x2,midy-90,5,1);
getch();
closegraph();
}
OUTPUT 3D transformation algorithm Computer Graphics CS1355-Graphics and Multimedia Lab
Output for translation scaling translation in X-axis Y-axis and z-axis