index.tex

Sommaire image

Introduction

1Systèmes de coordonnées cartésiennes

1.1Mathématiques en 1D

1.2L’espace cartésien en 2D

1.2.1Un exemple : la ville hypothétique de Cartésia

1.2.2Espaces de coordonnées 2D arbitraires

1.2.3Spécifier des positions en 2D à l’aide de coordonnées cartésiennes

1.3L’espace cartésien en 3D

1.3.1Une dimension de plus, un axe de plus

1.3.2Spécifier des positions en 3D

1.3.3Espaces de coordonnées main gauche et main droite

1.3.4Quelques conventions importantes utilisées dans ce livre

1.4Divers

1.4.1Notation de sommation et de produit

1.4.2Notation d’intervalle

1.4.3Angles, degrés et radians

1.4.4Fonctions trigonométriques

1.4.5Identités trigonométriques

1.5Exercices

2Vecteurs

2.1Définition mathématique d’un vecteur,
et autres considérations rébarbatives

2.2Définition géométrique d’un vecteur

2.3Représenter les vecteurs en coordonnées cartésiennes

2.3.1Un vecteur comme suite de déplacements

2.3.2Le vecteur nul

2.4Vecteurs et points

2.4.1Position relative

2.4.2La relation entre points et vecteurs

2.4.3Tout est relatif

2.5Négation d’un vecteur

2.5.1Règles officielles d’algèbre linéaire

2.5.2Interprétation géométrique

2.6Multiplication d’un vecteur par un scalaire

2.6.1Règles officielles d’algèbre linéaire

2.6.2Interprétation géométrique

2.7Addition et soustraction de vecteurs

2.7.1Règles officielles d’algèbre linéaire

2.7.2Interprétation géométrique

2.7.3Vecteur déplacement d’un point à un autre

2.8Norme d’un vecteur (longueur)

2.8.1Règles officielles d’algèbre linéaire

2.8.2Interprétation géométrique

2.9Vecteurs unitaires

2.9.1Règles officielles d’algèbre linéaire

2.9.2Interprétation géométrique

2.10La formule de distance

2.11Produit scalaire de vecteurs

2.11.1Règles officielles d’algèbre linéaire

2.11.2Interprétation géométrique

2.12Produit vectoriel

2.12.1Règles officielles d’algèbre linéaire

2.12.2Interprétation géométrique

2.13Identités d’algèbre linéaire

2.14Exercices

3Espaces de coordonnées multiples

3.1Pourquoi se préoccuper de plusieurs espaces de coordonnées ?

3.2Quelques espaces de coordonnées utiles

3.2.1Espace monde

3.2.2Espace objet

3.2.3Espace caméra

3.2.4Espace droit

3.3Vecteurs de base et transformations d’espaces de coordonnées

3.3.1Double perspective

3.3.2Spécifier des espaces de coordonnées

3.3.3Vecteurs de base

3.4Espaces de coordonnées imbriqués

3.5Pour la défense de l’espace droit

3.6Exercices

4Introduction aux matrices

4.1Définition mathématique d’une matrice

4.1.1Dimensions et notation des matrices

4.1.2Matrices carrées

4.1.3Vecteurs en tant que matrices

4.1.4Transposition d’une matrice

4.1.5Multiplication d’une matrice par un scalaire

4.1.6Multiplication de deux matrices

4.1.7Multiplication d’un vecteur et d’une matrice

4.1.8Vecteurs ligne versus vecteurs colonne

4.2Interprétation géométrique d’une matrice

4.3Vue d’ensemble de l’algèbre linéaire

4.4Exercices

5Matrices et transformations linéaires

5.1Rotation

5.1.1Rotation en 2D

5.1.2Rotation 3D autour des axes cardinaux

5.1.3Rotation 3D autour d’un axe arbitraire

5.2Mise à l’échelle

5.2.1Mise à l’échelle le long des axes cardinaux

5.2.2Mise à l’échelle dans une direction arbitraire

5.3Projection orthographique

5.3.1Projection sur un axe ou plan cardinal

5.3.2Projection sur une droite ou un plan arbitraire

5.4Réflexion

5.5Cisaillement

5.6Combinaison de transformations

