| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <script src="../../http/tests/inspector/inspector-test.js"></script> | 3 <script src="../../http/tests/inspector/inspector-test.js"></script> |
| 4 <script> | 4 <script> |
| 5 function test() | 5 function test() |
| 6 { | 6 { |
| 7 InspectorTest.runTestSuite([ | 7 InspectorTest.runTestSuite([ |
| 8 | 8 |
| 9 function testVectorLength(next) | 9 function testVectorLength(next) |
| 10 { | 10 { |
| 11 var testVectors = [ | 11 var testVectors = [ |
| 12 new Common.Geometry.Vector(3, 4, 5), | 12 new UI.Geometry.Vector(3, 4, 5), |
| 13 new Common.Geometry.Vector(-1, 0, -1), | 13 new UI.Geometry.Vector(-1, 0, -1), |
| 14 new Common.Geometry.Vector(6, -2, 3) | 14 new UI.Geometry.Vector(6, -2, 3) |
| 15 ]; | 15 ]; |
| 16 InspectorTest.addResult("Testing vector length"); | 16 InspectorTest.addResult("Testing vector length"); |
| 17 for (var i = 0; i < testVectors.length; ++i) | 17 for (var i = 0; i < testVectors.length; ++i) |
| 18 InspectorTest.addResult(String.sprintf("Vector length: %.4f"
, testVectors[i].length())); | 18 InspectorTest.addResult(String.sprintf("Vector length: %.4f"
, testVectors[i].length())); |
| 19 | 19 |
| 20 next(); | 20 next(); |
| 21 }, | 21 }, |
| 22 | 22 |
| 23 function testVectorNormalize(next) | 23 function testVectorNormalize(next) |
| 24 { | 24 { |
| 25 var testVectors = [ | 25 var testVectors = [ |
| 26 new Common.Geometry.Vector(3, 4, 5), | 26 new UI.Geometry.Vector(3, 4, 5), |
| 27 new Common.Geometry.Vector(-1, 0, -1), | 27 new UI.Geometry.Vector(-1, 0, -1), |
| 28 new Common.Geometry.Vector(6, -2, 3) | 28 new UI.Geometry.Vector(6, -2, 3) |
| 29 ]; | 29 ]; |
| 30 | 30 |
| 31 var eps = 1e-05; | 31 var eps = 1e-05; |
| 32 for (var i = 0; i < testVectors.length; ++i) { | 32 for (var i = 0; i < testVectors.length; ++i) { |
| 33 testVectors[i].normalize(); | 33 testVectors[i].normalize(); |
| 34 InspectorTest.assertTrue(Math.abs(testVectors[i].length() -
1) <= eps, "Length of normalized vector is not 1") | 34 InspectorTest.assertTrue(Math.abs(testVectors[i].length() -
1) <= eps, "Length of normalized vector is not 1") |
| 35 } | 35 } |
| 36 | 36 |
| 37 var zeroVector = new Common.Geometry.Vector(0, 0, 0); | 37 var zeroVector = new UI.Geometry.Vector(0, 0, 0); |
| 38 zeroVector.normalize(); | 38 zeroVector.normalize(); |
| 39 InspectorTest.assertTrue(zeroVector.length() <= eps, "Zero vecto
r after normalization isn't zero vector"); | 39 InspectorTest.assertTrue(zeroVector.length() <= eps, "Zero vecto
r after normalization isn't zero vector"); |
| 40 next(); | 40 next(); |
| 41 }, | 41 }, |
| 42 | 42 |
| 43 function testScalarProduct(next) | 43 function testScalarProduct(next) |
| 44 { | 44 { |
| 45 var vectorsU = [ | 45 var vectorsU = [ |
| 46 new Common.Geometry.Vector(3, 4, 5), | 46 new UI.Geometry.Vector(3, 4, 5), |
| 47 new Common.Geometry.Vector(-1, 0, -1), | 47 new UI.Geometry.Vector(-1, 0, -1), |
| 48 new Common.Geometry.Vector(6, -2, 3) | 48 new UI.Geometry.Vector(6, -2, 3) |
| 49 ]; | 49 ]; |
| 50 | 50 |
| 51 var vectorsV = [ | 51 var vectorsV = [ |
| 52 new Common.Geometry.Vector(1, 10, -5), | 52 new UI.Geometry.Vector(1, 10, -5), |
| 53 new Common.Geometry.Vector(2, 3, 4), | 53 new UI.Geometry.Vector(2, 3, 4), |
| 54 new Common.Geometry.Vector(0, 0, 0) | 54 new UI.Geometry.Vector(0, 0, 0) |
| 55 ]; | 55 ]; |
| 56 | 56 |
| 57 for (var i = 0; i < vectorsU.length; ++i) | 57 for (var i = 0; i < vectorsU.length; ++i) |
| 58 InspectorTest.addResult("Scalar Product:" + Common.Geometry.
scalarProduct(vectorsU[i], vectorsV[i])) | 58 InspectorTest.addResult("Scalar Product:" + UI.Geometry.scal
arProduct(vectorsU[i], vectorsV[i])) |
| 59 | 59 |
| 60 next(); | 60 next(); |
| 61 }, | 61 }, |
| 62 | 62 |
| 63 function testCrossProduct(next) | 63 function testCrossProduct(next) |
| 64 { | 64 { |
| 65 var vectorsU = [ | 65 var vectorsU = [ |
| 66 new Common.Geometry.Vector(3, 4, 5), | 66 new UI.Geometry.Vector(3, 4, 5), |
| 67 new Common.Geometry.Vector(-1, 0, -1), | 67 new UI.Geometry.Vector(-1, 0, -1), |
| 68 new Common.Geometry.Vector(6, -2, 3) | 68 new UI.Geometry.Vector(6, -2, 3) |
| 69 ]; | 69 ]; |
| 70 | 70 |
| 71 var vectorsV = [ | 71 var vectorsV = [ |
| 72 new Common.Geometry.Vector(1, 10, -5), | 72 new UI.Geometry.Vector(1, 10, -5), |
| 73 new Common.Geometry.Vector(2, 3, 4), | 73 new UI.Geometry.Vector(2, 3, 4), |
| 74 new Common.Geometry.Vector(0, 0, 0) | 74 new UI.Geometry.Vector(0, 0, 0) |
| 75 ]; | 75 ]; |
| 76 | 76 |
| 77 for (var i = 0; i < vectorsU.length; ++i) { | 77 for (var i = 0; i < vectorsU.length; ++i) { |
| 78 var result = Common.Geometry.crossProduct(vectorsU[i], vecto
rsV[i]); | 78 var result = UI.Geometry.crossProduct(vectorsU[i], vectorsV[
i]); |
| 79 InspectorTest.addResult(String.sprintf("Cross Product: [%.4f
, %.4f, %.4f]", result.x, result.y, result.z)); | 79 InspectorTest.addResult(String.sprintf("Cross Product: [%.4f
, %.4f, %.4f]", result.x, result.y, result.z)); |
| 80 } | 80 } |
| 81 | 81 |
| 82 next(); | 82 next(); |
| 83 }, | 83 }, |
| 84 | 84 |
| 85 function testCalculateAngle(next) | 85 function testCalculateAngle(next) |
| 86 { | 86 { |
| 87 var vectorsU = [ | 87 var vectorsU = [ |
| 88 new Common.Geometry.Vector(3, 4, 5), | 88 new UI.Geometry.Vector(3, 4, 5), |
| 89 new Common.Geometry.Vector(-1, 0, -1), | 89 new UI.Geometry.Vector(-1, 0, -1), |
| 90 new Common.Geometry.Vector(1, 1, 0), | 90 new UI.Geometry.Vector(1, 1, 0), |
| 91 new Common.Geometry.Vector(6, -2, 3), | 91 new UI.Geometry.Vector(6, -2, 3), |
| 92 ]; | 92 ]; |
| 93 | 93 |
| 94 var vectorsV = [ | 94 var vectorsV = [ |
| 95 new Common.Geometry.Vector(-3, -4, -5), | 95 new UI.Geometry.Vector(-3, -4, -5), |
| 96 new Common.Geometry.Vector(2, 3, 4), | 96 new UI.Geometry.Vector(2, 3, 4), |
| 97 new Common.Geometry.Vector(-1, 1, 0), | 97 new UI.Geometry.Vector(-1, 1, 0), |
| 98 new Common.Geometry.Vector(0, 0, 0), | 98 new UI.Geometry.Vector(0, 0, 0), |
| 99 ]; | 99 ]; |
| 100 | 100 |
| 101 for (var i = 0; i < vectorsU.length; ++i) | 101 for (var i = 0; i < vectorsU.length; ++i) |
| 102 InspectorTest.addResult(String.sprintf("Calculate angle: %.4
f", Common.Geometry.calculateAngle(vectorsU[i], vectorsV[i]))); | 102 InspectorTest.addResult(String.sprintf("Calculate angle: %.4
f", UI.Geometry.calculateAngle(vectorsU[i], vectorsV[i]))); |
| 103 | 103 |
| 104 next(); | 104 next(); |
| 105 }, | 105 }, |
| 106 | 106 |
| 107 function testRadiansToDegrees(next) | 107 function testRadiansToDegrees(next) |
| 108 { | 108 { |
| 109 var angles = [Math.PI, Math.PI / 4, Math.PI / 6]; | 109 var angles = [Math.PI, Math.PI / 4, Math.PI / 6]; |
| 110 for (var i = 0; i < angles.length; ++i) | 110 for (var i = 0; i < angles.length; ++i) |
| 111 InspectorTest.addResult(String.sprintf("deg: %.4f", Common.G
eometry.radiansToDegrees(angles[i]))); | 111 InspectorTest.addResult(String.sprintf("deg: %.4f", UI.Geome
try.radiansToDegrees(angles[i]))); |
| 112 | 112 |
| 113 next(); | 113 next(); |
| 114 }, | 114 }, |
| 115 | 115 |
| 116 function testDegreesToRadians(next) | 116 function testDegreesToRadians(next) |
| 117 { | 117 { |
| 118 var angles = [-30, 0, 30, 90, 180]; | 118 var angles = [-30, 0, 30, 90, 180]; |
| 119 for (var i = 0; i < angles.length; ++i) | 119 for (var i = 0; i < angles.length; ++i) |
| 120 InspectorTest.addResult(String.sprintf("rad: %.4f", Common.G
eometry.degreesToRadians(angles[i]))); | 120 InspectorTest.addResult(String.sprintf("rad: %.4f", UI.Geome
try.degreesToRadians(angles[i]))); |
| 121 | 121 |
| 122 next(); | 122 next(); |
| 123 }, | 123 }, |
| 124 | 124 |
| 125 function testEulerAnglesFromRotationMatrix(next) | 125 function testEulerAnglesFromRotationMatrix(next) |
| 126 { | 126 { |
| 127 var rotationMatrices = [ | 127 var rotationMatrices = [ |
| 128 "matrix3d(0.612, 0.353, -0.707, 0, 0.280, 0.739, 0.612, 0, 0
.739, -0.573, 0.353, 0, 0, 0, 0, 1)", | 128 "matrix3d(0.612, 0.353, -0.707, 0, 0.280, 0.739, 0.612, 0, 0
.739, -0.573, 0.353, 0, 0, 0, 0, 1)", |
| 129 | 129 |
| 130 "matrix3d(0.353, 0.612, -0.707, 0, -0.573, 0.739, 0.353, 0,
0.739, 0.280, 0.612, 0, 0, 0, 0, 1)", | 130 "matrix3d(0.353, 0.612, -0.707, 0, -0.573, 0.739, 0.353, 0,
0.739, 0.280, 0.612, 0, 0, 0, 0, 1)", |
| 131 | 131 |
| 132 "matrix3d(0.342, 0, -0.939, 0, 0.321, 0.939, 0.116, 0, 0.883
, -0.342, 0.321, 0, 0, 0, 0, 1)" | 132 "matrix3d(0.342, 0, -0.939, 0, 0.321, 0.939, 0.116, 0, 0.883
, -0.342, 0.321, 0, 0, 0, 0, 1)" |
| 133 ]; | 133 ]; |
| 134 | 134 |
| 135 for (var i = 0; i < rotationMatrices.length; ++i) { | 135 for (var i = 0; i < rotationMatrices.length; ++i) { |
| 136 var angles = Common.Geometry.EulerAngles.fromRotationMatrix(
new WebKitCSSMatrix(rotationMatrices[i])); | 136 var angles = UI.Geometry.EulerAngles.fromRotationMatrix(new
WebKitCSSMatrix(rotationMatrices[i])); |
| 137 InspectorTest.addResult(String.sprintf("Euler angles: %.4f %
.4f %.4f", angles.alpha, angles.beta, angles.gamma)); | 137 InspectorTest.addResult(String.sprintf("Euler angles: %.4f %
.4f %.4f", angles.alpha, angles.beta, angles.gamma)); |
| 138 } | 138 } |
| 139 next(); | 139 next(); |
| 140 }, | 140 }, |
| 141 | 141 |
| 142 function testEulerAnglesToRotate3DString(next) | 142 function testEulerAnglesToRotate3DString(next) |
| 143 { | 143 { |
| 144 var angles = [ | 144 var angles = [ |
| 145 new Common.Geometry.EulerAngles(0, 0, 0), | 145 new UI.Geometry.EulerAngles(0, 0, 0), |
| 146 new Common.Geometry.EulerAngles(1, 2, 3), | 146 new UI.Geometry.EulerAngles(1, 2, 3), |
| 147 new Common.Geometry.EulerAngles(-1, -2, 3), | 147 new UI.Geometry.EulerAngles(-1, -2, 3), |
| 148 new Common.Geometry.EulerAngles(-1, 2, -3), | 148 new UI.Geometry.EulerAngles(-1, 2, -3), |
| 149 new Common.Geometry.EulerAngles(0, 1, 2), | 149 new UI.Geometry.EulerAngles(0, 1, 2), |
| 150 new Common.Geometry.EulerAngles(1, 0, 2), | 150 new UI.Geometry.EulerAngles(1, 0, 2), |
| 151 new Common.Geometry.EulerAngles(1, 2, 0) | 151 new UI.Geometry.EulerAngles(1, 2, 0) |
| 152 ]; | 152 ]; |
| 153 | 153 |
| 154 for (var i = 0; i < angles.length; ++i) { | 154 for (var i = 0; i < angles.length; ++i) { |
| 155 var rotate3DString = angles[i].toRotate3DString(); | 155 var rotate3DString = angles[i].toRotate3DString(); |
| 156 InspectorTest.addResult(String.sprintf("Transform: %s", rota
te3DString)); | 156 InspectorTest.addResult(String.sprintf("Transform: %s", rota
te3DString)); |
| 157 } | 157 } |
| 158 next(); | 158 next(); |
| 159 } | 159 } |
| 160 | 160 |
| 161 ]); | 161 ]); |
| 162 | 162 |
| 163 } | 163 } |
| 164 </script> | 164 </script> |
| 165 </head> | 165 </head> |
| 166 <body onload="runTest()"> | 166 <body onload="runTest()"> |
| 167 <p>Tests Geometry utility class</p> | 167 <p>Tests Geometry utility class</p> |
| 168 </body> | 168 </body> |
| 169 </html> | 169 </html> |
| OLD | NEW |