Tal vez me falta algo en los documentos, pero parece que con GLM no es posible tomar la transposición de un vector. También veo que no hay tipos mat3x1 o mat1x3. También glm :: transpose no funciona para vectores. ¿Me estoy perdiendo algo o es solo una característica que falta en GLM?GLM: ¿cómo transportar un vector?
Respuesta
GLM se basa en GLSL, donde simplemente no hay necesidad de transponer un vector. Si haces multiplicación vector/matriz, multiplicará el vector de la manera que funcione para el tamaño de la matriz (a menos que tenga que cambiar el orden de la multiplicación). Por lo tanto, si tiene mat4
y mat4*vec4
, su vec4
se considera un vector de columna. Si lo hace vec4*mat4
, se considera un vector de fila. Si lo haces mat2x4*vec4
, obtienes un error, mientras que vec4*mat2x4
funciona (como un vector de fila).
Por lo tanto, en general, no hay razón para tener que "transponer" un vector. El sistema simplemente hace lo que funcione.
Como referencia para las personas que buscan la forma de transferir un vector (principalmente para el cálculo de los productos exteriores - u vT) en GLSL/GLM; su:
glm::core::function::matrix::outerProduct(u, v)
enlace GLM de Nicol formato ahora 404s como sus enlaces API han cambiado a partir de:
- 1. Comprensión GLM $ residuos y resid (GLM)
- 2. Cómo transportar un conjunto de datos en un archivo csv?
- 3. ¿Puedo transportar un archivo en Vim?
- 4. ¿Cómo puedo transportar una imagen en ensamblaje?
- 5. Cómo transportar la subclase NSManagedObject entre clases?
- 6. Cómo transportar una matriz en el prólogo
- 7. GLM :: perspectiva explicación
- 8. ¿Cómo inicializar un glm :: mat4 con una matriz?
- 9. glm combinar rotación y traslación
- 10. Extraiga errores estándar de glm
- 11. ¿Es glm :: ortho() realmente incorrecto?
- 12. ggplot2: stat_smooth para resultados logísticos con facet_wrap modelos 'glm completos' o 'subconjuntos' glm
- 13. ¿Cómo puedo particionar un vector?
- 14. ¿Cómo ordenar un vector STL?
- 15. Cómo transportar una matriz multidimensional en su lugar
- 16. ¿Cómo transportar la hoja con POI SS/XSSF?
- 17. ¿Exporta múltiples diagramas de glm como PNG?
- 18. uso de rotación de glm en Opengl
- 19. ¿Cómo buscar un elemento en un vector?
- 20. coeficientes de extracto de GLM en R
- 21. C++ ampliar un vector con otro vector
- 22. Puntero a un Vector
- 23. Girar un vector (matriz)
- 24. ¿Orden incorrecto de valores de matriz en glm?
- 25. ¿Puede una Opción en una etiqueta Seleccionar transportar valores múltiples?
- 26. R: ¿cómo puedo concatenar un vector?
- 27. ¿Cómo debo generar un vector de inicialización?
- 28. ¿Cómo insertar elementos en un vector?
- 29. ¿Cómo iterar sobre un vector constante?
- 30. Cómo devolver correctamente un gran vector de
I mira, creo que eso es lo que no entendí. Gracias. – aeskreis
¿Qué sucede si quieres calcular algo como v * transpose (v) donde v es un vec4? Lo que quiero es un mat4 como resultado. Es decir. multiplicando un 4x1 y un 1x4 para obtener un 4x4. No veo cómo hacer eso en GLM. Tal vez no puedes? – Chuck
@Chuck: Bueno, eso es probablemente porque no es una operación muy útil. Además, puedes hacer las matemáticas tú mismo con la suficiente facilidad; es solo multiplicar por parejas cada elemento del vector. –