Forse mi manca qualcosa nei documenti, ma sembra che GLM non possa prendere la trasposizione di un vettore. Vedo anche nessun tipo mat3x1 o mat1x3. Anche glm :: transpose non funziona per i vettori. Mi sto perdendo qualcosa o questa è solo una caratteristica priva di GLM?GLM: come trasporre un vettore?
risposta
GLM è basato su GLSL, dove semplicemente non è necessario trasporre un vettore. Se fai la moltiplicazione vettoriale/matrice, moltiplica il vettore nel modo in cui funziona per la dimensione della matrice (a meno che non debba cambiare l'ordine della moltiplicazione). Quindi se hai un mat4
e fai mat4*vec4
, il tuo vec4
è considerato un vettore di colonna. Se lo fai, vec4*mat4
, è considerato un vettore di riga. Se si fa mat2x4*vec4
, si ottiene un errore, mentre vec4*mat2x4
funziona (come vettore riga).
Quindi, in generale, non c'è motivo di aver bisogno di "trasporre" un vettore. Il sistema fa semplicemente tutto ciò che funziona.
Come riferimento per le persone alla ricerca di come trasporre un vettore (in primo luogo per il calcolo dei prodotti esterni - u vT) in GLSL/GLM; la sua:
glm::core::function::matrix::outerProduct(u, v)
collegamento GLM di Nicol formato ora 404s come i loro legami API sono cambiati da:
- 1. Trasporre un array 2D
- 2. Conversione glm :: vec4 to glm :: vec3
- 3. Comprendere GLM $ residui e resid (GLM)
- 4. SQL - Come trasporre?
- 5. Come posso trasformare glm :: vec3 da glm :: mat4
- 6. Come inizializzare glm :: mat4 con un array?
- 7. Come trasporre oggetto in underscorejs
- 8. Come trasporre una tabella MATLAB?
- 9. Come trasporre un set di dati in un file csv?
- 10. Come trasporre un oggetto javascript in un array chiave/valore
- 11. glm :: prospettiva spiegazione
- 12. R - usando GLM all'interno di un data.table
- 13. Posso trasporre un file in Vim?
- 14. Come randomizzare un vettore
- 15. Come trasporre la matrice usando uBLAS?
- 16. Come utilizzare GLM nell'applicazione Android NDK
- 17. Esportare più grafici glm come file PNG?
- 18. Come trasporre accordi musicali con PHP?
- 19. Come posso trasporre un'immagine in Assembly?
- 20. Come trasporre/ruotare i dati nell'alveare?
- 21. Come trasporre un gruppo di risultati da SQL
- 22. come creare un vettore di puntatori a un vettore
- 23. Aggiunta di un vettore per un vettore
- 24. Come trasporre la matrice multidimensionale in posizione
- 25. Trovare un vettore all'interno di un vettore
- 26. glm combina rotazione e traduzione
- 27. glm :: ortho() ha effettivamente torto?
- 28. tmux trasporre/riorganizzare i riquadri?
- 29. Trasporre colonne dinamiche a righe
- 30. Quaternion to Matrix using glm
I vedi, penso che sia quello che non stavo capendo. Grazie. – aeskreis
E se si desidera calcolare qualcosa come v * transpose (v) dove v è un vec4. Quello che voglio è un mat4 come risultato. Cioè moltiplicando un 4x1 e un 1x4 per ottenere un 4x4. Non vedo come farlo in GLM. Forse non puoi? – Chuck
@Chuck: Beh, probabilmente è perché non è un'operazione molto utile. Inoltre, puoi fare la matematica da solo abbastanza facilmente; è solo a coppie moltiplicando ogni elemento del vettore. –