/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E N E R A T I O N   D U   D O D E C A E D R E   R E G U L I E R  :                                                       */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xtc/DodecaedreRegulier.01$vv$c' :                                                                              */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20260921140010).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   NSOMMETS  20
#define   NARETES   30
#include  "Polyedres.01.vv.I"
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E N E R A T I O N   D E S   S O M M E T S   D U   D O D E C A E D R E  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
double    un_sur_phi;
                                        /* Nombre d'or...                                                                            */
double    Xmin_Dodecaedre=+INFINI,Ymin_Dodecaedre=+INFINI,Zmin_Dodecaedre=+INFINI;
double    Xmax_Dodecaedre=-INFINI,Ymax_Dodecaedre=-INFINI,Zmax_Dodecaedre=-INFINI;
                                        /* Extrema du dodecaedre=.                                                                   */
static    void      dodecahedron(void)
          {
          int       n=0;
          int       s1,s2,s3;
          for       (s1=-1; s1<=1; s1+=2)
                    {
                    for       (s2=-1; s2<=1; s2+=2)
                              {
                              for       (s3=-1; s3<=1; s3+=2)
                                        {
                                        p[n++] = (POINT){s1,s2,s3};
                                        /* Generation de 8 sommets {+/-1,+/-1,+/-1}.                                                 */
                                        }
                              }
                    }
          for       (s1=-1; s1<=1; s1+=2)
                    {
                    for       (s2=-1; s2<=1; s2+=2)
                              {
                              p[n++] = (POINT){0,s1*(1+un_sur_phi),s2*(1-(un_sur_phi*un_sur_phi))};
                                        /* Generation de 4 sommets {0,(+/-1)*(1+Phi),(+/-1)*(1-(Phi*Phi))}.                          */
                              }
                    }
          for       (s1=-1; s1<=1; s1+=2)
                    {
                    for       (s2=-1; s2<=1; s2+=2)
                              {
                              p[n++] = (POINT){s1*(1+un_sur_phi),s2*(1-(un_sur_phi*un_sur_phi)),0};
                                        /* Generation de 4 sommets {(+/-1)*(1+Phi),(+/-1)*(1-(Phi*Phi)),0}.                          */
                              }
                    }
          for       (s1=-1; s1<=1; s1+=2)
                    {
                    for       (s2=-1; s2<=1; s2+=2)
                              {
                              p[n++] = (POINT){s1*(1-(un_sur_phi*un_sur_phi)),0,s2*(1+un_sur_phi)};
                                        /* Generation de 4 sommets {(+/-1)*(1-(Phi*Phi)),0,(+/-1)*(1+Phi)}.                          */
                              }
                    }
          EXTREMA_SOMMETS(Xmin_Dodecaedre,Ymin_Dodecaedre,Zmin_Dodecaedre,Xmax_Dodecaedre,Ymax_Dodecaedre,Zmax_Dodecaedre);
          }
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P R O G R A M M E   P R I N C I P A L  :                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
void      main(int argc,char *argv[])
          {
          un_sur_phi = 1.0/((1.0+sqrt(5.0))/2.0);
                                        /* Valeur par defaut...                                                                      */
          if        (argc >= 2)
                    {
                    GET_ARGUMENT(1,futur_un_sur_phi,un_sur_phi);
                    if        (argc >= 3)
                              {
                              GET_ARGUMENT(2,futur_epsilon1,epsilon1);
                              if        (argc >= 4)
                                        {
                                        GET_ARGUMENT(3,futur_epsilon2,epsilon2);
                                        if        (argc >= 5)
                                                  {
                                                  printf("Les arguments en sur-nombre sont ignores.\n");
                                                  }
                                        else
                                                  {
                                                  }
                                        }
                              else
                                        {
                                        }
                              }
                    else
                              {
                              }
                    }
          else
                    {
                    }
          dodecahedron();
          EDITIONS_FINALES("Dodecaedre"
                          ,Xmin_Dodecaedre,Ymin_Dodecaedre,Zmin_Dodecaedre
                          ,Xmax_Dodecaedre,Ymax_Dodecaedre,Zmax_Dodecaedre
                           );
          bonds("Dodecaedre");
          return;
          }



Copyright © Jean-François Colonna, 2026-2026.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2026-2026.