Ho una coppia di vettori. Come posso creare un quaternione che ruota da uno all'altro?Ottenere quaternion per ruotare tra due vettori
risposta
Un'unità quaternioni q = cos (F) + u * sin (F) rappresenta la rotazione del vettore v dall'angolo 2 * F attorno all'asse u.
Se i vettori sono v e w, allora dovremmo normalizzarle, quindi calcolare l'angolo tra loro come 2 * F = ArcCos (Dot (v, w)). Vettore di direzione dell'asse di rotazione u = Normalizza (VectorProduct (v, w)). Ora possiamo creare quaternioni di rotazione richiesti.
Potrebbe anche essere una buona idea normalizzare l'asse di rotazione ** u ** dopo che è stato calcolato per sostenere un quaternione di unità, in quanto il prodotto incrociato di due vettori di unità è normalizzato solo per vettori di input ortogonali. –
@Christian Rau Hai ragione, ho perso questa normalizzazione. Aggiunto. – MBo
Si noti che il caso v = -w richiede una gestione speciale. –
- 1. Correlazione tra due vettori?
- 2. Fotocamera Quaternion. Come faccio a ruotare correttamente?
- 3. Three.js Come utilizzare quaternion per ruotare la telecamera
- 4. Come posso ottenere il massimo pairwise tra due vettori?
- 5. OpenCV distanza euclidea tra due vettori
- 6. Quaternion matematica per rotazione?
- 7. Animazione rotazione cubo Quaternion
- 8. "MOVE" due vettori insieme
- 9. Divisione due vettori
- 10. Ottieni rotazione euler da Quaternion?
- 11. Regex per ottenere testo TRA due caratteri
- 12. Angolo firmato tra due vettori senza un piano di riferimento
- 13. sequenza tutti i numeri interi tra due vettori in R
- 14. Come ottenere l'ennesima corrispondenza degli elementi tra due vettori in R?
- 15. generando un vettore di differenza tra due vettori
- 16. Come ottenere la correlazione dei due vettori in python
- 17. Differenze tra vettori _including_ NA
- 18. Come posso ottenere caratteri comuni a due vettori in C++?
- 19. Vettorizzazione della nozione di due punti (:) - valori tra due vettori in MATLAB
- 20. Come trovare la matrice di rotazione tra due vettori in THREE.js
- 21. aggiungendo due vettori da nomi
- 22. Vettore di direzione da Quaternion?
- 23. Rbind due vettori in R
- 24. Incollare due vettori con combinazioni di elementi tutti i vettori
- 25. Calcolo della distanza di Hamming per due vettori in R?
- 26. Unire due vettori da non NA valori
- 27. Qual è la differenza tra questi due modi per confrontare i vettori STL?
- 28. Converti Quaternion rotazione in matrice di rotazione?
- 29. Come ottenere la differenza tra due DataFrames?
- 30. Confronta due vettori di lunghezze disuguali per ottenere una matrice logica
possibile duplicato di [Ricerca di quaternioni che rappresentano la rotazione da un vettore a un altro] (http://stackoverflow.com/questions/1171849/finding-quaternion-representing-the-rotation-from-one-vector-to-another – Boann