Los objetos de los dise帽os computacionales rara vez se crean expl铆citamente en su posici贸n y forma finales y, con mayor frecuencia, se convierten, se giran y se colocan de cualquier otro modo a partir de la geometr铆a existente. Las matem谩ticas vectoriales sirven como una especie de andamiaje geom茅trico para proporcionar direcci贸n y orientaci贸n a la geometr铆a, as铆 como para conceptualizar movimientos a trav茅s del espacio 3D sin representaci贸n visual.
Como elemento m谩s b谩sico, un vector representa una posici贸n en el espacio 3D y a menudo se considera el punto final de una flecha desde la posici贸n (0, 0, 0) hasta esa posici贸n. Los vectores se pueden crear con el constructor ByCoordinates utilizando la posici贸n X, Y y Z del objeto vectorial que se acaba de crear. Observe que los objetos vectoriales no son objetos geom茅tricos y no aparecen en la ventana de Dynamo. Sin embargo, la informaci贸n sobre un vector reci茅n creado o modificado se puede imprimir en la ventana de la consola:
Un conjunto de operaciones matem谩ticas se define en objetos vectoriales, lo que permite sumar, restar, multiplicar y, en general, desplazar objetos en un espacio 3D, tal y como desplazar铆a n煤meros reales en un espacio unidimensional en una l铆nea num茅rica.
La adici贸n de vectores se define como la suma de los componentes de dos vectores y se puede entender como el vector resultante si las dos flechas de vector de componente se colocan "de la punta a la cola". La adici贸n de vectores se realiza con el m茅todo Add y se representa con el diagrama de la izquierda.
Del mismo modo, se pueden restar dos objetos vectoriales entre s铆 mediante el m茅todo Subtract. La resta de vectores se puede entender como la direcci贸n que va desde el primer vector hasta el segundo.
La multiplicaci贸n de vectores se puede entender como el desplazamiento del punto final de un vector en su propia direcci贸n mediante un factor de escala especificado.
A menudo, al ajustar la escala de un vector, es deseable que su longitud sea exactamente igual a la cantidad de escala ajustada. Esto se puede conseguir f谩cilmente. Para ello, debe normalizarse primero un vector, en otras palabras, se debe establecer la longitud del vector en un valor exactamente igual a uno.
c sigue apuntando en la misma direcci贸n que a (1, 2, 3), aunque ahora tiene una longitud exactamente igual a 5.
Existen dos m茅todos adicionales en las matem谩ticas vectoriales que no tienen equivalentes claros con las matem谩ticas unidimensionales: el producto vectorial y el producto escalar. El producto vectorial permite generar un vector ortogonal (a 90 grados) a dos vectores existentes. Por ejemplo, el producto vectorial de los ejes X e Y es el eje Z, aunque los dos vectores de entrada no tienen que ser ortogonales entre s铆. Un vector de producto vectorial se calcula con el m茅todo Cross.
Una funci贸n adicional, aunque algo m谩s avanzada, de matem谩ticas vectoriales es el producto escalar. El producto escalar entre dos vectores es un n煤mero real (no un objeto vectorial) que hace referencia al 谩ngulo entre dos vectores, aunque no exactamente. Una de las propiedades 煤tiles de este tipo de producto es que el producto escalar entre dos vectores ser谩 0 solo si son perpendiculares. El producto escalar se calcula con el m茅todo Dot.
// construct a Vector object
v = Vector.ByCoordinates(1, 2, 3);
s = v.X + " " + v.Y + " " + v.Z;
a = Vector.ByCoordinates(5, 5, 0);
b = Vector.ByCoordinates(4, 1, 0);
// c has value x = 9, y = 6, z = 0
c = a.Add(b);a = Vector.ByCoordinates(5, 5, 0);
b = Vector.ByCoordinates(4, 1, 0);
// c has value x = 1, y = 4, z = 0
c = a.Subtract(b);a = Vector.ByCoordinates(4, 4, 0);
// c has value x = 20, y = 20, z = 0
c = a.Scale(5);a = Vector.ByCoordinates(1, 2, 3);
a_len = a.Length;
// set the a's length equal to 1.0
b = a.Normalized();
c = b.Scale(5);
// len is equal to 5
len = c.Length;a = Vector.ByCoordinates(1, 0, 1);
b = Vector.ByCoordinates(0, 1, 1);
// c has value x = -1, y = -1, z = 1
c = a.Cross(b);a = Vector.ByCoordinates(1, 2, 1);
b = Vector.ByCoordinates(5, -8, 4);
// d has value -7
d = a.Dot(b);




