git-svn-id: svn://db.shs.com.ru/libs@640 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-12-03 08:45:05 +00:00
parent c2100ecbc0
commit 844173d571
4 changed files with 11 additions and 10 deletions

View File

@@ -377,7 +377,7 @@ QQuaternion Transform::fromAxes(const QVector3D & xAxis, const QVector3D & yAxis
}
QVector3D Transform::fromDirection(QVector3D d) {
QVector3D Transform::fromDirection(QVector3D d, float roll) {
QVector3D ret;
//QMatrix3x3 m = QQuaternion::fromDirection(d, QVector3D()).toRotationMatrix();
//ret[0] = -atan2(m(0, 2), m(1, 2));
@@ -385,7 +385,12 @@ QVector3D Transform::fromDirection(QVector3D d) {
//ret[2] = atan2(m(2, 0), m(2, 1));
d.normalize();
ret[0] = M_PI - acos(d.z());
ret[1] = roll * deg2rad;
ret[2] = -atan2(d.x(), d.y());
if (ret[0] < 0.) ret[0] += M_2PI;
if (ret[0] >= M_2PI) ret[0] -= M_2PI;
if (ret[2] < 0.) ret[2] += M_2PI;
if (ret[2] >= M_2PI) ret[2] -= M_2PI;
return ret * rad2deg;
}