@modjes: mocht dit topic hier niet thuishoren, verplaats gerust.. kon geen beter forum bedenken!
ik heb een member functie in mijn quaternion class die een quaternion instelt op basis van een as en een hoek.
mijn identity wijst naar beneden, dus dit zou een quaternion opleveren die horizontaal staat. werkt prima.
maar nu heb ik meerdere assen met elk een gewenste hoek, en wil op basis daarvan mn quaternion maken.
dus bijv, 0.5 pi radialen over de x as en daarna 0.5 pi radialen over de z as.
ik dacht:
maar dit lijkt niet te werken (krijg iig een quaternion die in zoverre ongeldig is dat er bij omzetting naar de rotatiematrix die ik aan opengl stuur weinig meer zichtbaar is
)
zit er een fout in mijn code of mag je uberhaupt niet hoeken+asjes op deze manier met elkaar minglen?
ik heb een member functie in mijn quaternion class die een quaternion instelt op basis van een as en een hoek.
C++:
1
2
| Quaternion rot; rot.SetAngleAxis(pi * 0.5, Vector(1, 0, 0)); |
mijn identity wijst naar beneden, dus dit zou een quaternion opleveren die horizontaal staat. werkt prima.
maar nu heb ik meerdere assen met elk een gewenste hoek, en wil op basis daarvan mn quaternion maken.
dus bijv, 0.5 pi radialen over de x as en daarna 0.5 pi radialen over de z as.
ik dacht:
C++:
1
2
3
4
5
| Quaternion rotX; rotX.SetAngleAxis(pi * 0.5, Vector(1, 0, 0)); Quaternion rotZ; rotZ.SetAngleAxis(pi * 0.5, Vector(0, 0, 1)); Quaternion resultaat = rotX * rotZ; |
maar dit lijkt niet te werken (krijg iig een quaternion die in zoverre ongeldig is dat er bij omzetting naar de rotatiematrix die ik aan opengl stuur weinig meer zichtbaar is
zit er een fout in mijn code of mag je uberhaupt niet hoeken+asjes op deze manier met elkaar minglen?