M2-Images. notions d intégration numérique. J.C. Iehl. November 30, 2016

Documents pareils
1S Modèles de rédaction Enoncés

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Représentation géométrique d un nombre complexe

OLYMPIADES ACADÉMIQUES DE MATHÉMATIQUES

DURÉE DU JOUR EN FONCTION DE LA DATE ET DE LA LATITUDE

Chapitre 1 Cinématique du point matériel

PROBLEME(12) Première partie : Peinture des murs et du plafond.

LE PRODUIT SCALAIRE ( En première S )

Correction : E = Soit E = -1,6. F = 12 Soit F = y = 11. et G = -2z + 4y G = 2 6 = 3 G = G =

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

Activités numériques [13 Points]

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Mesure d angles et trigonométrie

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

Intégrales doubles et triples - M

Cours de Mécanique du point matériel

Algorithmes pour la planification de mouvements en robotique non-holonome

PARTIE NUMERIQUE (18 points)

Angles orientés et fonctions circulaires ( En première S )

REPRESENTER LA TERRE Cartographie et navigation

MegaStore Manager ... Simulation de gestion d un hypermarché. Manuel du Participant

Angles orientés et trigonométrie

C est un mouvement plan dont la trajectoire est un cercle ou une portion de cercle. Le module du vecteur position OM est constant et il est égal au

Éclairage naturel L5C 2009/2010. Aurore BONNET

Deux disques dans un carré

CHAPITRE IV Oscillations libres des systèmes à plusieurs degrés de liberté

Du Premier au Second Degré

Chapitre 0 Introduction à la cinématique

Cours IV Mise en orbite

Groupe Eyrolles, 2006, ISBN :

COMPTE-RENDU «MATHS EN JEANS» LYCEE OZENNE Groupe 1 : Comment faire une carte juste de la Terre?

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

CHAPITRE 10. Jacobien, changement de coordonnées.

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Fonctions de deux variables. Mai 2011

Si deux droites sont parallèles à une même troisième. alors les deux droites sont parallèles entre elles. alors

Calcul intégral élémentaire en plusieurs variables

Les moyens d observations en astronomie & astrophysique

Corrigé du baccalauréat S Pondichéry 12 avril 2007

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

Vous incarnez un surdoué en informatique qui utilise son ordinateur afin de pirater des comptes bancaires un peu partout dans le monde et s en mettre

Variation de vitesse des machines à courant alternatif. par

I. Polynômes de Tchebychev

Correction du baccalauréat S Liban juin 2007

PHOTO PLAISIRS. La Lumière Température de couleur & Balance des blancs. Mars 2011 Textes et Photos de Bruno TARDY 1

S initier aux probabilités simples «Un jeu de cartes inédit»

TP Détection d intrusion Sommaire

La géométrie du triangle III IV - V Cercles remarquables - Lieux géométriques - Relations métriques

Exercice 6 Associer chaque expression de gauche à sa forme réduite (à droite) :

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

F411 - Courbes Paramétrées, Polaires

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Seconde MESURER LA TERRE Page 1 MESURER LA TERRE

Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Paris et New-York sont-ils les sommets d'un carré?

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

Priorités de calcul :

EXERCICES DE REVISIONS MATHEMATIQUES CM2

epages 6.16 Automne 2013 Inès de La Ruffie, Channel Marketing Manager

Corrigé des TD 1 à 5

point On obtient ainsi le ou les points d inter- entre deux objets».

Aide - mémoire gnuplot 4.0

La fonte des glaces fait-elle monter le niveau de la mer?

ETUDE D IMPACT ACOUSTIQUE

De la sphère de Poincaré aux bits quantiques :! le contrôle de la polarisation de la lumière!

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours.

TSTI 2D CH X : Exemples de lois à densité 1

Probabilités (méthodes et objectifs)

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

2013 Pearson France Adobe Illustrator CC Adobe Press

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

L ALGORITHMIQUE. Algorithme

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Chapitre 18 : Transmettre et stocker de l information

MANUEL UTILISATEUR : RECETTES TABLE DES MATIERES PIE : PRESTATIONS INTERNES ET EXTERNES

Créer une maquette de site Internet

La base de données d exercices 100% gratuite Votre contact : contact@pangloss.fr

Terminale SMS - STL

Etude comparative de différents motifs utilisés pour le lancé de rayon

Application 1- VBA : Test de comportements d'investissements

Fonctions de plusieurs variables

FIMA, 7 juillet 2005