5.7Classes de transformations

5.7.1Transformations linéaires

5.7.2Transformations affines

5.7.3Transformations inversibles

5.7.4Transformations conservant les angles

5.7.5Transformations orthogonales

5.7.6Transformations de corps rigide

5.7.7Résumé des types de transformations

5.8Exercices

6Complément sur les matrices

6.1Déterminant d’une matrice

6.1.1Déterminants des matrices 2×22 \times 2 et 3×33 \times 3

6.1.2Mineurs et cofacteurs

6.1.3Déterminants des matrices 𝐧×𝐧\mathbf{n} \times \mathbf{n} arbitraires

6.1.4Interprétation géométrique du déterminant

6.2Inverse d’une matrice

6.2.1L’adjoint classique

6.2.2Inverse d’une matrice — règles officielles d’algèbre linéaire

6.2.3Inverse d’une matrice — interprétation géométrique

6.3Matrices orthogonales

6.3.1Matrices orthogonales — règles officielles d’algèbre linéaire

6.3.2Matrices orthogonales — interprétation géométrique

6.3.3Orthogonalisation d’une matrice

6.4 Matrices homogènes 4×44 \times 4

6.4.1Espace homogène 4D

6.4.2 Matrices de translation 4×44 \times 4

6.4.3Transformations affines générales

6.5 Matrices 4×44 \times 4 et projection en perspective

6.5.1Un sténopé

6.5.2Matrices de projection en perspective

6.6Exercices

7Systèmes de coordonnées polaires

7.1Espace polaire 2D

7.1.1Localiser des points à l’aide de coordonnées polaires 2D

7.1.2Ambiguïté

7.1.3Conversion entre coordonnées cartésiennes et polaires en 2D

7.2Pourquoi utiliser les coordonnées polaires ?

7.3Espace polaire 3D

7.3.1Coordonnées cylindriques

7.3.2Coordonnées sphériques

7.3.3Quelques conventions polaires utiles dans les mondes virtuels 3D

7.3.4Ambiguïté des coordonnées sphériques

7.3.5Conversion entre coordonnées sphériques et cartésiennes

7.4Utiliser les coordonnées polaires pour spécifier des vecteurs

7.5Exercices

8Rotation en trois dimensions

8.1Qu’est-ce exactement que l’« orientation » ?

8.2Forme matricielle

8.2.1Quelle matrice ?

8.2.2Matrice des cosinus directeurs

8.2.3Avantages de la forme matricielle

8.2.4Inconvénients de la forme matricielle

8.2.5Résumé de la forme matricielle

8.3Angles d’Euler

8.3.1Que sont les angles d’Euler ?

8.3.2Autres conventions pour les angles d’Euler

8.3.3Avantages des angles d’Euler

8.3.4Inconvénients des angles d’Euler

8.3.5Résumé des angles d’Euler

8.4Représentations axe-angle et carte exponentielle

8.5Quaternions

8.5.1Notation des quaternions

8.5.2Que signifient ces quatre nombres ?

8.5.3Négation des quaternions

8.5.4Quaternion(s) identité

8.5.5Norme d’un quaternion

8.5.6Conjugué et inverse d’un quaternion

8.5.7Multiplication de quaternions

8.5.8« Différence » de quaternions

8.5.9Produit scalaire de quaternions

8.5.10Logarithme, exponentielle et multiplication par un scalaire pour les quaternions

8.5.11Exponentiation des quaternions

8.5.12Interpolation de quaternions, a.k.a. Slerp

8.5.13Avantages et inconvénients des quaternions

8.5.14Les quaternions comme nombres complexes

8.5.15Résumé des quaternions

8.6Comparaison des méthodes

8.7Conversion entre les représentations

8.7.1Conversion des angles d’Euler en matrice

8.7.2Conversion d’une matrice en angles d’Euler

8.7.3Conversion d’un quaternion en matrice

8.7.4Conversion d’une matrice en quaternion

8.7.5Conversion des angles d’Euler en quaternion

8.7.6Conversion d’un quaternion en angles d’Euler

8.8Exercices

9Primitives géométriques

9.1Techniques de représentation

9.2Droites et rayons

9.2.1Rayons

9.2.2Représentations 2D spéciales des droites

