Skip to content
Snippets Groups Projects
Unverified Commit c33766c2 authored by Jamie Temple's avatar Jamie Temple
Browse files

fix: SLERP CG3

parent f163e67c
Branches
No related tags found
1 merge request!1feat: base project
......@@ -116,7 +116,7 @@ export class Quaternion {
const sinTheta0 = Math.sin(theta0);
const sinTheta = Math.sin(theta);
const s0 = Math.cos(theta0) - dot * sinTheta / sinTheta0;
const s0 = Math.cos(theta) - dot * sinTheta / sinTheta0;
const s1 = sinTheta / sinTheta0;
return Quaternion.add(
......@@ -168,6 +168,6 @@ export class Quaternion {
}
public static inverse(qa: Quaternion): Quaternion {
return new Quaternion(-qa._x, -qa._y, -qa._z, qa._w);
return new Quaternion(-qa._x, -qa._y, -qa._z, -qa._w);
}
}
\ No newline at end of file
......@@ -167,9 +167,9 @@ class Rotator implements PipelineObserver, PipelineGUI {
if (this._mode === Mode[0] && this._orientations.length !== 0) {
this._objectReference.setRotationFromMatrix(this._orientations[this._index].eulerMatrix);
} else if (this._mode === Mode[1] && this._orientations.length > 1) {
let result: Quaternion = Quaternion.slerp(this._orientations[0], this._orientations[1], this._t);
let result: Quaternion = Quaternion.slerpCG3(this._orientations[0], this._orientations[1], this._t);
for (let i = 2; i < this._orientations.length; i++) {
result = Quaternion.slerp(result, this._orientations[i], this._t);
result = Quaternion.slerpCG3(result, this._orientations[i], this._t);
}
this._objectReference.setRotationFromMatrix(result.eulerMatrix);
this._slerp.copy(result);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment