Mathc matrices/Fichiers h : vsm

Un livre de Wikilivres.


Bibliothèque


Installer ce fichier dans votre répertoire de travail.

vism.h
/* ------------------------------------ */
/*  Save as :   vism.h                   */
/* ------------------------------------ */

/* ------------------------------------ */
double **m0_mR(
double **Zer
)
{
int r;
int c;

  for   ( r=R1; r<Zer[R_SIZE][C0]; r++)
    for ( c=C1; c<Zer[C_SIZE][C0]; c++)

            Zer[r][c] = 0.;
return(Zer);
}
/* ------------------------------------ */
double **eye_mR(
double **ID
)
{
int r;
int c;

 isquare_mR(ID,"eye_mR();","(ID)");

  for   ( r=R1; r<ID[R_SIZE][C0]; r++)
    for ( c=C1; c<ID[C_SIZE][C0]; c++)

        if(r==c) ID[r][c] = 1.;
        else     ID[r][c] = 0.;

return(ID);
}
/* ------------------------------------ */
double **rot2D_mR(
double  **A,
double alpha
)
{
 A[R1][C1] = cos(alpha);A[R1][C2] = -sin(alpha);
 A[R2][C1] = sin(alpha);A[R2][C2] =  cos(alpha);
              
return(A);
}
/* ------------------------------------ */
double **Rot2D_mR(
double  **A,
double alpha
)
{
 m0_mR(A);      
 A[R1][C1] = cos(alpha);A[R1][C2] = -sin(alpha);
 A[R2][C1] = sin(alpha);A[R2][C2] =  cos(alpha);
 A[R3][C3] = 1.;
              
return(A);
}
/* ------------------------------------ */
void Rot2D_P_mR(
double  **A,
double  **P,
double alpha
)
{
 m0_mR(A);      
 A[R1][C1] = cos(alpha);
 A[R1][C2] = -sin(alpha);
 A[R1][C3] = P[1][1]*(1-cos(alpha))+P[2][1]*sin(alpha);
 
 A[R2][C1] = sin(alpha);
 A[R2][C2] =  cos(alpha);
 A[R2][C3] = P[2][1]*(1-cos(alpha))-P[1][1]*sin(alpha);
 
 A[R3][C3] = 1.;
}
/* ------------------------------------ */
/* ------------------------------------ */

Dans ce fichieron introduit la construction de quelques matrices spécifiques, la matrice zéro, la matrice identité.