Thursday, August 16, 2012

3D Animation Computer Graphics Programs

1.3D Translation Program Using C Programming


#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<process.h>
#include<graphics.h>

int x1,x2,y1,y2,mx,my,depth;
void draw();
void trans();

void main()
{
    int gd=DETECT,gm,c;
    initgraph(&gd,&gm,"d:\\tc\\bgi");
    printf("\n\t\t3D Transmission\n\n");
    printf("\nEnter 1st top value(x1,y1):");
    scanf("%d%d",&x1,&y1);
    printf("Enter right bottom value(x2,y2):");
    scanf("%d%d",&x2,&y2);
    depth=(x2-x1)/4;
    mx=(x1+x2)/2;
    my=(y1+y2)/2;
    draw();
    getch();
    cleardevice();
    trans();
    getch();
}

void draw()
{
    bar3d(x1,y1,x2,y2,depth,1);
}

void trans()
{
    int a1,a2,b1,b2,dep,x,y;
    printf("\n Enter the Ttransition Co ordinates:");
    scanf("%d%d",&x,&y);
    a1=x1+x;
    a2=x2+x;
    b1=y1+y;
    b2=y2+y;
    dep=(a2-a1)/4;
    bar3d(a1,b1,a2,b2,dep,1);
    setcolor(5);
    draw();
}

2.3D Scaling Program Using C Programming

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<process.h>
#include<graphics.h>

int x1,x2,y1,y2,mx,my,depth;
void draw();
void scale();

void main()
{
    int gd=DETECT,gm,c;
    initgraph(&gd,&gm,"d:\\tc\\bgi");
    printf("\n\t\t3D Transformation Scalling\n\n");
    printf("\nEnter 1st top value(x1,y1):");
    scanf("%d%d",&x1,&y1);
    printf("Enter right bottom value(x2,y2):");
    scanf("%d%d",&x2,&y2);
    depth=(x2-x1)/4;
    mx=(x1+x2)/2;
    my=(y1+y2)/2;
    draw();
    getch();
    cleardevice();
    scale();
    getch();
}

void draw()
{
    bar3d(x1,y1,x2,y2,depth,1);
}

void scale()
{
    int x,y,a1,a2,b1,b2,dep;
    printf("\n\n Enter scalling co-ordinates:");
    scanf("%d%d",&x,&y);
    a1=mx+(x1-mx)*x;
    a2=mx+(x2-mx)*x;
    b1=my+(y1-my)*y;
    b2=my+(y2-my)*y;
    dep=(a2-a1)/4;
    bar3d(a1,b1,a2,b2,dep,1);
    setcolor(5);
    draw();
}

 3. 3D Rotation Program Using C Programming

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<process.h>
#include<graphics.h>

int x1,x2,y1,y2,mx,my,depth;
void draw();
void rotate();

void main()
{
    int gd=DETECT,gm,c;
    initgraph(&gd,&gm,"d:\\tc\\bgi");
    printf("\n3D Transformation Rotating\n\n");
    printf("\nEnter 1st top value(x1,y1):");
    scanf("%d%d",&x1,&y1);
    printf("Enter right bottom value(x2,y2):");
    scanf("%d%d",&x2,&y2);
    depth=(x2-x1)/4;
    mx=(x1+x2)/2;
    my=(y1+y2)/2;
    draw();
    getch();
    cleardevice();
    rotate();
    getch();
}

void draw()
{
    bar3d(x1,y1,x2,y2,depth,1);
}

void rotate()
{
    float t;
    int a1,b1,a2,b2,dep;
    printf("Enter the angle to rotate=");
    scanf("%f",&t);
    t=t*(3.14/180);
    a1=mx+(x1-mx)*cos(t)-(y1-my)*sin(t);
    a2=mx+(x2-mx)*cos(t)-(y2-my)*sin(t);
    b1=my+(x1-mx)*sin(t)-(y1-my)*cos(t);
    b2=my+(x2-mx)*sin(t)-(y2-my)*cos(t);
    if(a2>a1)
       dep=(a2-a1)/4;
    else
      dep=(a1-a2)/4;
    bar3d(a1,b1,a2,b2,dep,1);
    setcolor(5);
    //draw();
}

No comments:

Post a Comment