Utilisation avancée de SugarCRM Version Professional 6.5

Initiation à linfographie

Jeu pour l oral «Les vies antérieures» Devinez les vies antérieures de vos amis!

LAMPES FLUORESCENTES BASSE CONSOMMATION A CATHODE FROIDE CCFL

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

CENTRALE D ALARME SANS FILS

aux différences est appelé équation aux différences d ordre n en forme normale.

L.T.Mohammedia CHAINE D ENERGIE - DESSIN TECHNIQUE S.CHARI

Géométrie dans l espace Produit scalaire et équations

Monte charge de cuisine PRESENTATION DU MONTE CHARGE

Transcription:

notions d intégration numérique November 30, 2016

résumé des épisodes précédents simulation : tout les objets éclairés recoivent de la lumière, cette lumière est réfléchie dans la scène... et éclaire les objets visibles (par les objets éclairés)... sommer tout ça pour chaque point visible de la camera.

l équation qui fait peur avec : L r (p, ω o ) = L e (p, ω o ) + L i (p, ω)f r (p, ω ω o ) cos θ dω Ω + L r (p, ω o ) : énergie réfléchie par p dans la direction ω o, L e (p, ω o ) : énergie émise par p dans la direction ω o, Ω + : ensemble de directions autour du point p, L i (p, ω) = L r (q, ω) : énergie incidente en p dans la direction ω = énergie réfléchie par q vers p, f r (p, ω ω r ) : matière de p, θ : angle entre la normale en p et ω.

en clair : en clair : pour chaque point p visible par la camera, trouver toutes les sources visibles, L i (p, ω) > 0 L e (s, ω) > 0, avec s un point sur une source, visible par p dans la direction ω, V (p, s) 1 puis, trouver tout les objets visibles, et pour chaque point sur un objet visible, trouver quelles sources de lumière sont visibles. L r (p, ω o ) = L e (p, ω o )+ V (p, s)l e (s, ω)f r (p, ω ω o ) cos θ dω Ω +

qu est ce qu on calcule? calculer : tester un ensemble de directions, ω Ω +, si une source de lumière est visible dans cette direction L e (s, ω) > 0, calculer la lumière réfléchie vers la camera, L e (s, ω)f r (p, ω ω o ) cos θ, sommer pour toutes les directions.

choisir des directions... un ensemble de directions ω Ω + : autour d un point sur un objet,?? idée : rappel: intégration avec la méthode des rectangles, fonctionne pour des fonctions 1d, mais les directions sont définies en 2d...

repère local repère de la scène choisir des directions... construire une grille 2d : coordonnées polaires ω (θ, φ)

repère local repère de la scène grille en (θ, φ) est ce que les cellules sont de même taille? est ce que c est une grille?

repère local repère de la scène spirale de Fibonacci en (θ, φ) est ce que les cellules sont de même taille? est ce que c est une grille?

repère local repère de la scène spirale de Fibonacci Spherical Fibonacci Mapping

repère local repère de la scène spirale de Fibonacci construction : pour i N points cos θ = 1 2i+1 2N φ = 2π [ ] ( i Φ 2π i Φ ) i Φ (x, y, z) = (cos φ sin θ, sin φ sin θ, cos θ) avec Φ = ( 5+1) 2 avec sin θ = 1 cos 2 θ Spherical Fibonacci Mapping B. Keinert, M. Innmann, M. Sanger Spherical Fibonacci Point Sets for Illumination Integrals R. Marques, C. Bouville, M. Ribardière, L.P. Santos, K. Bouatouch

repère local repère de la scène retour au calcul... rappel : tester un ensemble de directions, ω Ω +... dans quel repère connait les directions ω? dans quel repère faut-il connaitre la direction du rayon?

repère local repère de la scène changement de repère... ω dans le repère de la scène : on connait les coordonnées de ω dans un repère local aligné sur la normale du point p, comment calculer les coordonnées de ω dans le repère de la scène? idée : on connait la normale n au point p, construire un 2ième vecteur en modifiant les coordonnées de n?

repère local repère de la scène changement de repère... idée : remplacer la plus petite composante (en valeur absolue) par 1, 2 produits vectoriels permettent enfin de construire 2 autres vecteurs orthogonaux... plus rapide / plus simple : Building an Orthonormal Basis from a 3D Unit Vector Without Normalization J.R. Frisvald

retour au calcul... rappel : tester un ensemble de directions, ω Ω +... sommer la lumière émise par les sources visibles dans les N directions...

exemple : 64 directions / Fibonacci