9.2.3Conversion entre représentations

9.3Sphères et cercles

9.4Boîtes englobantes

9.4.1Représentation des AABB

9.4.2Calcul des AABB

9.4.3AABB versus sphères englobantes

9.4.4Transformation des AABB

9.5Plans

9.5.1L’équation du plan : une définition implicite d’un plan

9.5.2Définir un plan à l’aide de trois points

9.5.3Plan « meilleur ajustement » pour plus de trois points

9.5.4Distance d’un point à un plan

9.6Triangles

9.6.1Notation

9.6.2Aire d’un triangle

9.6.3Espace barycentrique

9.6.4Calcul des coordonnées barycentriques

9.6.5Points spéciaux

9.7Polygones

9.7.1Polygones simples versus complexes

9.7.2Polygones convexes versus concaves

9.7.3Triangulation et décomposition en éventail

9.8Exercices

10Sujets mathématiques
de la 3D graphique

10.1Comment fonctionne la synthèse d’images

10.1.1Les deux grandes approches du rendu

10.1.2Décrire les propriétés de surface : la BRDF

10.1.3Brève introduction à la colorimétrie et à la radiométrie

10.1.4L’équation de rendu

10.2Visualisation en 3D

10.2.1Spécifier la fenêtre de sortie

10.2.2Rapport d’aspect des pixels

10.2.3Le frustum de vue

10.2.4Champ de vision et zoom

10.2.5Projection orthographique

10.3Espaces de coordonnées

10.3.1Espaces modèle, monde et caméra

10.3.2Espace de découpe et matrice de découpe

10.3.3La matrice de découpe : préparation à la projection

10.3.4La matrice de découpe : application du zoom et préparation au découpage

10.3.5Espace écran

10.3.6Résumé des espaces de coordonnées

10.4Maillages polygonaux

10.4.1Maillage triangulaire indexé

10.4.2Normales de surface

10.5Placage de texture

10.6Le modèle d’éclairage local standard

10.6.1L’équation d’éclairage standard : vue d’ensemble

10.6.2La composante spéculaire

10.6.3La composante diffuse

10.6.4Les composantes ambiante et émissive

10.6.5L’équation d’éclairage : synthèse

10.6.6Limitations du modèle standard

10.6.7Rendu plat et ombrage de Gouraud

10.7Sources lumineuses

10.7.1Types de lumières abstraites standard

10.7.2Atténuation de la lumière

10.7.3 Lumières volumétriques à la Doom

10.7.4Éclairage précalculé

10.8Animation squelettale

10.9Bump mapping

10.9.1Espace tangent

10.9.2Calcul des vecteurs de base de l’espace tangent

10.10Le pipeline graphique en temps réel

10.10.1Tampons

10.10.2Envoi de la géométrie

10.10.3Opérations au niveau des sommets

10.10.4Découpage

10.10.5Élimination des faces arrière

10.10.6Rastérisation, ombrage et sortie

10.11Quelques exemples HLSL

10.11.1Ombrage décalé et bases du HLSL

10.11.2Éclairage Blinn-Phong basique par pixel

10.11.3Ombrage de Gouraud

10.11.4Bump mapping

10.11.5Maillage skinné

10.12Lectures complémentaires

10.13Exercices

11Mécanique 1 : cinématique linéaire et calcul infinitésimal

11.1Vue d’ensemble et autres remarques pour réduire les attentes

11.1.1Qu’est-ce qui est omis ?

11.1.2Quelques simplifications utiles sur notre univers

11.2Grandeurs et unités de base

11.3Vitesse moyenne

11.4Vitesse instantanée et dérivée

11.4.1Arguments de limite et définition de la dérivée

11.4.2Exemples de dérivées

11.4.3Calcul de dérivées à partir de la définition

11.4.4Notations pour la dérivée

11.4.5Quelques règles et raccourcis de dérivation

11.4.6Dérivées de quelques fonctions spéciales avec les séries de Taylor

11.4.7La règle de la chaîne

11.5Accélération

11.6Mouvement sous accélération constante

11.7L’intégrale

11.7.1Exemples d’intégrales

11.7.2La relation entre la dérivée et l’intégrale

