ICQ Number : 120585863
E-mail: laextr@icqmail.com
ICQ Number : 120585863
E-mail: laextr@icqmail.com
public void rotate(double speed, Vector3 vAxis) {
Quaternion qRot = new Quaternion();
Quaternion qNewDir = new Quaternion(vView.sub(vPosition));
Quaternion qNewRot = new Quaternion();
qRot = qRot.buildFromAxisAngle(speed, vAxis);
qNewRot = qRot.mult(qNewDir).mult(qRot.conjugate());
vView = vPosition.add(qNewRot.v);
}
public void orbit(Vector3 vCenter, double speed, Vector3 vAxis) {
Quaternion qRot = new Quaternion();
Quaternion qNewPos = new Quaternion();
Vector3 vTmp = vPosition.sub(vCenter);
Quaternion qPos = new Quaternion(vTmp);
qRot = qRot.buildFromAxisAngle(speed, vAxis);
qNewPos = qRot.mult(qPos).mult(qRot.inverse());
Vector3 v = qNewPos.v;
vPosition = vView.add(v);
}
ICQ Number : 120585863
E-mail: laextr@icqmail.com
ICQ Number : 120585863
E-mail: laextr@icqmail.com
ICQ Number : 120585863
E-mail: laextr@icqmail.com
This topic has been locked by a moderator. New replies are not allowed.
With your permission, GameDev.net uses analytics cookies to understand how people use the platform. You can accept analytics or continue with necessary cookies only. Learn more