L3 synthèse d'images
2022

Projet - lancer de rayons et images


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


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'equivalent pendant les séances de tp.

vous complèterez ce travail avec le calcul de la lumière réfléchie, cf Partie 4 / TP1.

lorsque cela fonctionne, relisez la Partie 7 / TP1. comment générer une image lisse, ie la couleur de chaque pixel est un mélange de la couleur du fond et de l'objet.





Partie 2 : 1 bonus (minimum) au choix

bonus 1 :
éclairez vos objets avec une ou plusieurs sources de lumière afin d'obtenir un résultat plus nuancé, ie des ombres moins marquées, cf Partie 8 / TP1


bonus 2 :
comment peut-on calculer l'intersection d'un rayon et d'un carré / panneau ? ajoutez un carré / panneau dans la scene.

de quelles informations a-t-on besoin pour décrire la position, la dimension et l'orientation du panneau dans la scene ?

indications : c'est le même principe que l'intersection rayon / triangle, si le point d'intersection dans le plan du carré est du bon coté des 4 arêtes, le point d'intersection est dans le carré.


bonus 3 :
utilisez le panneau comme une source de lumière, cf bonus 1.


bonus 4 : miroir-miroir ?
que se passe-t-il lorsqu'un miroir voit un autre miroir ? quelle est la couleur de l'objet qui se réfléchit dans le 1er miroir ? dans le 2ieme ? quelle est la couleur pixel ?


bonus 5 : 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, cf Partie 8 et 9 / TP1. 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 6 : et avec un filtre bilateral ?
mêmes questions pour un filtre bilateral.
quelles informations supplémentaires peut-on fournir au filtre pour préserver certains détails dans l'image ? les contours des objets, par exemple ?

cf la doc opencv, section bilateral filtering


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