======Les vecteurs, c'est formidable====== Le but n'est pas de devenir mathématicien, mais de comprendre que les vecteurs permettent de jongler avec les nombres et de s'en servir comme outil de simulation et de représentation. Sans souffrance. =====Un vecteur ? ===== Un vecteur est simplement une liste ordonnée de valeurs. C'est tout. (0, 16) (18, -1, 12.5, 0.001) Ce n'est fondamentalement rien d'autre, et cela ne sert pas à quelque chose en particulier : il s'agit seulement d'un concept, d'une notation, d'un outil intellectuel. On peut s'en servir pour représenter des choses. Quoi ? Et bien tout ce qui peut se décrire avec plusieurs valeurs ! ====Vecteur de coordonnée==== On peut par exemple se servir de cet ensemble de valeurs pour décrire une position dans l'espace. On le nomme alors un vecteur de coordonnées ou simplement un... point. Lorsqu'un point //P// est un vecteur 1D (de dimension 1), cela signifie qu'il suffit d'un seul nombre pour indiquer sa position. Son espace à une seule dimension est une droite, comme une règle graduée, et il faut bien une seule information pour indiquer l'emplacement d'une marque sur cette règle, par exemple à 2.5cm de l'origine. Le point //P// peut ainsi être noté //P(2.5)// ou plus généralement //P(x)//. Lorsqu'un point //P// est un vecteur 2D (de dimension 2), cela signifie qu'il faut maintenant deux nombres pour indiquer sa position. Son espace à deux dimensions est un plan, comme une feuille de papier, et il faut alors deux informations pour indiquer l'emplacement d'une marque sur cette feuille, par exemple: à 2cm du bas et 7.53cm du bord gauche. Le point //P// peut alors être noté //P(2, 7.53)// ou plus généralement //P(x, y)//. Lorsqu'un point //P// est un vecteur 3D (de dimension 3), cela signifie qu'il faut maintenant trois nombres pour indiquer sa position. Son espace à trois dimensions est un volume, et il faut alors trois informations pour indiquer l'emplacement d'un objet dans volume, par exemple: à 2cm du bas, 7.53cm du bord gauche et 50cm du sol. Le point //P// peut alors être noté //P(2, 7.53, 50)// ou plus généralement //P(x, y, z)//. L'homme est un être de dimension 3, il est ainsi très difficile de se représenter les dimensions spatiales supérieures. En procédant de la même manière, on indique pourtant facilement une position dans la quatrième, voire huitième dimension : il suffit de parler du point //P(x, y, z, u, v, w, i, j)// ! ====Vecteur directionnel==== On peut aussi se servir de cet ensemble de valeurs pour décrire un déplacement, on le nomme alors vecteur directionnel. On ne traduit plus le vecteur comme une position particulière, mais comme la description et la quantification d'un changement de position. On choisit simplement de dire qu'un vecteur ''V(2)'' par exemple, correspond à l'idée "//avancer de 2//". De la même manière que le vecteur de coordonnées, plus il y a de valeurs, et plus on décrit une information dans un espace à de nombreuses dimensions. Ainsi, un vecteur ''(1, 2, -1)'' donne une information dans trois dimensions et, correspondrait à l'idée "//avancer de 1 en x, puis avancer de 2 en y, puis reculer de 1 en z//" Et là où c'est bien pratique, c'est qu'un vecteur directionnel indique du coup à la fois une direction, un sens et une longueur. Cf [[wp>fr:Vecteur#Approche_g.C3.A9om.C3.A9trique|Vecteur: approche géométrique]] Représentons le vecteur directionnel //V(2, 0)// par une flèche. Il indique un déplacement de 2 vers la droite. Le vecteur //U(-2, 0)// a un sens différent (il va vers la gauche), mais il a la même direction (son déplacement est lui aussi horizontal) et la même longueur (il se déplace aussi de 2). Le vecteur //W(0, 2)// a une direction différente (il est vertical), mais a une longueur identique (il se déplace aussi de 2). Le vecteur //T(5, 0)// a le même sens (il va vers la droite), la même direction (il est horizontal), mais une plus grande longueur (il se déplace de 5). =====Opérations sur les vecteurs===== Maintenant que l'on sait représenter une position ou un déplacement sous la forme d'un vecteur, on va pouvoir les manipuler, les tordre en effectuant des opérations. En modifiant leurs valeurs on va dépeindre un changement, une évolution de ce que l'on décrit : on anime. ==== Addition et soustraction ==== L'addition de deux vecteurs u et v correspond à additionner ou soustraire entre eux chaque membres de u et v. u(x, y, z) + v(x, y, z) = w(ux+vx, uy+vy, uz+vz) u(x, y, z) - v(x, y, z) = w(ux-vx, uy-vy, uz-vz) ==== Multiplication et division ==== La multiplication ou la division d'un vecteur u par une valeur a correspond à multiplier ou diviser chacune de ses valeurs par a. u(x, y, z) * a = w(ux*a, uy*a, uz*a) u(x, y, z) / a = w(ux/a, uy/a, uz/a) En multipliant ou divisant un vecteur par une valeur différente de ''1'', on change sa longueur sans toucher à sa direction. Un vecteur U multiplié par deux a la même direction mais indique un déplacement deux fois plus grand. En multipliant par une valeur négative, on inverse aussi son sens. Un vecteur U multiplié par ''-1'' a la même direction et la même longueur, mais se retrouve dirigé dans l'autre sens. ====Norme==== La norme, c'est simplement la longueur d'un vecteur. En mathématiques, pour faire peur, on dit norme et on indique ça avec des doubles barres : {{https://upload.wikimedia.org/math/5/5/f/55f592467594640796e8156527ef5dfa.png}}. Et pour calculer la longueur d'un vecteur, on appelle Pythagore. >Pythagore! <WRAP center info> Dans un triangle rectangle, le carré de la longueur de l’hypoténuse est égal à la somme des carrés des longueurs des côtés de l’angle droit. </WRAP> Si l'on considère le vecteur comme l'hypoténuse du triangle qu'il forme sur les axes du repère, la longueur des côtés de l'angle droit sont les composantes du vecteur elles mêmes. On peut donc facilement calculer notre longueur. {{ http://upload.wikimedia.org/math/5/2/d/52d59e38773c9c745277ddf85e760b97.png }} ====Produit vectoriel==== {{ http://upload.wikimedia.org/wikipedia/commons/0/08/Vecteurs_produit_vectoriel.png }} Le produit vectoriel (//cross product// en anglais) de deux vecteurs permet de trouver le vecteur perpendiculaire au plan contenant les deux autres. On note l'opération ''U ^ V'', ''U x V'' en anglais. {{ http://upload.wikimedia.org/math/8/3/c/83c05d83a455e3f8f29390d8b21e59fb.png }} ====Produit scalaire==== Le produit scalaire (en anglais //dot product//) se note avec un point à mi-hauteur ''U · V''. {{ http://upload.wikimedia.org/math/a/f/6/af698aa2200d34b2adf12553209a76c3.png }} Une autre définition du produit vectoriel fait apparaitre le cosinus de l'angle entre les deux vecteurs. {{ http://upload.wikimedia.org/math/9/f/5/9f591895a68509faa352b303a34c283c.png }} =====Un vecteur dans un programme===== Un vecteur étant une simple liste de valeurs, il y a beaucoup de manières d'enregistrer ces données dans un programme, selon le langage utilisé. On peut simplement utiliser un tableau, ou une liste en python. <Code python> u = [1.5, -3, 7] u[0] # 1.5 u[1] # -3 u[2] # 7 # addition des vecteurs u et v v = [-2.4, 7, 0] w = [u[0] + v[0], u[1] + v[1], u[2] + v[2]] </Code> La plupart des langages intègrent une classe de vecteurs. Plus simple à utiliser, plus claire, elle simplifira généralement la notation des opérations. En python il y a le module [[http://www.numpy.org|NumPy]], et sa classe ''array''. <Code python> import numpy u = numpy.array([1.5, -3, 7]) u.x # 1.5 u.y # -3 u.z # 7 v = numpy.array([-2.4, 7, 0]) w = u + v </Code>