Skip to content

Commit c87e12f

Browse files
committed
Merge pull request #69 from kotofurumiya/fix/rotation-y-direction
Fix clockwise rotations in rotateY() and setRotationY().
2 parents 8cfe700 + 4cfaa8c commit c87e12f

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

lib/src/vector_math/matrix4.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -807,14 +807,14 @@ class Matrix4 {
807807
Matrix4 rotateY(double angle) {
808808
double cosAngle = Math.cos(angle);
809809
double sinAngle = Math.sin(angle);
810-
var t1 = storage[0] * cosAngle + storage[8] * sinAngle;
811-
var t2 = storage[1] * cosAngle + storage[9] * sinAngle;
812-
var t3 = storage[2] * cosAngle + storage[10] * sinAngle;
813-
var t4 = storage[3] * cosAngle + storage[11] * sinAngle;
814-
var t5 = storage[0] * -sinAngle + storage[8] * cosAngle;
815-
var t6 = storage[1] * -sinAngle + storage[9] * cosAngle;
816-
var t7 = storage[2] * -sinAngle + storage[10] * cosAngle;
817-
var t8 = storage[3] * -sinAngle + storage[11] * cosAngle;
810+
var t1 = storage[0] * cosAngle + storage[8] * -sinAngle;
811+
var t2 = storage[1] * cosAngle + storage[9] * -sinAngle;
812+
var t3 = storage[2] * cosAngle + storage[10] * -sinAngle;
813+
var t4 = storage[3] * cosAngle + storage[11] * -sinAngle;
814+
var t5 = storage[0] * sinAngle + storage[8] * cosAngle;
815+
var t6 = storage[1] * sinAngle + storage[9] * cosAngle;
816+
var t7 = storage[2] * sinAngle + storage[10] * cosAngle;
817+
var t8 = storage[3] * sinAngle + storage[11] * cosAngle;
818818
storage[0] = t1;
819819
storage[1] = t2;
820820
storage[2] = t3;
@@ -1348,11 +1348,11 @@ class Matrix4 {
13481348
double s = Math.sin(radians);
13491349
storage[0] = c;
13501350
storage[1] = 0.0;
1351-
storage[2] = s;
1351+
storage[2] = -s;
13521352
storage[4] = 0.0;
13531353
storage[5] = 1.0;
13541354
storage[6] = 0.0;
1355-
storage[8] = -s;
1355+
storage[8] = s;
13561356
storage[9] = 0.0;
13571357
storage[10] = c;
13581358
storage[3] = 0.0;

lib/src/vector_math_64/matrix4.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -807,14 +807,14 @@ class Matrix4 {
807807
Matrix4 rotateY(double angle) {
808808
double cosAngle = Math.cos(angle);
809809
double sinAngle = Math.sin(angle);
810-
var t1 = storage[0] * cosAngle + storage[8] * sinAngle;
811-
var t2 = storage[1] * cosAngle + storage[9] * sinAngle;
812-
var t3 = storage[2] * cosAngle + storage[10] * sinAngle;
813-
var t4 = storage[3] * cosAngle + storage[11] * sinAngle;
814-
var t5 = storage[0] * -sinAngle + storage[8] * cosAngle;
815-
var t6 = storage[1] * -sinAngle + storage[9] * cosAngle;
816-
var t7 = storage[2] * -sinAngle + storage[10] * cosAngle;
817-
var t8 = storage[3] * -sinAngle + storage[11] * cosAngle;
810+
var t1 = storage[0] * cosAngle + storage[8] * -sinAngle;
811+
var t2 = storage[1] * cosAngle + storage[9] * -sinAngle;
812+
var t3 = storage[2] * cosAngle + storage[10] * -sinAngle;
813+
var t4 = storage[3] * cosAngle + storage[11] * -sinAngle;
814+
var t5 = storage[0] * sinAngle + storage[8] * cosAngle;
815+
var t6 = storage[1] * sinAngle + storage[9] * cosAngle;
816+
var t7 = storage[2] * sinAngle + storage[10] * cosAngle;
817+
var t8 = storage[3] * sinAngle + storage[11] * cosAngle;
818818
storage[0] = t1;
819819
storage[1] = t2;
820820
storage[2] = t3;
@@ -1348,11 +1348,11 @@ class Matrix4 {
13481348
double s = Math.sin(radians);
13491349
storage[0] = c;
13501350
storage[1] = 0.0;
1351-
storage[2] = s;
1351+
storage[2] = -s;
13521352
storage[4] = 0.0;
13531353
storage[5] = 1.0;
13541354
storage[6] = 0.0;
1355-
storage[8] = -s;
1355+
storage[8] = s;
13561356
storage[9] = 0.0;
13571357
storage[10] = c;
13581358
storage[3] = 0.0;

0 commit comments

Comments
 (0)