- . ---


Un logo pour le Cercle Informatique

Le Cercle Informatique possède un logo à la gloire de sa grandeur. Toujours à la pointe de la technologie informatique, ce logo à été réalisé en utilisant des techniques de pointes en matière d'images de synthèse.

Historique

Le logo du Cercle Informatique vraisemblablement à été réalisé au début de l'année académique 1992-1993. La première version de ce logo était destinée à la création d'annimation et constituait pour moi un exercice d'utilisation du programme de Raytracing POV-Ray.

Il n'a pas fallu longtemps pour que John Rizzo s'empare de mes sources et expérimente différentes textures pour le logo. A l'époque le Cercle Informatique disposait sans doute déjà de son ordinateur et c'est sur celui-ci que furent réaliser les premiers logos utilisés ensuite pour des lettres ou pour des affiches.

Parallèlement à cela, je développait mon propre format d'animation utilisant la delta-compression et je mettait au point un programme faissant tourner le logo du Cercle Informatique sur un écrant en mode VGA.

Longtemps après, en 1997, les sources pour le programme POV-Ray du logo du Cercle Informatique ont sans doute été perdue. C'est avec horreur que j'ai apeçu les tentatives de rotation du logo du Cercle Informatique sur les premières versions du site officiel du Cercle Informatique.

Peu de temps après, j'ai commencé à être contacté à plusieurs reprises pour me demander de retrouver les fichiers originaux. Apparement, le Cercle Informatique utilisait une version plate du logo, ce qui ne permettait plus de l'animé en trois dimention, ni de l'imprimer en haute résolution.

Finalement, après de longue recherche dans mes piles de disquettes, j'ai retrouvé mes sources. Afin de les remettres au goût du jour et de les offrir au Cercle Informatique, j'ai retravaillé les sources pour les adapter à la syntaxe de la version 2 de POV-Ray. J'en ai égallement profité pour réaliser une animation capable de remplacer au pied levé celle utilisée sur le site officiel de Cercle Informatique.

Afin d'assurer que le logo ne soit plus perdu, j'ai assorti le don des sources du logo à quelques conditions qui je l'espère permetteront que celui-ci d'être amélioré tout en concervant son histoire.

Un peu de technique

Le programme POV-Ray est un programme de Raytracing. Il permet de réaliser des images de synthèse photoréalistes. Pour cela il faut décrire la scène que l'on veut représenter en utilisant des objets, ou forme, géométrique. Le programme POV-Ray permet ainsi de décrire un univers complexe et tridimentionnel à partir d'un simple fichier texte.

La lettre I est consitué de l'union de trois cylindres, deux horizontaux et un vertical, pour réaliser le corps et de quatres sphères pour réaliser les bouts arrondis.

La lettre C est formé à partir d'une tore. Cette tore est limité par de plan afin de créer l'ouverture sur la droite. Le C est également terminé par une union avec deux sphères pour former les bouts arrondis.

Laissons parler les images

Le logo animé utilisé sur le site
Le nouveau ancien logo

Bon, évidement, le logo nouveau logo est un peu sombre, mais tous cela peut s'arranger très facilement en changeant de texture et en maitrisant bien la création du gif annimé.

Le logo animé utilisé sur le site Le nouveau ancien logo

De nouveau, le nouveau logo n'est pas parfait et ne ressemble pas tout à fait à l'ancien. Mais le fait est là, avec les sources POV-Ray du logo, tout est à nouveau possible, même le mauvait goût.

Place au code

Afin d'éviter au maximum de toucher au code si ce n'est pas nécessaire et pour faciliter la création d'annimation, la description du logo est séparé en deux parties.

Le programme principal (fichier 'logoci.pov')

// Logo du Cercle Informatique au format Persistence of Vision Raytracer
//
// Ce fichier peut être utilisé par le Cercle Informatique de l'U.L.B.
//  pour la production de son Logo sous quelque support que ce soit.
//
// Il peut être modifié aux conditions suivantes:
//  * Il n'est pas possible d'obtenir le même résultat par paramétrage.
//  * Conserver le copyright original de l'auteur.
//  * Conserver dans les archives du cercle (et on-line si possible)
//     la version originale ainsi que toutes les versions successives.
//  * Indiquer clairement au moyen de commentaire les modifications ainsi
//     que leur auteur.
//  * Tenir à jour l'historique des modifications dans chaque nouvelles
//     version.
//
// Copyright David GLAUDE [Glu] 1997. e-mail: glu@who.net

// Historique:
//  20/09/97, David GLAUDE: Première version du logo (date du
//   fichié retrouvé dans mes personnes).
//  25/05/97, David GLAUDE: Adaptation pour PovRay version 2
//   et paramétrisation pour faciliter les animations.
//  21/06/97, David GLAUDE: Finalisation du fichier original et séparation
//   des paramètres dans un fichier externe avant sa mise on-line pour
//   le 'donner' au Cercle.
//  22/06/97, David GLAUDE: Création d'animations 60*100 et 75*100.
//   Réalisation d'une page web d'exemple
//   le 'donner' au Cercle.

#version 2              // Compatibilite avec la version 2 de Pov !!!

// Pour le logo du CI, il est recommande de suivre les regles suivantes:
//  Rc=Ri        (Les tubes du C et du I ont le meme rayon)
//  Lc+Rc=Li+Ri  (Le C et le I ont la meme longueur avec le rayon compris)
//  Hi>Ri+Rc+Lc  (Les bords du C et du I ne se touche pas verticalement)
//  Ah=-Al       (Les bords du C sont coupe au meme angle haut et bas)
//  Am=(Ah+Ab)/2 (L'angle moyen du C est entre Ah et Al)
// Les valeurs originales sont:
//#declare Lc=20        // Longueur (= Grand rayon du tore) du C
//#declare Li=20        // Longueur du I

//#declare Hi=35        // Hauteur du I
//#declare Rc=5         // Rayon du tube du C (= Petit rayon du tore)
//#declare Ri=5         // Rayon des tubes du I
//#declare Ah=30        // Angle "Haut" du C
//#declare Ab=-30       // Angle "Bas" du C
//#declare Am=(Ah+Ab)/2 // Angle "Moyen" du C

// Les angles de rotation du C et du CI permettent d'annimé le logo
// Les valeurs originales sont:
//#declare RotCx=0
//#declare RotCy=0
//#declare RotCz=0
//#declare RotCIx=0
//#declare RotCIy=0
//#declare RotCIz=0

// Trois couleurs et deux texture sont utilisees.
// Les couleurs et textures originales sont:
//#declare Blanc = colour red 1.0 green 1.0 blue 1.0
//#declare Mauve = colour red 0.35 green 0.25 blue 0.35
//#declare Black = colour red 0.0 green 0.0 blue 0.0
//#declare tci = texture{pigment{colour Mauve} finish{ambient 0.6 diffuse 0.4}}
//#declare tfond = texture{pigment{colour Blanc} finish{ambient 1 diffuse 0}}

#include "param.inc"

//Background plan
object {
 plane{<0,0,1>,1000}
 texture{tfond}
}

//// La camera pour un logo 640*480.
camera {
    location  <0.0, 0.0, -120.0>
    direction <0.0, 0.0, 1.0>
    up        <0.0, 1.0, 0.0>
    right     <1.33333, 0.0, 0.0>
    }

//// La camera pour un logo 60*100.
//camera {
//    location  <0.0, 0.0, -102.0>
//    direction <0.0, 0.0, 1.0>
//    up        <0.0, 1.0, 0.0>
//    right     <0.6, 0.0, 0.0>
//    }

//// La camera pour un logo 75*100.
//camera {
//    location  <0.0, 0.0, -115.0>
//    direction <0.0, 0.0, 1.0>
//    up        <0.0, 1.0, 0.0>
//    right     <0.75, 0.0, 0.0>
//    }

// La source de lumiere.
object {
    light_source {
        <100,100,-100>
        color Blanc
        }
    }

//// La source de lumiere plus proche.
//object {
//    light_source {
//        <70,70,-70>
//        color Blanc
//        }
//    }

#declare i=object{
    union{
        cylinder {<0,-Hi,0>,<0,Hi,0>,Ri}     // Cylindre vertical
        cylinder {<Li,Hi,0>,<-Li,Hi,0>,Ri}   // Cylindre horizontal haut
        cylinder {<Li,-Hi,0>,<-Li,-Hi,0>,Ri} // Cylindre horizontal bas
        sphere {<Li,Hi,0>,Ri}                // Sphere haut droite
        sphere {<-Li,Hi,0>,Ri}               // Sphere haut gauche
        sphere {<Li,-Hi,0>,Ri}               // Sphere bas droite
        sphere {<-Li,-Hi,0>,Ri}              // Sphere bas gauche
        }
    }

#declare c=object{
 union{              // Union de la tore coupee avec deux spheres
  intersection{      // Intersection du tore avec la partie visible
   torus{Lc,Rc rotate<90,0,0>}
    union{           // Union de la partie "Haute" et de la partie "Basse"
     intersection{   // Partie visible "Haute" du tore
      plane{<0,-1,0>0 rotate<0,0,Ah>}
      plane{<0,-1,0>,0 rotate<0,0,Am>}
      }
     intersection{   // Partie visible "Haute" du tore
      plane{<0,1,0>,0 rotate<0,0,Ab>}
      plane{<0,1,0>,0 rotate<0,0,Am>}
      }
     }
    }
   sphere{,Rc rotate<0,0,Ab>} // bouts arrondis bas
   sphere{,Rc rotate<0,0,Ah>} // bouts arrondis haut
  }
 }

union {
 object{c rotate}
 object{i}
 rotate
 texture{tci}
 }

Le fichier de paramètrage (fichier 'param.inc')

// Paramètres modifiable du LOGO du Cercle Informatique de l'U.L.B.
// Copyright David GLAUDE, 1997.

#declare Lc=20          // Longueur (= Grand rayon du tore) du C
#declare Li=20          // Longueur du I
#declare Hi=35          // Hauteur du I
#declare Rc=5           // Rayon du tube du C (= Petit rayon du tore)
#declare Ri=5           // Rayon des tubes du I
#declare Ah=30          // Angle "Haut" du C
#declare Ab=-30         // Angle "Bas" du C
#declare Am=(Ah+Ab)/2   // Angle "Moyen" du C

#declare RotCx=0
#declare RotCy=0
#declare RotCz=0
#declare RotCIx=0
#declare RotCIy=0
#declare RotCIz=0

#declare Blanc = colour red 1.0 green 1.0 blue 1.0
#declare Mauve = colour red 0.35 green 0.25 blue 0.35
#declare Black = colour red 0.0 green 0.0 blue 0.0
#declare tci = texture{pigment{colour Mauve} finish{ambient 0.6 diffuse 0.4}}
#declare tfond = texture{pigment{colour Blanc} finish{ambient 1 diffuse 0}}
- . ---
no counter The content of this page is copyrighted: ©David GLAUDE.
Content last updated: Thu Jan 31, 2002.
This file generated: Fri Apr 26 12:17:38 CEST 2002 .