Desde que aprendí por primera vez sobre vectores, me di cuenta de algo interesante: casi cualquier fórmula numérica puede ser reemplazada por una fórmula vectorial simplemente reemplazando la suma, multiplicación, etc., con sus versiones vectoriales a nivel de elemento. Por ejemplo:
average a b = (a + b) / 2
no solo calcula el promedio de 2 números, sino el punto medio entre 2 vectores si utilizas la adición a nivel de elementos. En Cálculo, muchas fórmulas para integrales pueden extenderse a integrales triples, cuádruples sin cambios de la misma manera. Aún más interesante, algunas fórmulas ganan una generalidad dimensional al hacerlo.
distance a b = modulus (a - b)
Esa fórmula se aplica a números, devolviendo su diferencia, pero también funciona para cualquier vector en n dimensiones, devolviendo su distancia en n dimensiones. Incluso fórmulas complicadas como:
intersectAABB (Ray r_pos r_dir) (AABB aabb_min aabb_max)
= [tmin, tmax] where
t1 = (aabb_min - r_pos) / r_dir
t2 = (aabb_max - r_pos) / r_dir
tmin = foldr1 max (liftI2 min t1 t2)
tmax = foldr1 min (liftI2 max t1 t2)
obtienen el mismo beneficio. En este caso, intersectAABB
, utilizado con números, devuelve la distancia de intersección entre una línea y un segmento. Utilizado con vectores 2D, devuelve las distancias de intersección entre una línea y un rectángulo. Con vectores 3D, las distancias de intersección entre una línea y un cuboide. Y así sucesivamente.
Todo eso me lleva a creer que tiene mucho sentido usar vectores de la misma manera que los números. Mi pregunta es: ¿por qué nadie lo está haciendo? ¿Por qué se considera que dot
y cross
son la versión vectorial de la multiplicación cuando en su mayoría son operaciones completamente diferentes? ¿Hay algún caso donde usar vectores en lugar de números deje de tener sentido?
16 votos
¿Qué son los números?
2 votos
No lo sé. Por favor, dime. ¿Qué son los números? ¿Qué son los vectores? ¿Cuál es su conexión?
8 votos
El término "número" es, en sí mismo, vagamente esperanzador. Lo usamos de muchas maneras diferentes.
2 votos
¿Qué es exactamente un número?
1 votos
Depende de lo que quieras poder hacer con "números". Por lo general, exigimos adición invertible y multiplicación invertible (para todos los "números" no nulos), por lo que la mayoría de las cosas que podemos hacer con números reales o complejos pueden hacerse en cualquier campo. Depende de si la multiplicación componente a componente es "suficientemente buena" para la aplicación que tienes en mente, porque definitivamente no es invertible.
0 votos
@Dokkat, un vector es un elemento de un Espacio Vectorial. Un espacio vectorial es un conjunto no vacío con dos operaciones, que cumple algunas propiedades como asociativa, distributiva, conmutativa, etc.
0 votos
Alguien, comienza a hablar sobre grupos, campos y anillos.
0 votos
Los números naturales, números enteros, números ordinales y números cardinales no tienen inversos multiplicativos. @pjs36
0 votos
¿Estás tratando los vectores como números multi-dimensionales, o estás tratando los números como vectores unidimensionales?
0 votos
@ThomasAndrews De hecho, ¡y afortunadamente, pueden desempeñar sus diversos roles con entusiasmo! ¿Olvidé mencionar que depende de lo que queremos ser capaces de hacer con nuestros "números"? :)
0 votos
Ver Tensores.