Wjhoo Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Wjhoo Forum

Faculté des Sciences Dhar l'Mehraz
 
AccueilS'enregistrerConnexionDernières imagesPortailRechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Derniers sujets
» unlock iphone 4 3r
voila le programme de 3d dans l'infographie dans .h Icon_minitimeJeu 4 Aoû - 2:39 par Invité

» Viagra Vente - finegra viagra pharmacie en ligne
voila le programme de 3d dans l'infographie dans .h Icon_minitimeMar 2 Aoû - 19:21 par Invité

» Dude, so much AD here, why not clean them all?
voila le programme de 3d dans l'infographie dans .h Icon_minitimeMar 2 Aoû - 5:01 par Invité

» buy guaranteed facebook fans dw
voila le programme de 3d dans l'infographie dans .h Icon_minitimeLun 1 Aoû - 13:03 par Invité

» ïðîãðàììû äëÿ êîìïüþòðà
voila le programme de 3d dans l'infographie dans .h Icon_minitimeLun 1 Aoû - 4:38 par Invité

» Whats up Folks
voila le programme de 3d dans l'infographie dans .h Icon_minitimeDim 31 Juil - 16:49 par Invité

» purchase facebook fans xf
voila le programme de 3d dans l'infographie dans .h Icon_minitimeDim 31 Juil - 3:30 par Invité

» buy facebook fan page f8
voila le programme de 3d dans l'infographie dans .h Icon_minitimeSam 30 Juil - 20:19 par Invité

» page rank check backlink building service
voila le programme de 3d dans l'infographie dans .h Icon_minitimeSam 30 Juil - 17:54 par Invité

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
SELOUANE Mohammed
Partenaires
Creer un Forum
Tchat Blablaland
-28%
Le deal à ne pas rater :
Précommande : Smartphone Google Pixel 8a 5G Double Sim 128Go ...
389 € 539 €
Voir le deal

 

 voila le programme de 3d dans l'infographie dans .h

Aller en bas 
2 participants
AuteurMessage
hmiza1986
GooD
GooD



Nombre de messages : 21
Date d'inscription : 02/11/2007

voila le programme de 3d dans l'infographie dans .h Empty
MessageSujet: voila le programme de 3d dans l'infographie dans .h   voila le programme de 3d dans l'infographie dans .h Icon_minitimeVen 16 Nov - 12:20

/****************************************************************************
* *
* PROGRAMMATION 3D *
* *
*****************************************************************************/
#include<graphics.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#include<mem.h>

typedef float Matrice[4][4];
typedef float Cube[8][4];
Cube Unity={0,0,0,100,100,0,0,100,100,100,0,100,0,100,0,100,0,
100,100,100,0,0,100,100,100,0,100,100,100,100,100,100};


/********************************************************************
* GRAPHICS INTERFACE *
*********************************************************************/

int Initial_graph(void)
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "c:\\langages\\tc\\bgi");
errorcode = graphresult();
if (errorcode != grOk)
{

printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}
return 0;
}
/************************ Matrice Identité **************************/

void MatriceIdentity(Matrice I4)
{
memset(I4,NULL,sizeof(Matrice));//zero partout ds la matrice
I4[0][0]=1;
I4[1][1]=1;
I4[2][2]=1;
I4[3][3]=1;
}
/********************* Multiplication de matrices ********************/

void MultiMatrice(Cube m1,Matrice m2,Cube Produit)
{
int i,j,k;
for(i=0;i<8;i++)
for(j=0;j<4;j++)
{
Produit[i][j]=0;
for(k=0;k<4;k++)
Produit[i][j] += m1[i][k]*m2[k][j] ;
}
}

/*********************** Copie des matrices **********************/

void CopierCube(Cube Source,Cube Destination)
{
/* int i,j;
for(i=0;i<8;i++)
for(j=0;j<4;j++)
Destination[i][j]=Source[i][j];*/
memcpy(Destination,Source,sizeof(Cube));
}