exemple : 256 directions / Fibonacci

exemple : 1024 directions / Fibonacci

ça marche, mais... et alors? si la source est petite, il faut beaucoup de directions, le temps de calcul explose...

exemple : 64 directions / Fibonacci

exemple : 256 directions / Fibonacci

ça marche, mais... idée : pas assez de précision pour un nombre raisonnable de directions...?? perturber l orientation de la spirale?

perturber la spirale de Fibonacci... rappel : φ = 2π [ ] i Φ φ = 2π [ ] i+u Φ avec u valeur aléatoire [0..1], constante pour une spirale, plus difficile de perturber θ, pourquoi? chaque point p / pixel utilise des directions ω différentes...

exemple : 64 directions / Fibonacci + perturbation φ

exemple : 256 directions / Fibonacci + perturbation φ

exemple : 64 directions / Fibonacci + perturbation φ

exemple : 256 directions / Fibonacci + perturbation φ

rappel : rappel : pour chaque point p visible par la camera, trouver toutes les sources visibles, L i (p, ω) > 0 L e (s, ω) > 0, avec s un point sur une source, visible par p dans la direction ω, V (p, s) 1 puis, trouver tout les objets visibles, et pour chaque point sur un objet visible, trouver quelles sources de lumière sont visibles.

et alors? combien de rayons par pixel? pour chaque pixel, N directions, pour chaque point trouvé, encore N directions... soit N 2 rayons par pixel, pour 1M pixel... et N 1000, et pour plus de rebonds? N 3, N 4, etc. pas très raisonnable...

contrôler le nombre de rayons par pixel bilan : pour chaque pixel, suivre un arbre complet de rayons (avec N 2 feuilles), et si on ne suivait que quelques chemins au lieu de N 2 existants dans l arbre complet? comment?

contrôler le nombre de rayons par pixel comment : choisir aléatoirement les P N 2 chemins à suivre, et utiliser une spirale avec beaucoup de directions (N = 32768, par exemple), pour obtenir suffisament de précision. remarque : N =, c est encore mieux...

choisir aléatoirement P directions choisir P directions : intuition : pour P directions combien sont choisies sur la ligne θ = π/2? et sur la ligne θ = π/4? intuition : combien de colonnes pour chaque ligne? on peut faire la même construction, choisir une direction parmi les 2π qui existent sur une hémisphère.

choisir aléatoirement P directions recueil de formules : Global Illumination Compendium P. Dutre par exemple, eq 34 et 35 cos θ = u 1 φ = 2πu 2 (x, y, z) = (cos φ sin θ, sin φ sin θ, cos θ) avec sin θ = 1 cos 2 θ, avec u 1, u 2 valeurs aléatoires [0..1]

et alors? et alors? on peut maitriser le temps de calcul en controlant le nombre de chemins suivis par pixel, mais la qualité est toujours assez mauvaise... il serait peut être plus efficace de viser exactement les sources, au lieu de les chercher au hasard?

: comment viser une source de lumière? trouver les directions pour lesquelles la source est visible depuis un point p...?? et si on choisit directement un ensemble de points à la surface de la source de lumière? il ne reste plus qu à vérifier que la lumière arrive au point p...

choisir un point sur une source de lumière??? il faut trouver des points qui auraient pu être testés par les directions de la spirale de Fibonacci... au lieu de sommer sur un ensemble de directions, il faut sommer sur l ensemble des points de la source, vus depuis le point p... quand on change de direction sur la spirale, comment bouge le point sur la source?

choisir un point sur une source de lumière? changement de variable : au lieu d intégrer sur les directions autour de p, qui correspondent à des points sur la source, intégrer sur les points de la source et vérifier qu ils sont visibles par p. L r (p, ω o ) = L e (p, ω o ) + L e (s, ω)f r (p, ω ω o )G(p, s)ds S cos θ cos θs avec G(p, s) = V (p, s) d 2 (p,s)

choisir un point sur une source de lumière? c est malin, comment on génère un point dans un triangle? on peut utiliser la même idée que la spirale de Fibonacci : découper le triangle en lignes et construire les cellules contenues dans le triangle, ou on peut aussi faire la construction pour N =, cf GI Compendium, eq 18 β = (1 u 2 ) u 1 γ = u 2 u1 p(β, γ) = (1 β γ)a + βb + γc

exemple : 1 point par source

exemple : 16 points par source

exemple : 64 points par source

exemple : 256 points par source

rappel : 1024 directions / Fibonacci