L3 synthèse d'images
2024


Projet - lancer de rayons et images


ce projet est à faire en binome, à rendre sur Tomuss, accompagné d'un petit rapport expliquant ce que vous avez fait et éventuellement ce qui ne fonctionne pas / ce que vous auriez voulu faire.


Partie 1 : travail à rendre

au strict minimum : une fonction d'intersection rayon / plan, ainsi que intersection rayon / sphere + le parcours des pixels de l'image ainsi que la génération du rayon de chaque pixel, ie le minimum pour créer une image de ce type :

lorsque ces fonctions sont correctes, il suffit de les utiliser pour calculer les ombres et ajouter une ou plusieurs sources de lumière pour obtenir quelquechose qui ressemble à cette image :


normalement, tout le monde à réalisé l'équivalent pendant les séances de tp.

Vous rendrez également le calcul de la couleur réfléchie et la scène sera composée au moins de 2 objets, sphère ou autre, en plus du plan "support".


Partie 2 : Bonus (minimum 2, au choix)

bonus 1 :
et avec un flou de profondeur ?

bonus 2 :
et avec un ciel et un soleil ? (utilisez des directions aléatoires pour le ciel, le temps de calcul sera plus raisonnable...)


bonus 3 :
et si le ciel change de couleur en fonction de la direction ?


bonus 4 :
et avec une lune ? cf tp3.


bonus 5 :
et avec des matières réfléchissantes ? cf le supplément du cours sur les matières.


bonus 6 :
et avec beaucoup d'objets ? cf le supplément du cours sur le tri des objets.


bonus 7 :
et avec un objet modélisé dans Blender et composé de triangles ? cf le supplément de cours sur les triangles.


bonus 8 : et avec opencv
?
lorsque l'on utilise des points ou des directions aléatoires pour calculer la lumière réfléchie par un objet, l'image est plus ou moins bruitée / avec des défauts... peut on filtrer l'image avec un filtre gaussien opencv pour la "nettoyer" ? comment régler les paramètres du filtre ? est ce que les paramètres du filtre dépendent du nombre de points / de directions aléatoires utilisés pour faire le calcul ?

cf la doc opencv, section "gaussian blurring"


bonus 9 : et avec un filtre bilateral ?
mêmes questions pour un filtre bilateral. quelles sont les différences avec un filtre gaussien "classique" ? est ce intérressant dans ce cas (ie pour éliminer les défauts de calculs / d'estimation de la lumière réfléchie) ?
quelles informations supplémentaires peut-on fournir au filtre pour préserver certains détails dans l'image ? les contours des objets, par exemple ? comment les calculer en même temps que les pixels de l'image ?

cf la doc opencv, section "bilateral filtering"


bonus 10 : une surprise ?
si vous avez expérimenté autre chose, surprenez nous !