/***************************** Echelle *******************************/
void Echelle(Cube m,float x,float y,float z)
{
Matrice EchelleMat; //matrice d'echelle
Cube m1;
MatriceIdentity(EchelleMat);
EchelleMat[0][0]=x;
EchelleMat[1][1]=y;
EchelleMat[2][2]=z;
MultiMatrice(m,EchelleMat,m1);
CopierCube(m1,m);
}

/****************************************************************************
* *
* Projection *
*****************************************************************************/

/********************* Projecations Perspective ***********************/
/*********** Z=0 ************/
void ProjPersp(Matrice m,float r)
{
Matrice PerspMatZ;
Cube m1;
MatriceIdentity(PerspMatZ);
PerspMatZ[2][3]=r;
PerspMatZ[2][2]=0;
MultiMatrice(m,PerspMatZ,m1);
for(int i=0;i<8;i++)
for(int j=0;j<4;j++)
m1[i][j]/=m1[i][3];
CopierCube(m1,m);

}

/**************************** Projection oblique ****************************/

void ProjOblique(Cube m,float Theta,float f)
{
Cube m1;
Matrice ObliqMat;
MatriceIdentity(ObliqMat);
ObliqMat[2][0]=f*cos(Theta*M_PI/180);
ObliqMat[2][1]=f*sin(Theta*M_PI/180);
ObliqMat[2][2]=0;
MultiMatrice(m,ObliqMat,m1);
CopierCube(m1,m);
}

/************************* Affichage des matrices ********************/
/**********************************************************************************************/
void AfficheCube(Cube M)
{
void Affiche(Cube);
int x;
int e=getmaxx()/2;
int f=getmaxy()/2;
cleardevice();
printf("Projection 2D!");
printf("\n\nQuel type de projection?");
printf("\n\n\t1-Oblique\n");
printf("\n\t2-Perspective");
printf("\n\n\n\n\n\n\n\n\n\n");
printf("\n\n\n\n\n\n\n\n\n\n\t\t\t\t\tQuel est votre choix:");
scanf("%d",&x);
switch(x)
{
case 1: cleardevice();
float a,b;
printf("\nSpecifier l'angle de Projection(45ø Cavaliere):");
scanf("%f",&a);
printf("\nSpecifiez le rapport de r‚duction(1 Cavaliere):");
scanf("%f",&b);
ProjOblique(M,a,b);
break;
case 2:cleardevice();
float d;
printf("\nDonner le rapport de projection perspective:");
scanf("%f",&d);
Echelle(M,100,100,100);
ProjPersp(M,d);
break;
default :cleardevice();
printf("Erreur 1 ou 2 svp!");
break;
}
cleardevice();
setcolor(15);
line(e,0,e,getmaxy());
line(0,f,getmaxx(),f);
Affiche(Unity);
setcolor(7);
line(M[0][0]+e,-M[0][1]+f,M[1][0]+e,-M[1][1]+f);
line(M[1][0]+e,-M[1][1]+f,M[2][0]+e,-M[2][1]+f);
line(M[2][0]+e,-M[2][1]+f,M[3][0]+e,-M[3][1]+f);
line(M[0][0]+e,-M[0][1]+f,M[3][0]+e,-M[3][1]+f);
line(M[5][0]+e,-M[5][1]+f,M[6][0]+e,-M[6][1]+f);
line(M[6][0]+e,-M[6][1]+f,M[7][0]+e,-M[7][1]+f);
line(M[4][0]+e,-M[4][1]+f,M[7][0]+e,-M[7][1]+f);
line(M[4][0]+e,-M[4][1]+f,M[5][0]+e,-M[5][1]+f);
line(M[3][0]+e,-M[3][1]+f,M[4][0]+e,-M[4][1]+f);
line(M[2][0]+e,-M[2][1]+f,M[7][0]+e,-M[7][1]+f);
line(M[3][0]+e,-M[3][1]+f,M[4][0]+e,-M[4][1]+f);
line(M[1][0]+e,-M[1][1]+f,M[6][0]+e,-M[6][1]+f);
line(M[0][0]+e,-M[0][1]+f,M[5][0]+e,-M[5][1]+f);
/* int i,j;
printf("\n\n");
for(i=0;i<8;i++)
{
for(j=0;j<4;j++)
printf("%2.2f\t",M[i][j]);
printf("\n");*/
getch();cleardevice();
}
/****************************************************************************/
void Affiche(Cube M)
{
int e=getmaxx()/2;
int f=getmaxy()/2;
ProjOblique(M,30,0.5);
cleardevice();
setcolor(2);
settextstyle(4,0,5);
outtextxy(10,10,"Cube Unit‚");
setcolor(3);
settextstyle(0,0,0);
outtextxy(10,60,"Projection Oblique d'angle 30ø");
outtextxy(10,70,"Rapport de projection = 0.5");
line(e,0,e,getmaxy());
line(0,f,getmaxx(),f);
setcolor(14);
line(M[0][0]+e,-M[0][1]+f,M[1][0]+e,-M[1][1]+f);
line(M[1][0]+e,-M[1][1]+f,M[2][0]+e,-M[2][1]+f);
line(M[2][0]+e,-M[2][1]+f,M[3][0]+e,-M[3][1]+f);
line(M[0][0]+e,-M[0][1]+f,M[3][0]+e,-M[3][1]+f);
line(M[5][0]+e,-M[5][1]+f,M[6][0]+e,-M[6][1]+f);
line(M[6][0]+e,-M[6][1]+f,M[7][0]+e,-M[7][1]+f);
line(M[4][0]+e,-M[4][1]+f,M[7][0]+e,-M[7][1]+f);
line(M[4][0]+e,-M[4][1]+f,M[5][0]+e,-M[5][1]+f);
line(M[3][0]+e,-M[3][1]+f,M[4][0]+e,-M[4][1]+f);
line(M[2][0]+e,-M[2][1]+f,M[7][0]+e,-M[7][1]+f);
line(M[3][0]+e,-M[3][1]+f,M[4][0]+e,-M[4][1]+f);
line(M[1][0]+e,-M[1][1]+f,M[6][0]+e,-M[6][1]+f);
line(M[0][0]+e,-M[0][1]+f,M[5][0]+e,-M[5][1]+f);
}

