Sujets mathématiques pour la programmation graphique 3D [fermé]

14

Je comprends que les sujets mathématiques suivants sont requis pour la programmation graphique 3D. J'ai commencé à en faire certains dans mon cours de mathématiques. Quelqu'un peut-il m'orienter vers une ressource qui explique comment ils postulent? Quels problèmes graphiques / jeux sont-ils utilisés pour résoudre?

  • mathématiques de vecteur
  • mathématiques matricielles
  • quaternions
  • algèbre linéaire

Autant que je puisse voir, ce sont tous des sujets d'algèbre / matrice linéaire. Y a-t-il d'autres sujets requis?

Katherine Rix
la source
Cette question a de bonnes informations sur ce point : gamedev.stackexchange.com/questions/2029/...
michael.bartnett
@beardcp Je pourrais aller jusqu'à dupliquer.
The Communist Duck

Réponses:

10

L'algèbre linéaire est la principale discipline pour la programmation graphique 3D simplement parce que c'est le langage mathématique pour décrire la géométrie spatiale. Vos trois autres sujets ne sont en réalité que des sous-ensembles d'algèbre linéaire:

  • Les vecteurs sont une façon de penser les points dans l'espace
  • Les matrices sont des façons de penser les transformations de l'espace et des objets: traduire des objets, les mettre à l'échelle, etc.
  • Les quaternions sont une représentation naturelle d'un sous-groupe spécifique de ces transformations, les rotations
  • etc.

En ce qui concerne les autres mathématiques pertinentes pour la programmation graphique 3D, celle que je recommanderais qui ne suscite pas assez d'amour est la géométrie informatique. Beaucoup de problèmes naturels se résument aux sujets de la géométrie informatique:

  • L'un des moyens les plus naturels de définir un volume à partir d'un ensemble de points (par exemple, pour définir un volume audio où un bruit de fond spécifique sera joué, ou un volume de brouillard, ou similaire) est de trouver la coque convexe des points ; il existe de bons algorithmes pour le faire en 2 et 3 dimensions, mais même les algorithmes 2d ne sont pas immédiatement évidents.
  • Le problème de pouvoir déterminer quels objets sont proches d'un point donné ou sont proches les uns des autres (par exemple, pour réduire le nombre d'objets qui doivent être vérifiés pour d'éventuelles collisions, ou pour déterminer quels ennemis remarqueront les joueurs à un point donné) pénètre dans le domaine des problèmes de requête géométrique et dans les schémas de partitionnement spatial (et donc dans des structures comme les arbres et les octrees BSP). Les mêmes idées générales sont également utilisées pour répondre aux requêtes de "traçage de ligne" (par exemple, "qu'est-ce que ce faisceau laser frappe?")

Après cela, j'encouragerais la recherche dans le calcul de base et en particulier les méthodes numériques pour les équations différentielles; ceux-ci sont moins pertinents pour les graphiques 3D en soi qu'ils ne le sont pour la physique 3D, mais en général, les deux sujets sont assez étroitement couplés (même pour des problèmes simples de cinématique - par exemple, pour les animations de personnages et autres) et une certaine connaissance des deux sera améliorer considérablement votre connaissance de l'un ou l'autre; il est difficile, voire impossible, de travailler la physique pertinente sans les mêmes connaissances de base en algèbre linéaire que les graphiques, mais en même temps, la connaissance de la physique fournit un autre point de référence pour comprendre les sujets des graphiques.

Steven Stadnicki
la source
Ce fut une réponse fantastique, Steven, merci. J'ai adoré vos résumés sur la façon de penser aux vecteurs, matrices et quaternions (malheureusement, plus informatifs en 2 secondes que mon actuel professeur d'algèbre linéaire). Vous m'avez également permis de mieux comprendre les types de défis de modélisation posés aux programmeurs graphiques 3D. À votre santé!
Katherine Rix
1

Si vous connaissez les coordonnées cartésiennes, l'application des sujets ci-dessus à l'infographie devrait être assez claire. Il existe des tutoriels tels que ceux-ci pour OpenGL qui aideront à clarifier l'application des mathématiques à la résolution des problèmes d'affichage de base, par exemple comment faire tourner un modèle filaire. L'article de Wikipédia sur le dessin en perspective pourrait aider avec un peu de contexte historique.

Au-delà, il existe de nombreux sujets d'affichage qui bénéficient de la formulation mathématique. Par exemple, les solides 3D sont généralement représentés par des triangulations de leur surface. Comment ne montrer que la partie de la surface qu'un observateur "devrait" voir (algorithmes de surface / ligne cachés)? Si un objet doit être illuminé à partir d'une source / direction particulière, comment cela interagit-il avec la perspective pour donner un rendu de surface convaincant?

Au-delà de cela, il y a toutes sortes de sujets de modélisation intéressants, tels que l'animation d'une brume ou d'une flamme. Mais la transformation des coordonnées, comme votre liste de sujets semble se concentrer, est un aliment de base de toutes les avancées ultérieures.

hardmath
la source
1

Ils ne sont pas tous obligatoires. Les mathématiques vectorielles sont partout dans les graphiques 3D, vous pourriez être en mesure de configurer la géométrie sans connaître les points les plus fins des mathématiques vectorielles, mais des choses comme les cartes de relief vont devenir très difficiles, et vous tomberez sur la physique.

Les quaternions offrent simplement une description différente pour certains des mathématiques, cela peut être agréable d'avoir, mais ce n'est certainement pas nécessaire car des mathématiques plus conventionnelles suffisent pour décrire tout calcul que vous pouvez faire avec les quaternions.

Les mathématiques matricielles et l'algèbre linéaire sont très proches, elles décrivent surtout des opérations linéaires sur des ensembles de nombres. Mais encore une fois, c'est juste une autre façon de décrire certaines choses qui pourraient être décrites avec des vecteurs et l'algèbre.

Je ne sais pas si vous considérez que ce n'est qu'une partie des mathématiques de base, mais la trigonométrie doit certainement faire la liste également.

aaaaaaaaaaaa
la source
J'ai vu jusqu'à présent quelques mentions de physique - pouvez-vous me dire de quels concepts vous parlez ici? Je n'ai pas abordé le sujet depuis 12 ans (c'est-à-dire depuis le lycée) et franchement je détestais ça. Peut-être que je trouverai son application plus facile à digérer.
Katherine Rix
Physique newtonienne, principalement résolution des collisions. Vous n'avez peut-être pas appris ce genre de choses au lycée, mais tout cela est très mathématique, donc si vous aimez les mathématiques, vous devriez être bon.
aaaaaaaaaaaa