Pourquoi les coordonnées homogènes sont-elles utilisées en infographie?
Quel serait le problème si les coordonnées homogènes n'étaient pas utilisées dans les transformations matricielles?
Pourquoi les coordonnées homogènes sont-elles utilisées en infographie?
Quel serait le problème si les coordonnées homogènes n'étaient pas utilisées dans les transformations matricielles?
Réponses:
Ils simplifient et unifient les mathématiques utilisées dans les graphiques:
Ils vous permettent de représenter des traductions avec des matrices.
Ils vous permettent de représenter la division par la profondeur dans des projections en perspective.
Le premier est lié à la géométrie affine. Le second est lié à la géométrie projective.
C'est dans le nom: les coordonnées homogènes sont bien ... homogènes. Être homogène signifie une représentation uniforme de la rotation, de la translation, de la mise à l'échelle et d'autres transformations.
Une représentation uniforme permet des optimisations. Le matériel graphique 3D peut être spécialisé pour effectuer des multiplications matricielles sur des matrices 4x4. Il peut même être spécialisé de reconnaître et d'économiser sur les multiplications par 0 ou 1, car celles-ci sont souvent utilisées.
Ne pas utiliser de coordonnées homogènes peut rendre difficile l'utilisation maximale de matériel fortement optimisé. Quel que soit le programme qui reconnaît que des instructions optimisées du matériel peuvent être utilisées (généralement un compilateur mais les choses sont parfois plus compliquées) pour des coordonnées homogènes, il sera difficile d’optimiser pour d’autres représentations. Il choisira des instructions moins optimisées et n'utilisera donc pas le potentiel du matériel.
Comme il y avait des appels à des exemples: la PS4 de Sony peut effectuer des multiplications matricielles massives. Il est si bon qu'il a été vendu pendant un certain temps, car des grappes d'entre eux ont été utilisées à la place de super-ordinateurs plus chers. Sony a par la suite exigé que son matériel ne soit pas utilisé à des fins militaires. Oui, les super-ordinateurs sont des équipements militaires.
Il est devenu assez courant pour les chercheurs d'utiliser des cartes graphiques pour calculer leurs multiplications matricielles même si aucun graphique n'est impliqué. Tout simplement parce que leur amplitude est meilleure que les processeurs à usage général. À titre de comparaison, les processeurs multicœurs modernes ont de l'ordre de 16 pipelines (x0,5 ou x2 n'a pas beaucoup d'importance) tandis que les GPU ont de l'ordre de 1024 pipelines.
Ce ne sont pas tant les cœurs que les pipelines qui permettent un traitement parallèle réel. Les noyaux fonctionnent sur les threads. Les threads doivent être programmés explicitement. Les pipelines fonctionnent au niveau de l'instruction. La puce peut plus ou moins paralléliser des instructions par elle-même.
complément:
Concernant la transformation de perspective, il permet même d'interpoler correctement sans distorsion de perspective (contrairement aux premiers matériels graphiques sur PC).
En tant que goût personnel, je me suis toujours abstenu (lorsque cela était possible) d'utiliser des coordonnées homogènes et j'ai préféré la formulation cartésienne simple.
La raison principale est le fait que les coordonnées homogènes utilisent 4 entrées triviales dans les matrices de transformation (0, 0, 0, 1), impliquant un stockage et un calcul inutiles (également le surcoût des routines de calcul matricielles à usage général qui sont "par défaut" utilisées dans ce cas).
L'inconvénient est que vous avez besoin de plus de soin lors de l'écriture des équations et que vous perdez le support de la théorie des matrices, mais jusqu'à présent, j'ai survécu.
plain Cartesian formulation
ou un lien vers une ressource qui décrit son utilisation dans les graphiques 3D?
w
?
Soit R et S des matrices de rotation et d'échelle et T un vecteur de translation. En infographie, vous devrez peut-être effectuer une série de traductions jusqu'à un certain point. Vous pourriez imaginer à quel point cela pourrait devenir délicat.
Redimensionner, traduire, puis faire pivoter et redimensionner, puis traduire à nouveau:
Les calculs en coordonnées affines nécessitent souvent des divisions, qui sont coûteuses par rapport aux ajouts ou aux multiplications. Il n'est généralement pas nécessaire de diviser lors de l'utilisation de coordonnées projectives.
L'utilisation de coordonnées projectives (et plus généralement de la géométrie projective) a également tendance à éliminer les cas particuliers, ce qui rend tout plus simple et plus uniforme.