/****************************************************************************
* *
* TRANSFORMATIONS *
* *
*****************************************************************************/

/***************************** Translation ****************************/

void Translation(Cube m,float x,float y,float z)
{
Cube m1;
Matrice TranslMat; //matrice de translation
MatriceIdentity(TranslMat);
TranslMat[3][0]=x;
TranslMat[3][1]=y;
TranslMat[3][2]=z;
MultiMatrice(m,TranslMat,m1);
CopierCube(m1,m);
}
/****************************************************************************
* Rotations *
*****************************************************************************/

/***** par rapport … l'axe X *****/

void RotationX(Cube m,int Theta)
{
Matrice XMatrice;
Cube m1;
MatriceIdentity(XMatrice);
XMatrice[1][1]=cos(Theta*M_PI/180);
XMatrice[1][2]=sin(Theta*M_PI/180);
XMatrice[2][1]=-sin(Theta*M_PI/180);
XMatrice[2][2]=cos(Theta*M_PI/180);
MultiMatrice(m,XMatrice,m1);
CopierCube(m1,m);
}
/***** par rapport … l'axe Y *****/
void RotationY(Cube m,int Phi)
{
Matrice YMatrice;
Cube m1;
MatriceIdentity(YMatrice);
YMatrice[0][0]=cos(Phi*M_PI/180);
YMatrice[0][2]=-sin(Phi*M_PI/180);
YMatrice[2][0]=sin(Phi*M_PI/180);
YMatrice[2][2]=cos(Phi*M_PI/180);
MultiMatrice(m,YMatrice,m1);
CopierCube(m1,m);
}
/***** par rapport … l'axe Z *****/
void RotationZ(Cube m,int Psi)
{
Matrice ZMatrice;
Cube m1;
MatriceIdentity(ZMatrice);
ZMatrice[0][0]=cos(Psi*M_PI/180);
ZMatrice[0][1]=sin(Psi*M_PI/180);
ZMatrice[1][0]=-sin(Psi*M_PI/180);
ZMatrice[1][1]=cos(Psi*M_PI/180);
MultiMatrice(m,ZMatrice,m1);
CopierCube(m1,m);
}
/************ AXE Quelconque***********/
//en cours....
/****************************** Symetrie *******************************/
/******* Per rapport au Plan XY *********/
void SymetrieXY(Cube m)
{
Cube m1;
Matrice SymetXY;
MatriceIdentity(SymetXY);
SymetXY[2][2]=-1;
MultiMatrice(m,SymetXY,m1);
CopierCube(m1,m);
}
/******* Per rapport au Plan XZ *********/
void SymetrieXZ(Cube m)
{
Cube m1;
Matrice SymetXZ;
MatriceIdentity(SymetXZ);
SymetXZ[1][1]=-1;
MultiMatrice(m,SymetXZ,m1);
CopierCube(m1,m);
}
/******* Per rapport au Plan YZ *********/
void SymetrieYZ(Cube m)
{
Cube m1;
Matrice SymetYZ;
MatriceIdentity(SymetYZ);
SymetYZ[0][0]=-1;
MultiMatrice(m,SymetYZ,m1);
CopierCube(m1,m);
}
Revenir en haut Aller en bas
hmiza1986
GooD
GooD