11.7.3Résumé du calcul infinitésimal

11.8Mouvement circulaire uniforme

11.8.1Mouvement circulaire uniforme dans le plan

11.8.2Mouvement circulaire uniforme en trois dimensions

11.9Exercices

12Mécanique 2 : dynamique linéaire et rotationnelle

12.1Les trois lois de Newton

12.1.1Les deux premières lois de Newton : force et masse

12.1.2Référentiels inertiels

12.1.3La troisième loi de Newton

12.2Quelques lois de force simples

12.2.1Force gravitationnelle

12.2.2Forces de frottement

12.2.3Forces de ressort

12.3Quantité de mouvement

12.3.1Conservation de la quantité de mouvement

12.3.2Le centre de masse

12.4Forces impulsives et collisions

12.4.1Collisions parfaitement inélastiques

12.4.2Réponse aux collisions en général

12.4.3Le delta de Dirac

12.5Dynamique rotationnelle

12.5.1Cinématique rotationnelle

12.5.2Dynamique rotationnelle en 2D

12.5.3Dynamique rotationnelle en 3D

12.5.4Réponse aux collisions avec rotations

12.6Simulateurs de corps rigides en temps réel

12.6.1Variables d’état du moteur physique

12.6.2Vue d’ensemble de haut niveau

12.6.3Intégration d’Euler

12.6.4Intégration de la rotation

12.7Lectures suggérées

12.8Exercices

13Courbes en 3D

13.1Courbes polynomiales paramétriques

13.1.1Courbes paramétriques

13.1.2Courbes polynomiales

13.1.3Notation matricielle

13.1.4Deux types triviaux de courbes

13.1.5Extrémités en forme monomiale

13.1.6Vitesses et tangentes

13.2Interpolation polynomiale

13.2.1Algorithme d’Aitken

13.2.2Polynômes de base de Lagrange

13.2.3Résumé de l’interpolation polynomiale

13.3Courbes d’Hermite

13.4Courbes de Bézier

13.4.1L’algorithme de de Casteljau

13.4.2La base de Bernstein

13.4.3Dérivées de Bézier et leur relation avec la forme d’Hermite

13.5Subdivision

13.5.1Subdivision de courbes en forme monomiale

13.5.2Subdivision de courbes en forme de Bézier

13.6Splines

13.6.1Les règles du jeu

13.6.2Nœuds

13.7Splines d’Hermite et de Bézier

13.8Continuité

13.8.1Continuité paramétrique

13.8.2Continuité géométrique

13.8.3Jusqu’où peut-on lisser une courbe ?

13.9Contrôle automatique des tangentes

13.9.1Splines de Catmull-Rom

13.9.2Splines TCB

13.9.3Conditions aux extrémités

13.10Exercices

14Postface

14.1Et maintenant ?

14.2Exercices

ATests géométriques

A.1Point le plus proche sur une droite implicite 2D

A.2Point le plus proche sur un rayon paramétrique

A.3Point le plus proche sur un plan

A.4Point le plus proche sur un cercle ou une sphère

A.5Point le plus proche dans une AABB

A.6Tests d’intersection

A.7Intersection de deux droites implicites en 2D

A.8Intersection de deux rayons en 3D

A.9Intersection d’un rayon et d’un plan

A.10Intersection d’une AABB et d’un plan

A.11Intersection de trois plans

A.12Intersection d’un rayon et d’un cercle ou d’une sphère

A.13Intersection de deux cercles ou sphères

A.14Intersection d’une sphère et d’une AABB

A.15Intersection d’une sphère et d’un plan

A.16Intersection d’un rayon et d’un triangle

A.17Intersection de deux AABB

A.18Intersection d’un rayon et d’une AABB

BRéponses aux exercices

B.1Chapitre 1

B.2Chapitre 2

B.3Chapitre 3

B.4Chapitre 4

B.5Chapitre 5

B.6Chapitre 6

B.7Chapitre 7

B.8Chapitre 8

B.9Chapitre 9

B.10Chapitre 10

B.11Chapitre 11

B.12Chapitre 12

B.13Chapitre 13

B.14Chapitre 14

Tant de temps, et si peu à faire !
Non, inversez ça.

— Willy Wonka