Ce que Unity dit à propos des points par rapport aux vecteurs n'a aucun sens à long terme, car les API de géométrie choisissent simplement des définitions distinctes pour rendre l'outil plus accessible, elles ne correspondent pas à la façon dont ces choses sont conceptualisées en géométrie. Jetez un œil aux implémentations des classes, si vous le pouvez. Parce que c'est arbitraire, connaître sa définition est le seul moyen de comprendre ce qu'est le concept. Divulgation complète, je n'ai pas d'expérience Unity.
Un vecteur est un point dans un espace vectoriel , en ce sens que le concept de point dans la géométrie est codé par des éléments de l'ensemble sous-jacent. Un espace vectoriel a un vecteur distinct, appelé origine ou 0 . L'algèbre linéaire est une tentative de coder algébriquement un fragment de géométrie euclidienne avec une origine.
La flèche et sa longueur
Les mouvements à travers un espace de points sont fréquemment interprétés comme toutes les flèches depuis les points source / avant vers leurs points cible / après.
Une fonction de deux arguments peut être appliquée à un argument pour produire une fonction d'un argument - on peut parler de x +, la fonction qui amène chaque vecteur y au vecteur x + y . Il s'agit de la traduction associée avec l'ajout de x . Les flèches associées vont des points y aux points x + y . Voir: application partielle , curry .
Alors pourquoi n'utilisons-nous qu'une seule flèche ? La flèche de l'origine pointe vers un vecteur spécifique, le x dans x + - l'origine est l'identité de l'addition du vecteur. Ainsi, nous pouvons récupérer la traduction x + à partir de sa seule valeur x +0 = x .
En tant que représentation graphique de l'espace, la représentation de la flèche a à voir avec notre capacité d'extrapoler visuellement ou physiquement l'effet d'une traduction à partir de la valeur qui la détermine. Quand avons-nous cette capacité?
Donner à l'espace vectoriel une norme qui en fait un espace vectoriel normé, c'est fournir une notion de la longueur d'un vecteur qui a du sens comme sa distance à 0. De plus, il doit s'agir d'une distance satisfaisant l'inégalité du triangle, qui est un forte contrainte sur la relation entre les longueurs de deux vecteurs et celle de leur somme. De la longueur, nous pouvons définir la distance pour en faire un espace métrique , et une géodésique est un chemin intrinsèquement droit en ce sens qu'il est aussi court que possible. La norme euclidienne induit une distance euclidienne et les géodésiques sont les segments de ligne des flèches, mais si vous dessinez les flèches comme des géodésiques en utilisant des normes différentes, vous pouvez extrapoler l'effet géométrique de la traduction à partir des géodésiques pour en savoir plus sur la géométrie.
La signification du point et du vecteur
Dans certains cas, en faisant de la géométrie de jeux, votre espace de points n'est pas un espace vectoriel . Un espace affine de dimension n peut être noyé dans un espace projectif de dimension n . Les cartes affines se réduisent à des projectivités. Les projectivités vous permettent également de faire du FOV, w / c je pense que ce n'est pas affine. Les projectivités ont des avantages:
L' espace n projectif sur un champ peut être construit à partir de l' espace linéaire ( n +1) (espace vectoriel), en traitant les points de l'espace projectif comme des lignes passant par l'origine de l'espace linéaire. Les plans passant par l'origine donnent à leur tour des lignes projectives. La multiplication des vecteurs par une matrice fixe est une carte linéaire , c'est à cela que sert la multiplication matricielle. Les cartes linéaires conservent l'origine et sont compatibles avec l'incidence. En particulier, si f est un automorphisme linéaire ( correspondant à une matrice inversible ( n +1) x ( n +1)), et que deux lignes L, M passant par l'origine couvrent un plan A , alorsf L, f M sont des lignes passant par l'origine couvrant f A , donc f préservera également l'incidence sur l'espace projectif - une matrice inversible a une projectivité associée. La multiplication matricielle code la composition des cartes linéaires, et donc des projectivités.
En supprimant l'origine de l'espace linéaire, tous les points sur une ligne donnée passant par l'origine sont des multiples scalaires les uns des autres. Exploitant ce fait, l' homogénéisation choisit un point linéaire pour remplacer chaque point projectif et une matrice inversible pour remplacer chaque transformation projective (comme dans cette carte affine 2D -> 2D comme 3D -> vidéo de cartes linéaires 3D ), dans un tel manière que les représentants sont fermés sous des produits matrice-matrice et matrice-vecteur et donnent et sont donnés par des choses projectives uniques. Cette description de la construction du plan projectif à partir du plan linéaire relie certaines choses ensemble.
Donc, dans le pipeline de matrice modèle-vue-projection, nous utilisons des vecteurs pour représenter les points de notre espace projectif, mais l'espace projectif n'est pas un espace vectoriel, et tous les vecteurs de l'espace vectoriel que nous utilisons représentent des points de notre géométrie (voir photo du plan affine à droite ). Nous utilisons des matrices de traduction au lieu de la somme vectorielle si nous voulons des traductions. Parfois, les gens appellent des vecteurs de points projectifs ou affines, surtout lorsqu'ils utilisent une configuration dans cette veine.