Nombre de messages : 21
Date d'inscription : 02/11/2007

voila le programme de 3d dans l'infographie dans .h Empty
MessageSujet: Re: voila le programme de 3d dans l'infographie dans .h   voila le programme de 3d dans l'infographie dans .h Icon_minitimeVen 16 Nov - 12:27

svp hada programme dyali khodo mno chi information bach twriwhe lsatori
machi koulou
Revenir en haut Aller en bas
zoom
Developper
Developper
zoom


Masculin
Nombre de messages : 465
Age : 35
Adress : fes
Emploi/loisirs : eudiant/informatique & foot & blagues hahahahaha...
Lieu D'etude : je vais pas vs dire!!!!!!
Date d'inscription : 02/11/2007

voila le programme de 3d dans l'infographie dans .h Empty
MessageSujet: Re: voila le programme de 3d dans l'infographie dans .h   voila le programme de 3d dans l'infographie dans .h Icon_minitimeSam 17 Nov - 9:11

ok mais il parait que ca marche pas pk? y a une erreur dans Affiche
Revenir en haut Aller en bas
hmiza1986
GooD
GooD



Nombre de messages : 21
Date d'inscription : 02/11/2007

voila le programme de 3d dans l'infographie dans .h Empty
MessageSujet: Re: voila le programme de 3d dans l'infographie dans .h   voila le programme de 3d dans l'infographie dans .h Icon_minitimeVen 23 Nov - 11:34

kayne chi programme dans cpp hadak rir demi programme dans .h ama demi programme kayne dans cpp
a lundi w nzloukameel f cpp
Revenir en haut Aller en bas
zoom
Developper
Developper
zoom


Masculin
Nombre de messages : 465
Age : 35
Adress : fes
Emploi/loisirs : eudiant/informatique & foot & blagues hahahahaha...
Lieu D'etude : je vais pas vs dire!!!!!!
Date d'inscription : 02/11/2007

voila le programme de 3d dans l'infographie dans .h Empty
MessageSujet: Re: voila le programme de 3d dans l'infographie dans .h   voila le programme de 3d dans l'infographie dans .h Icon_minitimeDim 25 Nov - 12:05

Mr sqalli merci bcp pour le prog enfin je l'ai réglé mais de façon a juste me donner le cube unité avec une projection obique de 30 degré et un rapport 0.5
Revenir en haut Aller en bas
Contenu sponsorisé





voila le programme de 3d dans l'infographie dans .h Empty
MessageSujet: Re: voila le programme de 3d dans l'infographie dans .h   voila le programme de 3d dans l'infographie dans .h Icon_minitime

Revenir en haut Aller en bas
 
voila le programme de 3d dans l'infographie dans .h
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» voila le programme de 3d dans l'infographie dans cpp
» programme pour zoom
» programme pour fleur
» un programme pour zelij
» URGENT ::.. Un programme Surprise ..::

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Wjhoo Forum :: NEW GENERATION :: Cours :: Infographie-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser