mercredi 26 décembre 2007

CSG to Voxel

Bien que ce n'est pas un langage que l'on utiliserait habituellement pour faire ceci, je dois dire que l'implémentation des expressions régulières en PHP est si simple, que le PHP devient dans ce cas un langage très utile.

J'ai créé un convertiseur de fichier CSG (*.pov, de PovRay) vers un autre fichier CSG mais qui ne créé lui que des voxels (pixels volumétriques).

Dans un premier temps, je traite le fichier d'entré pour éliminer les parasites (les structures de contrôle, les commentaires, les lignes vides), puis je met les accolades au bon endroit.

Ensuite je parcours ce fichier ainsi nettoyé pour traiter les formes a dessiner en 3 temps. Premier temps, est la détection de la forme : {. A partir de ceci, toutes les lignes suivantes, sauf si cette ligne vaut précisément }, alors fait parti de la définition de la forme. Selon la forme courante, j'attends différents paramètres (coordonnées, diamètre, rotation, translation) que je stock dans un tableau temporaire, lequel est lu lors de la détection de l'accolade fermante (accolade qui doit être de la même profondeur que lors de l'ouverture avec la définition de la forme) et j'écris sur le fichier de sortie mes Voxels.

Aucun commentaire:

Enregistrer un commentaire