
Les mathématiques du jeu de Lee Deuk-woo
Description
Introduction au livre
Passons en revue un par un 39 exemples pratiques de programmation de jeux avec rendu en temps réel. Le monde passionnant des mathématiques du jeu que les lecteurs peuvent découvrir par eux-mêmes ! Ce que les développeurs de jeux et les graphistes se demandent Principes mathématiques et techniques appliquées pour la mise en œuvre de mondes virtuels 3D et du métavers ! Tout ce que vous devez savoir sur les mathématiques du jeu vidéo pour les développeurs et les artistes à la recherche d'un emploi ou d'une reconversion professionnelle ! Ce livre propose une explication conviviale des bases de l'algèbre linéaire pour les débutants, et présente les principes des mathématiques du jeu et leurs applications nécessaires à la création d'espaces et de personnages tridimensionnels pour les utilisateurs intermédiaires. Ce livre ne se contente pas d'expliquer la théorie ; vous pouvez apprendre les principes de base et la structure des moteurs de jeu en créant votre propre moteur de jeu grâce à 39 exemples détaillés. |
- Vous pouvez consulter un aperçu du contenu du livre.
Aperçu
indice
Chapitre 1 : Les mathématiques du jeu qui sous-tendent le métavers
1.1 Nouveaux changements induits par le métavers
1.2 Structure du moteur de jeu
1.3 Structure des mathématiques du jeu
1.4 Création d'un environnement de pratique pour ce livre
__1.4.1 Configuration d'un exemple pratique
1.4.2 Configuration de l'environnement de développement
__1.4.3 Compilation du code source
__1.4.4 Composition du code source
1.5 Résumé
Partie 1 | Créer un monde virtuel
Chapitre 2 : Nombre : La plus petite unité qui compose le monde virtuel
2.1 Nombres et ensembles
2.1.1 Opérations et structure numérique
__2.1.2 Structure des nombres
__2.1.3 Représentation des nombres
2.2 Fonction
2.2.1 Concept et types de fonctions
__2.2.2 Fonctions composites
__2.2.3 Fonction identité et fonction inverse
2.2.4 Extension du plan cartésien à l'aide d'ensembles produits
2.3 Résumé
Chapitre 3 Vecteurs : La naissance de l'espace virtuel
3.1 Système de coordonnées cartésiennes
3.2 Espaces vectoriels et vecteurs
__3.2.1 Scalaires et vecteurs
3.2.2 Opérations sur les espaces vectoriels
3.2.3 Taille et mouvement des vecteurs
3.3 Combinaison et création de vecteurs
3.4 Résumé
Chapitre 4 Trigonométrie : Les mathématiques de la rotation
4.1 Fonctions trigonométriques
4.1.1 Propriétés des fonctions trigonométriques
4.1.2 Méthode de mesure des angles
4.2 Rotation d'objets à l'aide de la trigonométrie
4.3 Fonctions inverses des fonctions trigonométriques
4.4 Système de coordonnées polaires
4.5 Résumé
Chapitre 5 : Matrices : outils de transformation pour les mondes virtuels
5.1 Linéarité : Une relation proportionnelle prévisible
5.1.1 Fonctions linéaires
5.1.2 Transformations linéaires des espaces vectoriels
5.2 Matrice
5.2.1 Opérations matricielles de base
__5.2.2 Multiplication matricielle
__5.2.3 Multiplication de matrices carrées
5.3 Conception matricielle
5.3.1 Matrice de transformation de taille
5.3.2 Matrice de transformation de rotation
5.3.3 Matrice de transformation de cisaillement
5.3.4 Théorème d'addition des fonctions trigonométriques
5.4 Matrice inverse
5.4.1 Déterminant qui détermine l'existence d'une matrice inverse
5.4.2 Matrice inverse de la matrice de transformation de taille
5.4.3 Inverse de la matrice de transformation de cisaillement
5.4.4 Matrice inverse de la matrice de transformation de rotation
5.4.5 Inverse de la multiplication matricielle
5.5 Résumé
Partie 2 | Les bases de la création de contenu
Chapitre 6 : Espace affine : Construire des mondes virtuels mobiles
6.1 Espace affine pour les transformations
6.2 Composantes d'un espace affine
__6.2.1 points
6.2.2 Vecteur de mouvement
6.2.3 Propriétés des espaces affines
6.3 Combinaison affine
6.3.1 Jonction de deux points
6.4 Algorithme de tracé de lignes
6.4.1 Représentation d'un vecteur par un point sur l'écran
6.4.2 Algorithme de tracé de lignes
__6.4.3 Algorithme de découpage de lignes
6.5 Résumé
Chapitre 7 : Produits scalaires : Analyse et applications des espaces vectoriels
7.1 Produit scalaire de vecteurs
7.1.1 Propriétés du produit scalaire
7.1.2 Relation entre les produits scalaires et les fonctions trigonométriques
7.1.3 Exprimer la multiplication matricielle sous forme de produit scalaire
7.2 Détermination du champ de vision
7.2.1 Détermination de l'avant et de l'arrière
7.2.2 Détermination du champ de vision
7.3 Mise en œuvre des effets lumineux
7.4 Vecteur de projection
7.5 Résumé
Chapitre 8 Triangles : Les plus petites unités qui composent les objets
8.1 Combinaison de trois points
8.2 Messi
8.3 Coordonnées du centre de gravité
8.3.1 Calcul des coordonnées du centre de gravité
8.3.2 Utilisation d'informations supplémentaires définies au sommet
8.4 Application de texture
8.5 Résumé
Chapitre 9 Moteurs de jeu : L’art de créer du contenu
9.1 Composants du moteur de jeu
__9.1.1 Structure de la scène
9.1.2 Conception de la matrice de modélisation
9.1.3 Espace local et axe local
__9.1.4 Gestion des ressources
9.2 Flux de travail du moteur de jeu
__9.2.1 Flux de travail du moteur de rendu CK Soft
__9.2.2 Pipeline de rendu
Système de caméra 9.3
__9.3.1 Caméra dans l'espace virtuel
9.4 Résumé
Partie 3 | Création de contenu 3D
Chapitre 10 Espace tridimensionnel : Création de l'espace tridimensionnel
10.1 Conception de l'espace tridimensionnel
10.2 Transformation dans l'espace 3D
__10.2.1 Angles d'Euler
10.2.2 Dérivation de la matrice de rotation
__10.2.3 Matrice de modélisation 3D
10.3 Espace caméra
10.4 Caractéristiques des angles d'Euler
10.4.1 Phénomène de blocage de cardan
__10.4.2 Calcul de l'interpolation rotationnelle
10.5 Résumé
Chapitre 11 : Produits vectoriels : analyse et applications dans l'espace tridimensionnel
11.1 Produit vectoriel de vecteurs
__11.1.1 Détermination du parallélisme
__11.1.2 Vecteur normal
11.1.3 Déterminer la direction gauche et droite
11.2 Création d'une matrice de rotation à partir d'un vecteur
11.3 L'élimination des faces arrière réduit les calculs de rendu
11.4 Formule de rotation de Rodriguez pour la résolution des problèmes d'angles d'Euler
11,5 Produit triple
__11.5.1 Produit triple scalaire
__11.5.2 Produit triple vectoriel
11.6 Résumé
Chapitre 12 Projection en perspective : des transformations qui donnent vie à votre écran
12.1 Principes de transformation de la projection perspective
12.2 Système de coordonnées homogènes
Valeur de profondeur 12,3
12.4 Cartographie de correction de perspective
Tampon de profondeur de 12,5
12.6 Résumé
Chapitre 13 Troncs de Tronc : Espace tridimensionnel optimisé
13.1 Élimination du tronc de cône
13.1.1 Équations du plan
13.1.2 Normalisation des équations du plan
13.1.3 Représentation d'un tronc de cône à l'aide de l'équation du plan
13.1.4 Établissement de l'équation du plan à partir de la matrice de projection perspective
13.2 Volume englobant
13.2.1 Détermination du volume englobant une sphère
__13.2.2 Jugement avec AABB
13.3 Découpage triangulaire
13.4 Résumé
Partie 4 | Mathématiques et caractères à quatre dimensions
Chapitre 14 Nombres complexes : Nombres dans le plan bidimensionnel
14.1 Nombres complexes
__14.1.1 Nombre imaginaire
14.1.2 Structure des nombres complexes
14.2 Plan complexe
__14.2.1 Produit avec un nombre complexe unitaire
14.2.1 Rotation des nombres complexes conjugués
14.3 Relation entre les nombres complexes et les matrices
14.4 Résumé
Chapitre 15 Formule d'Euler : Transformations rotationnelles exprimées en nombres imaginaires
15.1 Fonction exponentielle naturelle
__15.1.1 Nombre irrationnel e
15.1.2 Fonction exponentielle naturelle
15.2 Différenciation
15.2.1 Produits dérivés
15.2.2 Dérivée de la fonction exponentielle naturelle
15.2.3 Dérivées des fonctions sinus et cosinus
Série 15.3
15.3.1 Suite géométrique
Série __15.3.2
__15.3.3 Série Maclaurin
15.4 Formule d'Euler
15.5 Résumé
Chapitre 16 : Quaternions : Rotations 3D conçues à l’aide de nombres à quatre dimensions
16.1 Algèbre des quaternions
__16.1.1 Trois nombres imaginaires qui composent un quaternion
__16.1.2 Structure du numéro du temple
__16.1.3 Quaternions et vecteurs
16.2 Rotation du quaternion
16.2.1 Quaternions et formule d'Euler
16.2.2 Rotation dans l'espace tridimensionnel à l'aide de quaternions de rotation
16.3 Transformation des quaternions
16.3.1 Conversion des angles d'Euler en quaternions
__16.3.2 Conversion des quaternions en angles d'Euler
__16.3.3 Transformation des quaternions en matrices de transformation de rotation
__16.3.4 Transformation de la matrice de rotation en quaternion
16.4 Interpolation des quaternions
16.5 Utilisation du nombre d'employés
16.6 Résumé
Chapitre 17 : Les personnages : l’art de donner vie aux jeux
17.1 Animation squelettique
17.2 Hiérarchie de transformation
__17.2.1 Transformation de la hiérarchie des transformations
__17.2.2 Calcul de la transformation du monde à partir de la transformation locale
__17.2.3 Calcul de la transformation locale à partir de la transformation globale
17.3 Maillage et animation du personnage
17.4 Résumé
1.1 Nouveaux changements induits par le métavers
1.2 Structure du moteur de jeu
1.3 Structure des mathématiques du jeu
1.4 Création d'un environnement de pratique pour ce livre
__1.4.1 Configuration d'un exemple pratique
1.4.2 Configuration de l'environnement de développement
__1.4.3 Compilation du code source
__1.4.4 Composition du code source
1.5 Résumé
Partie 1 | Créer un monde virtuel
Chapitre 2 : Nombre : La plus petite unité qui compose le monde virtuel
2.1 Nombres et ensembles
2.1.1 Opérations et structure numérique
__2.1.2 Structure des nombres
__2.1.3 Représentation des nombres
2.2 Fonction
2.2.1 Concept et types de fonctions
__2.2.2 Fonctions composites
__2.2.3 Fonction identité et fonction inverse
2.2.4 Extension du plan cartésien à l'aide d'ensembles produits
2.3 Résumé
Chapitre 3 Vecteurs : La naissance de l'espace virtuel
3.1 Système de coordonnées cartésiennes
3.2 Espaces vectoriels et vecteurs
__3.2.1 Scalaires et vecteurs
3.2.2 Opérations sur les espaces vectoriels
3.2.3 Taille et mouvement des vecteurs
3.3 Combinaison et création de vecteurs
3.4 Résumé
Chapitre 4 Trigonométrie : Les mathématiques de la rotation
4.1 Fonctions trigonométriques
4.1.1 Propriétés des fonctions trigonométriques
4.1.2 Méthode de mesure des angles
4.2 Rotation d'objets à l'aide de la trigonométrie
4.3 Fonctions inverses des fonctions trigonométriques
4.4 Système de coordonnées polaires
4.5 Résumé
Chapitre 5 : Matrices : outils de transformation pour les mondes virtuels
5.1 Linéarité : Une relation proportionnelle prévisible
5.1.1 Fonctions linéaires
5.1.2 Transformations linéaires des espaces vectoriels
5.2 Matrice
5.2.1 Opérations matricielles de base
__5.2.2 Multiplication matricielle
__5.2.3 Multiplication de matrices carrées
5.3 Conception matricielle
5.3.1 Matrice de transformation de taille
5.3.2 Matrice de transformation de rotation
5.3.3 Matrice de transformation de cisaillement
5.3.4 Théorème d'addition des fonctions trigonométriques
5.4 Matrice inverse
5.4.1 Déterminant qui détermine l'existence d'une matrice inverse
5.4.2 Matrice inverse de la matrice de transformation de taille
5.4.3 Inverse de la matrice de transformation de cisaillement
5.4.4 Matrice inverse de la matrice de transformation de rotation
5.4.5 Inverse de la multiplication matricielle
5.5 Résumé
Partie 2 | Les bases de la création de contenu
Chapitre 6 : Espace affine : Construire des mondes virtuels mobiles
6.1 Espace affine pour les transformations
6.2 Composantes d'un espace affine
__6.2.1 points
6.2.2 Vecteur de mouvement
6.2.3 Propriétés des espaces affines
6.3 Combinaison affine
6.3.1 Jonction de deux points
6.4 Algorithme de tracé de lignes
6.4.1 Représentation d'un vecteur par un point sur l'écran
6.4.2 Algorithme de tracé de lignes
__6.4.3 Algorithme de découpage de lignes
6.5 Résumé
Chapitre 7 : Produits scalaires : Analyse et applications des espaces vectoriels
7.1 Produit scalaire de vecteurs
7.1.1 Propriétés du produit scalaire
7.1.2 Relation entre les produits scalaires et les fonctions trigonométriques
7.1.3 Exprimer la multiplication matricielle sous forme de produit scalaire
7.2 Détermination du champ de vision
7.2.1 Détermination de l'avant et de l'arrière
7.2.2 Détermination du champ de vision
7.3 Mise en œuvre des effets lumineux
7.4 Vecteur de projection
7.5 Résumé
Chapitre 8 Triangles : Les plus petites unités qui composent les objets
8.1 Combinaison de trois points
8.2 Messi
8.3 Coordonnées du centre de gravité
8.3.1 Calcul des coordonnées du centre de gravité
8.3.2 Utilisation d'informations supplémentaires définies au sommet
8.4 Application de texture
8.5 Résumé
Chapitre 9 Moteurs de jeu : L’art de créer du contenu
9.1 Composants du moteur de jeu
__9.1.1 Structure de la scène
9.1.2 Conception de la matrice de modélisation
9.1.3 Espace local et axe local
__9.1.4 Gestion des ressources
9.2 Flux de travail du moteur de jeu
__9.2.1 Flux de travail du moteur de rendu CK Soft
__9.2.2 Pipeline de rendu
Système de caméra 9.3
__9.3.1 Caméra dans l'espace virtuel
9.4 Résumé
Partie 3 | Création de contenu 3D
Chapitre 10 Espace tridimensionnel : Création de l'espace tridimensionnel
10.1 Conception de l'espace tridimensionnel
10.2 Transformation dans l'espace 3D
__10.2.1 Angles d'Euler
10.2.2 Dérivation de la matrice de rotation
__10.2.3 Matrice de modélisation 3D
10.3 Espace caméra
10.4 Caractéristiques des angles d'Euler
10.4.1 Phénomène de blocage de cardan
__10.4.2 Calcul de l'interpolation rotationnelle
10.5 Résumé
Chapitre 11 : Produits vectoriels : analyse et applications dans l'espace tridimensionnel
11.1 Produit vectoriel de vecteurs
__11.1.1 Détermination du parallélisme
__11.1.2 Vecteur normal
11.1.3 Déterminer la direction gauche et droite
11.2 Création d'une matrice de rotation à partir d'un vecteur
11.3 L'élimination des faces arrière réduit les calculs de rendu
11.4 Formule de rotation de Rodriguez pour la résolution des problèmes d'angles d'Euler
11,5 Produit triple
__11.5.1 Produit triple scalaire
__11.5.2 Produit triple vectoriel
11.6 Résumé
Chapitre 12 Projection en perspective : des transformations qui donnent vie à votre écran
12.1 Principes de transformation de la projection perspective
12.2 Système de coordonnées homogènes
Valeur de profondeur 12,3
12.4 Cartographie de correction de perspective
Tampon de profondeur de 12,5
12.6 Résumé
Chapitre 13 Troncs de Tronc : Espace tridimensionnel optimisé
13.1 Élimination du tronc de cône
13.1.1 Équations du plan
13.1.2 Normalisation des équations du plan
13.1.3 Représentation d'un tronc de cône à l'aide de l'équation du plan
13.1.4 Établissement de l'équation du plan à partir de la matrice de projection perspective
13.2 Volume englobant
13.2.1 Détermination du volume englobant une sphère
__13.2.2 Jugement avec AABB
13.3 Découpage triangulaire
13.4 Résumé
Partie 4 | Mathématiques et caractères à quatre dimensions
Chapitre 14 Nombres complexes : Nombres dans le plan bidimensionnel
14.1 Nombres complexes
__14.1.1 Nombre imaginaire
14.1.2 Structure des nombres complexes
14.2 Plan complexe
__14.2.1 Produit avec un nombre complexe unitaire
14.2.1 Rotation des nombres complexes conjugués
14.3 Relation entre les nombres complexes et les matrices
14.4 Résumé
Chapitre 15 Formule d'Euler : Transformations rotationnelles exprimées en nombres imaginaires
15.1 Fonction exponentielle naturelle
__15.1.1 Nombre irrationnel e
15.1.2 Fonction exponentielle naturelle
15.2 Différenciation
15.2.1 Produits dérivés
15.2.2 Dérivée de la fonction exponentielle naturelle
15.2.3 Dérivées des fonctions sinus et cosinus
Série 15.3
15.3.1 Suite géométrique
Série __15.3.2
__15.3.3 Série Maclaurin
15.4 Formule d'Euler
15.5 Résumé
Chapitre 16 : Quaternions : Rotations 3D conçues à l’aide de nombres à quatre dimensions
16.1 Algèbre des quaternions
__16.1.1 Trois nombres imaginaires qui composent un quaternion
__16.1.2 Structure du numéro du temple
__16.1.3 Quaternions et vecteurs
16.2 Rotation du quaternion
16.2.1 Quaternions et formule d'Euler
16.2.2 Rotation dans l'espace tridimensionnel à l'aide de quaternions de rotation
16.3 Transformation des quaternions
16.3.1 Conversion des angles d'Euler en quaternions
__16.3.2 Conversion des quaternions en angles d'Euler
__16.3.3 Transformation des quaternions en matrices de transformation de rotation
__16.3.4 Transformation de la matrice de rotation en quaternion
16.4 Interpolation des quaternions
16.5 Utilisation du nombre d'employés
16.6 Résumé
Chapitre 17 : Les personnages : l’art de donner vie aux jeux
17.1 Animation squelettique
17.2 Hiérarchie de transformation
__17.2.1 Transformation de la hiérarchie des transformations
__17.2.2 Calcul de la transformation du monde à partir de la transformation locale
__17.2.3 Calcul de la transformation locale à partir de la transformation globale
17.3 Maillage et animation du personnage
17.4 Résumé
Image détaillée

Avis de l'éditeur
| Public cible de ce livre |
- Les développeurs qui souhaitent créer leur propre monde virtuel 3D que les utilisateurs peuvent contrôler librement.
- Les développeurs de jeux qui souhaitent créer leur propre moteur de jeu
- Artiste technique curieux des principes de la visualisation vectorielle à l'écran
- Étudiants, développeurs et artistes souhaitant apprendre les bases de l'algèbre linéaire, notamment les vecteurs et les matrices.
- Étudiants, développeurs et artistes souhaitant apprendre les théories fondamentales liées à l'infographie 3D
- Les développeurs de jeux vidéo curieux de connaître le système des quaternions utilisé par les moteurs de jeu et son mode d'implémentation.
| Structure de ce livre |
Ce livre s'adresse à ceux qui souhaitent apprendre ou revoir les bases des mathématiques, ou encore aux développeurs de jeux et aux graphistes qui ont renoncé aux mathématiques.
Le contenu principal relève de l'algèbre linéaire, mais plus précisément de l'algèbre linéaire spécialisée dans l'infographie.
Ce livre est divisé en quatre parties, organisées de manière séquentielle, commençant par la partie 1 et augmentant progressivement en exhaustivité, pour se terminer par la partie 4.
Le chapitre 1, « Les mathématiques du jeu au service du métavers », qui ouvre le livre, explique pourquoi les mathématiques du jeu sont nécessaires dans le monde d'Internet, qui évoluera ensuite vers le métavers.
La première partie, « Construire un monde virtuel », aborde la structure de l'espace virtuel créé à partir de l'ordre numérique et le concept de transformation dans cet espace, permettant ainsi de modifier l'ordre spatial à volonté. Le chapitre 2, « Les nombres : la plus petite unité constituant un monde virtuel », définit la structure des nombres à partir d'axiomes, c'est-à-dire des propositions évidentes qui ne nécessitent aucune démonstration, et présente les concepts et opérations de base des fonctions.
Le chapitre 3, « Vecteur : la naissance de l’espace virtuel », définit l’espace vectoriel et étudie les opérations et divers concepts basés sur l’espace vectoriel bidimensionnel pour jeter les bases de la construction d’un monde virtuel.
Dans le chapitre 4, « Fonctions trigonométriques : mathématiques pour la rotation », nous apprendrons les fonctions trigonométriques essentielles pour les transformations rotationnelles des espaces vectoriels.
Le chapitre 5, le dernier chapitre de la partie 1, « Matrice : un outil de transformation pour les mondes virtuels », se conclut en établissant le concept de transformation linéaire et en apprenant comment transformer les espaces vectoriels à l'aide de matrices.
Dans la partie 2, « Bases de la création de contenu », nous définissons l’espace affine, un espace qui contient du contenu, sur la base de la théorie mathématique décrite dans la partie 1, et nous examinons les méthodes d’implémentation nécessaires à la création d’un jeu 2D dans l’espace affine.
Le chapitre 6, « Espace affine : construire des mondes virtuels mobiles », examine les espaces affines et leurs composantes, qui prennent en charge les transformations de translation, de rotation et d'échelle sous la forme de transformations linéaires.
Les points définis dans un espace affine se rejoignent pour former une ligne, et un algorithme permettant de tracer efficacement des lignes sur ordinateur est également présenté.
Dans le chapitre 7, « Produit scalaire : analyse et applications des espaces vectoriels », nous apprendrons le produit scalaire, une opération qui peut être utilisée pour analyser les espaces vectoriels et l'appliquer à diverses situations, ainsi que ses applications.
Après avoir établi les bases mathématiques nécessaires à la création de contenu dans les chapitres 6 et 7, le chapitre 8, « Triangle : la plus petite unité constituant un objet », couvre les méthodes de formation d'objets dans l'espace virtuel basées sur des triangles définis mathématiquement.
Le chapitre 9, « Moteur de jeu : la technologie de création de contenu », présente la structure d'un moteur de jeu qui rassemble divers objets dans un espace et gère la caméra, ainsi que le flux de travail pour dessiner du contenu en temps réel.
La partie 3, « Création de contenu 3D », traite de l'extension à la 3D de la structure du moteur de jeu 2D abordée dans la partie 2.
Le chapitre 10, « Espace 3D : Création d'un espace stéréoscopique », explique comment concevoir un espace 3D et ce qu'il faut prendre en compte lors de la mise en œuvre de la rotation et des transformations de caméra dans un espace 3D.
Au chapitre 11, « Produit extérieur : analyse et application à l’espace 3D », nous découvrons le produit extérieur, une opération permettant d’analyser et d’appliquer des propriétés à l’espace 3D. Nous examinerons différentes méthodes d’application utilisables dans l’espace 3D en utilisant le produit intérieur vu au chapitre 7.
Dans le chapitre 12, « Projection en perspective : des transformations qui donnent de la réalité à votre écran », vous apprendrez comment mettre en œuvre la perspective, un élément crucial pour exprimer un contenu tridimensionnel, et comment résoudre les nouveaux problèmes qu'elle engendre.
Et dans le dernier chapitre de la partie 3, chapitre 13, « Frustum : Espace 3D optimisé », les équations d'un plan sont introduites, et un espace fermé appelé frustum est défini mathématiquement en combinant plusieurs plans, puis une technique pour dessiner uniquement les objets visibles dans le champ de vision est abordée, concluant ainsi le moteur de jeu 3D.
La partie 4, « Mathématiques 4D et personnages », couvre les mathématiques et les méthodes de création de personnages pour implémenter de manière fiable les transformations de rotation dans le moteur de jeu 3D développé dans la partie 3.
Pour que la transformation dans l'espace tridimensionnel fonctionne correctement, la transformation de rotation doit être conçue à l'aide de quaternions, qui sont des nombres dans l'espace à quatre dimensions.
Les quaternions étant un sujet peu familier qui n'est pas abordé dans les cours d'algèbre linéaire universitaire ni dans les mathématiques industrielles, il n'existe pas suffisamment de manuels ou de ressources pour les étudier correctement.
Dans ce livre, comme condition préalable à la bonne compréhension des quaternions à partir de zéro, le chapitre 14, « Nombres complexes : nombres dans le plan bidimensionnel », traite des nombres complexes, et le chapitre 15, « Formule d'Euler : transformation rotationnelle exprimée avec des nombres imaginaires », traite de la formule d'Euler.
Sur cette base, le chapitre 16, « Quaternions : Rotation 3D conçue avec des nombres à 4 dimensions », explique la structure des quaternions puis résume les méthodes d'application nécessaires lors de leur application aux moteurs de jeu réels, complétant ainsi les fonctions de base d'un moteur de jeu 3D.
Enfin, le chapitre 17, « Personnages : l'art de donner vie aux jeux », le grand final du livre, explique comment implémenter des structures hiérarchiques dans les moteurs de jeu et comment les appliquer pour créer des personnages qui se déplacent dans l'espace virtuel.
| Environnement de développement pour l'utilisation de ce livre |
Le matériel de cours a été conçu pour être entièrement produit en programmation CPU sans utiliser de carte graphique GPU, permettant aux étudiants d'expérimenter et d'apprendre directement l'intégralité du processus de rendu basé sur les mathématiques.
Les programmes qui effectuent un rendu graphique sans utiliser de GPU sont généralement appelés « moteurs de rendu logiciel ». L'exemple présenté ici s'appelle CK Soft Renderer, du nom de l'établissement où je travaille. Fonctionnant exclusivement sur le CPU, CK Soft Renderer n'est pas idéal pour une utilisation pratique. Cependant, comme il permet de maîtriser l'intégralité du processus de rendu, il constitue un outil pédagogique précieux.
Pour améliorer la vitesse de rendu, nous avons utilisé le langage C++, dont la prise en main est relativement complexe, et créé des exemples basés sur Visual Studio 2022 et 2019 sous Windows 10.
Des compétences de base en programmation C++ sont nécessaires pour mettre en pratique les exemples, mais un exemple complet est également fourni afin que les lecteurs puissent vérifier les résultats même s'ils ne connaissent pas la programmation C++.
De plus, à la page suivante, vous pouvez voir d'un coup d'œil l'écran des résultats de l'exemple complet qui a exécuté les exemples pratiques de ce livre.
Même si vous ne connaissez pas grand-chose en programmation, vous comprendrez facilement comment les mathématiques sont utilisées dans le développement de jeux.
〈Aperçu de l'écran des résultats de l'exemple pratique〉
- https://bit.ly/math4game
[Note de l'auteur]
Avec l'émergence du mot-clé « métavers » comme nouveau sujet de discussion dans l'industrie Internet, la technologie utilisée pour créer des espaces virtuels 3D et des personnages virtuels suscite un intérêt croissant.
Ces technologies ont été initialement développées pour l'industrie du jeu vidéo, mais avec l'essor rapide du métavers, elles sont désormais largement utilisées non seulement dans la production de jeux, mais aussi dans divers domaines tels que le cinéma, le théâtre, les médias audiovisuels, les concerts et les centres commerciaux. Utilisées comme outils de production médiatique adaptés à la période de pandémie actuelle, elles s'étendent maintenant à tous les aspects de la politique, de l'économie, de la société et de la culture.
Un moteur de jeu est un logiciel de pointe qui intègre de manière optimale les technologies liées aux mondes virtuels et aux personnages virtuels.
Avec l'expansion de l'utilisation des moteurs de jeu ces dernières années, la demande d'espaces virtuels plus précis et plus avancés augmente également.
De plus, dans ce contexte, de nombreux développeurs pragmatiques prennent conscience de la nécessité des mathématiques.
Mais il n'y a pas beaucoup de gens qui aiment vraiment parler de mathématiques.
Nombreux sont ceux qui ont renoncé à l'apprentissage des mathématiques en milieu de scolarité en raison de l'enseignement mathématique basé sur l'apprentissage par cœur et la mémorisation, ou qui ont le sentiment que leurs compétences en mathématiques étaient supérieures à la moyenne pendant leur scolarité, mais que les connaissances mathématiques accumulées durant l'enfance déclinent progressivement en raison de la répétition de schémas de développement répétitifs sur le lieu de travail.
Moi aussi, j'étais comme ça.
C'est décourageant de devoir replonger dans les manuels de maths que j'utilisais au collège et au lycée pour rafraîchir mes souvenirs mathématiques un peu flous.
Je me surprends à me reprocher de ne pas avoir davantage étudié les mathématiques à l'école.
Cependant, ce n'est pas ma faute passée, mais celle du système d'enseignement des mathématiques qui repose sur l'apprentissage par cœur dans le seul but de préparer les examens d'entrée.
Pour vous faire part de mon expérience, je m'ennuyais de la tâche répétitive de création de contenu sur un moteur de jeu, alors j'ai décidé de créer mon propre moteur de jeu, et c'est là que j'ai réalisé le besoin en mathématiques.
Dès lors, j'ai commencé à démêler les nœuds de mon cerveau engourdi, un à un, grâce à divers livres de mathématiques, des sites Wikipédia et des informations trouvées sur Internet.
En essayant de retrouver mon sens des mathématiques à ma manière, j'ai réalisé :
Mon moi passé n'a rien fait de mal.
Si je devais pointer du doigt mon propre défaut, ce serait que je ne savais pas utiliser les mathématiques et que j'essayais simplement de trouver les réponses aux problèmes comme les autres me le disaient.
Maintenant que j'y pense, l'ordre était incorrect.
Avant d'apprendre les mathématiques, le plus important était de décider ce que je voulais faire.
Par conséquent, ce livre n'est ni un manuel général couvrant la théorie mathématique générale, ni un ouvrage de mathématiques spécialisé traitant d'un domaine spécifique en profondeur.
Les problèmes impliquant la résolution d'équations complexes, fréquents dans les manuels de mathématiques, ne figurent pas dans ce livre.
L'objectif principal de ce livre est de fournir une introduction pratique aux concepts mathématiques nécessaires à l'affichage sur un écran de moniteur pour les personnes intéressées par le développement de jeux et l'infographie.
Cela reflète le sentiment de désarroi que j'ai éprouvé par le passé lorsque j'ai essayé de reprendre les mathématiques.
Pour écrire ce livre, j'ai d'abord créé un exemple appelé CK Soft Renderer, qui montre des personnages virtuels dans un espace virtuel sous leur forme la plus simple.
Après cela, j'ai procédé à rebours, en organisant et en consignant les éléments mathématiques essentiels à la création d'exemples, et ce n'est qu'après avoir atteint le bas de l'échelle des axiomes mathématiques que j'ai pu créer la table des matières du livre.
Bien que j'aurais pu inclure de nombreux exemples ludiques et spectaculaires liés à la production de jeux, j'ai déjà consacré une large place à l'explication des principes mathématiques et de leurs applications. Le sujet de cet ouvrage étant les mathématiques du jeu, j'ai conçu les exemples pratiques pour qu'ils soient aussi simples que possible, afin de privilégier l'étude des principes fondamentaux. (Les lecteurs intéressés par les principes de l'infographie permettant de créer des mouvements réalistes et dynamiques ainsi que des effets visuels saisissants sont invités à consulter d'autres ouvrages.)
Lors de la rédaction de la première ébauche de ce livre, j'ai pu confirmer que mes efforts n'avaient pas été vains puisque j'ai enseigné pendant deux semestres des cours basés sur son contenu.
Les élèves qui craignaient autrefois les mathématiques ne les trouvent plus difficiles, et ils sont désormais capables de créer librement des personnages virtuels en utilisant les théories mathématiques qu'ils ont apprises.
Je n'exagère pas en disant que le contenu de ce livre est très facile.
Le processus de compréhension et d'intériorisation de l'intégralité du contenu d'un livre peut être ardu.
Le chemin ne sera pas facile, mais je serais profondément récompensé en tant qu'auteur si les lecteurs pouvaient éprouver un sentiment de libération des mathématiques grâce à ce livre.
Je vous souhaite le meilleur.
- Les développeurs qui souhaitent créer leur propre monde virtuel 3D que les utilisateurs peuvent contrôler librement.
- Les développeurs de jeux qui souhaitent créer leur propre moteur de jeu
- Artiste technique curieux des principes de la visualisation vectorielle à l'écran
- Étudiants, développeurs et artistes souhaitant apprendre les bases de l'algèbre linéaire, notamment les vecteurs et les matrices.
- Étudiants, développeurs et artistes souhaitant apprendre les théories fondamentales liées à l'infographie 3D
- Les développeurs de jeux vidéo curieux de connaître le système des quaternions utilisé par les moteurs de jeu et son mode d'implémentation.
| Structure de ce livre |
Ce livre s'adresse à ceux qui souhaitent apprendre ou revoir les bases des mathématiques, ou encore aux développeurs de jeux et aux graphistes qui ont renoncé aux mathématiques.
Le contenu principal relève de l'algèbre linéaire, mais plus précisément de l'algèbre linéaire spécialisée dans l'infographie.
Ce livre est divisé en quatre parties, organisées de manière séquentielle, commençant par la partie 1 et augmentant progressivement en exhaustivité, pour se terminer par la partie 4.
Le chapitre 1, « Les mathématiques du jeu au service du métavers », qui ouvre le livre, explique pourquoi les mathématiques du jeu sont nécessaires dans le monde d'Internet, qui évoluera ensuite vers le métavers.
La première partie, « Construire un monde virtuel », aborde la structure de l'espace virtuel créé à partir de l'ordre numérique et le concept de transformation dans cet espace, permettant ainsi de modifier l'ordre spatial à volonté. Le chapitre 2, « Les nombres : la plus petite unité constituant un monde virtuel », définit la structure des nombres à partir d'axiomes, c'est-à-dire des propositions évidentes qui ne nécessitent aucune démonstration, et présente les concepts et opérations de base des fonctions.
Le chapitre 3, « Vecteur : la naissance de l’espace virtuel », définit l’espace vectoriel et étudie les opérations et divers concepts basés sur l’espace vectoriel bidimensionnel pour jeter les bases de la construction d’un monde virtuel.
Dans le chapitre 4, « Fonctions trigonométriques : mathématiques pour la rotation », nous apprendrons les fonctions trigonométriques essentielles pour les transformations rotationnelles des espaces vectoriels.
Le chapitre 5, le dernier chapitre de la partie 1, « Matrice : un outil de transformation pour les mondes virtuels », se conclut en établissant le concept de transformation linéaire et en apprenant comment transformer les espaces vectoriels à l'aide de matrices.
Dans la partie 2, « Bases de la création de contenu », nous définissons l’espace affine, un espace qui contient du contenu, sur la base de la théorie mathématique décrite dans la partie 1, et nous examinons les méthodes d’implémentation nécessaires à la création d’un jeu 2D dans l’espace affine.
Le chapitre 6, « Espace affine : construire des mondes virtuels mobiles », examine les espaces affines et leurs composantes, qui prennent en charge les transformations de translation, de rotation et d'échelle sous la forme de transformations linéaires.
Les points définis dans un espace affine se rejoignent pour former une ligne, et un algorithme permettant de tracer efficacement des lignes sur ordinateur est également présenté.
Dans le chapitre 7, « Produit scalaire : analyse et applications des espaces vectoriels », nous apprendrons le produit scalaire, une opération qui peut être utilisée pour analyser les espaces vectoriels et l'appliquer à diverses situations, ainsi que ses applications.
Après avoir établi les bases mathématiques nécessaires à la création de contenu dans les chapitres 6 et 7, le chapitre 8, « Triangle : la plus petite unité constituant un objet », couvre les méthodes de formation d'objets dans l'espace virtuel basées sur des triangles définis mathématiquement.
Le chapitre 9, « Moteur de jeu : la technologie de création de contenu », présente la structure d'un moteur de jeu qui rassemble divers objets dans un espace et gère la caméra, ainsi que le flux de travail pour dessiner du contenu en temps réel.
La partie 3, « Création de contenu 3D », traite de l'extension à la 3D de la structure du moteur de jeu 2D abordée dans la partie 2.
Le chapitre 10, « Espace 3D : Création d'un espace stéréoscopique », explique comment concevoir un espace 3D et ce qu'il faut prendre en compte lors de la mise en œuvre de la rotation et des transformations de caméra dans un espace 3D.
Au chapitre 11, « Produit extérieur : analyse et application à l’espace 3D », nous découvrons le produit extérieur, une opération permettant d’analyser et d’appliquer des propriétés à l’espace 3D. Nous examinerons différentes méthodes d’application utilisables dans l’espace 3D en utilisant le produit intérieur vu au chapitre 7.
Dans le chapitre 12, « Projection en perspective : des transformations qui donnent de la réalité à votre écran », vous apprendrez comment mettre en œuvre la perspective, un élément crucial pour exprimer un contenu tridimensionnel, et comment résoudre les nouveaux problèmes qu'elle engendre.
Et dans le dernier chapitre de la partie 3, chapitre 13, « Frustum : Espace 3D optimisé », les équations d'un plan sont introduites, et un espace fermé appelé frustum est défini mathématiquement en combinant plusieurs plans, puis une technique pour dessiner uniquement les objets visibles dans le champ de vision est abordée, concluant ainsi le moteur de jeu 3D.
La partie 4, « Mathématiques 4D et personnages », couvre les mathématiques et les méthodes de création de personnages pour implémenter de manière fiable les transformations de rotation dans le moteur de jeu 3D développé dans la partie 3.
Pour que la transformation dans l'espace tridimensionnel fonctionne correctement, la transformation de rotation doit être conçue à l'aide de quaternions, qui sont des nombres dans l'espace à quatre dimensions.
Les quaternions étant un sujet peu familier qui n'est pas abordé dans les cours d'algèbre linéaire universitaire ni dans les mathématiques industrielles, il n'existe pas suffisamment de manuels ou de ressources pour les étudier correctement.
Dans ce livre, comme condition préalable à la bonne compréhension des quaternions à partir de zéro, le chapitre 14, « Nombres complexes : nombres dans le plan bidimensionnel », traite des nombres complexes, et le chapitre 15, « Formule d'Euler : transformation rotationnelle exprimée avec des nombres imaginaires », traite de la formule d'Euler.
Sur cette base, le chapitre 16, « Quaternions : Rotation 3D conçue avec des nombres à 4 dimensions », explique la structure des quaternions puis résume les méthodes d'application nécessaires lors de leur application aux moteurs de jeu réels, complétant ainsi les fonctions de base d'un moteur de jeu 3D.
Enfin, le chapitre 17, « Personnages : l'art de donner vie aux jeux », le grand final du livre, explique comment implémenter des structures hiérarchiques dans les moteurs de jeu et comment les appliquer pour créer des personnages qui se déplacent dans l'espace virtuel.
| Environnement de développement pour l'utilisation de ce livre |
Le matériel de cours a été conçu pour être entièrement produit en programmation CPU sans utiliser de carte graphique GPU, permettant aux étudiants d'expérimenter et d'apprendre directement l'intégralité du processus de rendu basé sur les mathématiques.
Les programmes qui effectuent un rendu graphique sans utiliser de GPU sont généralement appelés « moteurs de rendu logiciel ». L'exemple présenté ici s'appelle CK Soft Renderer, du nom de l'établissement où je travaille. Fonctionnant exclusivement sur le CPU, CK Soft Renderer n'est pas idéal pour une utilisation pratique. Cependant, comme il permet de maîtriser l'intégralité du processus de rendu, il constitue un outil pédagogique précieux.
Pour améliorer la vitesse de rendu, nous avons utilisé le langage C++, dont la prise en main est relativement complexe, et créé des exemples basés sur Visual Studio 2022 et 2019 sous Windows 10.
Des compétences de base en programmation C++ sont nécessaires pour mettre en pratique les exemples, mais un exemple complet est également fourni afin que les lecteurs puissent vérifier les résultats même s'ils ne connaissent pas la programmation C++.
De plus, à la page suivante, vous pouvez voir d'un coup d'œil l'écran des résultats de l'exemple complet qui a exécuté les exemples pratiques de ce livre.
Même si vous ne connaissez pas grand-chose en programmation, vous comprendrez facilement comment les mathématiques sont utilisées dans le développement de jeux.
〈Aperçu de l'écran des résultats de l'exemple pratique〉
- https://bit.ly/math4game
[Note de l'auteur]
Avec l'émergence du mot-clé « métavers » comme nouveau sujet de discussion dans l'industrie Internet, la technologie utilisée pour créer des espaces virtuels 3D et des personnages virtuels suscite un intérêt croissant.
Ces technologies ont été initialement développées pour l'industrie du jeu vidéo, mais avec l'essor rapide du métavers, elles sont désormais largement utilisées non seulement dans la production de jeux, mais aussi dans divers domaines tels que le cinéma, le théâtre, les médias audiovisuels, les concerts et les centres commerciaux. Utilisées comme outils de production médiatique adaptés à la période de pandémie actuelle, elles s'étendent maintenant à tous les aspects de la politique, de l'économie, de la société et de la culture.
Un moteur de jeu est un logiciel de pointe qui intègre de manière optimale les technologies liées aux mondes virtuels et aux personnages virtuels.
Avec l'expansion de l'utilisation des moteurs de jeu ces dernières années, la demande d'espaces virtuels plus précis et plus avancés augmente également.
De plus, dans ce contexte, de nombreux développeurs pragmatiques prennent conscience de la nécessité des mathématiques.
Mais il n'y a pas beaucoup de gens qui aiment vraiment parler de mathématiques.
Nombreux sont ceux qui ont renoncé à l'apprentissage des mathématiques en milieu de scolarité en raison de l'enseignement mathématique basé sur l'apprentissage par cœur et la mémorisation, ou qui ont le sentiment que leurs compétences en mathématiques étaient supérieures à la moyenne pendant leur scolarité, mais que les connaissances mathématiques accumulées durant l'enfance déclinent progressivement en raison de la répétition de schémas de développement répétitifs sur le lieu de travail.
Moi aussi, j'étais comme ça.
C'est décourageant de devoir replonger dans les manuels de maths que j'utilisais au collège et au lycée pour rafraîchir mes souvenirs mathématiques un peu flous.
Je me surprends à me reprocher de ne pas avoir davantage étudié les mathématiques à l'école.
Cependant, ce n'est pas ma faute passée, mais celle du système d'enseignement des mathématiques qui repose sur l'apprentissage par cœur dans le seul but de préparer les examens d'entrée.
Pour vous faire part de mon expérience, je m'ennuyais de la tâche répétitive de création de contenu sur un moteur de jeu, alors j'ai décidé de créer mon propre moteur de jeu, et c'est là que j'ai réalisé le besoin en mathématiques.
Dès lors, j'ai commencé à démêler les nœuds de mon cerveau engourdi, un à un, grâce à divers livres de mathématiques, des sites Wikipédia et des informations trouvées sur Internet.
En essayant de retrouver mon sens des mathématiques à ma manière, j'ai réalisé :
Mon moi passé n'a rien fait de mal.
Si je devais pointer du doigt mon propre défaut, ce serait que je ne savais pas utiliser les mathématiques et que j'essayais simplement de trouver les réponses aux problèmes comme les autres me le disaient.
Maintenant que j'y pense, l'ordre était incorrect.
Avant d'apprendre les mathématiques, le plus important était de décider ce que je voulais faire.
Par conséquent, ce livre n'est ni un manuel général couvrant la théorie mathématique générale, ni un ouvrage de mathématiques spécialisé traitant d'un domaine spécifique en profondeur.
Les problèmes impliquant la résolution d'équations complexes, fréquents dans les manuels de mathématiques, ne figurent pas dans ce livre.
L'objectif principal de ce livre est de fournir une introduction pratique aux concepts mathématiques nécessaires à l'affichage sur un écran de moniteur pour les personnes intéressées par le développement de jeux et l'infographie.
Cela reflète le sentiment de désarroi que j'ai éprouvé par le passé lorsque j'ai essayé de reprendre les mathématiques.
Pour écrire ce livre, j'ai d'abord créé un exemple appelé CK Soft Renderer, qui montre des personnages virtuels dans un espace virtuel sous leur forme la plus simple.
Après cela, j'ai procédé à rebours, en organisant et en consignant les éléments mathématiques essentiels à la création d'exemples, et ce n'est qu'après avoir atteint le bas de l'échelle des axiomes mathématiques que j'ai pu créer la table des matières du livre.
Bien que j'aurais pu inclure de nombreux exemples ludiques et spectaculaires liés à la production de jeux, j'ai déjà consacré une large place à l'explication des principes mathématiques et de leurs applications. Le sujet de cet ouvrage étant les mathématiques du jeu, j'ai conçu les exemples pratiques pour qu'ils soient aussi simples que possible, afin de privilégier l'étude des principes fondamentaux. (Les lecteurs intéressés par les principes de l'infographie permettant de créer des mouvements réalistes et dynamiques ainsi que des effets visuels saisissants sont invités à consulter d'autres ouvrages.)
Lors de la rédaction de la première ébauche de ce livre, j'ai pu confirmer que mes efforts n'avaient pas été vains puisque j'ai enseigné pendant deux semestres des cours basés sur son contenu.
Les élèves qui craignaient autrefois les mathématiques ne les trouvent plus difficiles, et ils sont désormais capables de créer librement des personnages virtuels en utilisant les théories mathématiques qu'ils ont apprises.
Je n'exagère pas en disant que le contenu de ce livre est très facile.
Le processus de compréhension et d'intériorisation de l'intégralité du contenu d'un livre peut être ardu.
Le chemin ne sera pas facile, mais je serais profondément récompensé en tant qu'auteur si les lecteurs pouvaient éprouver un sentiment de libération des mathématiques grâce à ce livre.
Je vous souhaite le meilleur.
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 22 février 2022
Nombre de pages, poids, dimensions : 652 pages | 1 198 g | 185 × 240 × 27 mm
- ISBN13 : 9791189909376
- ISBN10 : 1189909375
Vous aimerez peut-être aussi
카테고리
Langue coréenne
Langue coréenne