libbubulle/tools
2023-04-26 08:33:05 +02:00
..
.gitignore admin stuff 2023-04-14 13:30:43 +02:00
cube.obj not ready for prime time 2023-04-03 00:52:09 +02:00
edges2cylinders.awk refactoring, first step 2023-04-20 22:33:46 +02:00
essai_faces.c sunday dirty commit 2023-04-09 11:13:56 +02:00
export_evblob.c refactoring of export_evblob in progress 2023-04-26 08:33:05 +02:00
importobj.c repair debug messages 2023-04-24 14:12:15 +02:00
Makefile add a all: target 2023-04-19 10:41:50 +02:00
minimal.obj not ready for prime time 2023-04-03 00:52:09 +02:00
objtrucs.h move a proto declaration to the right place 2023-04-20 22:55:46 +02:00
rdwredges.c refactoring, first step 2023-04-20 22:33:46 +02:00
read_obj.c cosmetic 2023-04-22 18:40:37 +02:00
README.md minimal explanation 2023-04-22 18:42:25 +02:00

Importer des fichiers .OBJ

v -1.177934647 -6.833468914 -73.19773865
vn -0.1279897094 -0.4501263499 -0.8837448359
v -0.8008174896 -6.425453663 -73.32041931
vn -0.05844723806 -0.09480132163 -0.993778944

read_obj

Première étape : en lisant les vertices, nous saurons positionner nos bubulles. Ensuite, en explorant les faces, nous pouvons en déduire les arètes (aka: edges).

Et à partir de cette analyse, nous allons générer un fichier binaire contenant les points xyx, et les arêtes pointA-pointB. Le format de ce fichier doit être considéré //opaque//. il sera généré dans le $PWD avec le nom du fichier .OBJ mais avec l'extension .evblob.

Ce n'est qu'une première étape, d'autres formats de sortie pourront être implémentés.

Attention, mon parser EXIGE des fichiers Unix bien conformés : c'est-à-dire que la dernière ligne du .obj DOIT être terminée par un newline !

export_evblob & bla.awk

Deuxième étape : À partir du fichier .evblob généré à l'étape précédente, nous allons créer (entre autres options ?) un fichier utilisable par Povray. La première option a été la génération des arêtes, nous aurons donc sur stdout six nombres réels: xyz(pointA) et xyz(pointB).

Et là, c'est trop facile, Unix le fait depuis quarante ans. Un petit script Awk fera l'affaire.

TODO LIST

  • Songer à un système d'auto-scaler et de recentrage
  • Comment générer un .obj à partir d'une image flottante ?
  • Gérer les arêtes de longueur nulle (degenerated cylinder)

rendu final

Quatrième étape : aller vivre à la campagne ?