| <!DOCTYPE html> |
| <meta charset="UTF-8"> |
| <script src="../interpolation/resources/interpolation-test.js"></script> |
| <script> |
| assertComposition({ |
| property: 'rotate', |
| underlying: '100deg', |
| addFrom: '10deg', |
| addTo: '30deg', |
| }, [ |
| {at: -1, is: '90deg'}, |
| {at: 0, is: '110deg'}, |
| {at: 0.25, is: '115deg'}, |
| {at: 0.75, is: '125deg'}, |
| {at: 1, is: '130deg'}, |
| {at: 2, is: '150deg'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '1 0 0 200deg', |
| addFrom: '1 0 0 -100deg', |
| replaceTo: '1 0 0 40deg', |
| }, [ |
| {at: -1, is: '1 0 0 160deg'}, |
| {at: 0, is: '1 0 0 100deg'}, |
| {at: 0.25, is: '1 0 0 85deg'}, |
| {at: 0.75, is: '1 0 0 55deg'}, |
| {at: 1, is: '1 0 0 40deg'}, |
| {at: 2, is: '1 0 0 -20deg'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '0 1 0 -40deg', |
| replaceFrom: '0 1 0 50deg', |
| addTo: '0 1 0 10deg', |
| }, [ |
| {at: -1, is: '0 1 0 130deg'}, |
| {at: 0, is: '0 1 0 50deg'}, |
| {at: 0.25, is: '0 1 0 30deg'}, |
| {at: 0.75, is: '0 1 0 -10deg'}, |
| {at: 1, is: '0 1 0 -30deg'}, |
| {at: 2, is: '0 1 0 -110deg'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '1 2 3 40deg', |
| addFrom: '2 4 6 10deg', |
| addTo: '3 6 9 50deg', |
| }, [ |
| {at: -1, is: '1 2 3 10deg'}, |
| {at: 0, is: '1 2 3 50deg'}, |
| {at: 0.25, is: '1 2 3 60deg'}, |
| {at: 0.75, is: '1 2 3 80deg'}, |
| {at: 1, is: '1 2 3 90deg'}, |
| {at: 2, is: '1 2 3 130deg'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '1 2 3 270deg', |
| addFrom: '1 2 3 90deg', |
| replaceTo: '0 1 0 100deg', |
| }, [ |
| {at: -1, is: '-5.49276e-17 -1 -1.64783e-16 100deg'}, |
| {at: 0, is: '1 2 3 360deg'}, |
| {at: 0.25, is: '-1.20172e-16 1 -3.60516e-16 25deg'}, |
| {at: 0.75, is: '-1.51909e-17 1 -4.55726e-17 75deg'}, |
| {at: 1, is: '0 1 0 100deg'}, |
| {at: 2, is: '-3.3235e-17 -1 -9.97049e-17 160deg'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '1 2 3 90deg', |
| addFrom: '2 4 6 270deg', |
| replaceTo: '0 1 0 100deg', |
| }, [ |
| {at: -1, is: '-5.49276e-17 -1 -1.64783e-16 100deg'}, |
| {at: 0, is: '1 2 3 360deg'}, |
| {at: 0.25, is: '-1.20172e-16 1 -3.60516e-16 25deg'}, |
| {at: 0.75, is: '-1.51909e-17 1 -4.55726e-17 75deg'}, |
| {at: 1, is: '0 1 0 100deg'}, |
| {at: 2, is: '-3.3235e-17 -1 -9.97049e-17 160deg'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '1 0 0 90deg', |
| addFrom: '0 1 0 180deg', |
| replaceTo: '0 0 1 90deg', |
| }, [ |
| {at: -1, is: '-6.12323e-17 -1 1.57009e-16 90deg'}, |
| {at: 0, is: '-4.32978e-17 -0.707107 -0.707107 180deg'}, |
| {at: 0.25, is: '-1.48952e-16 -0.894427 -0.447214 131.81deg'}, |
| {at: 0.75, is: '-2.94392e-17 -0.707107 0.707107 70.5288deg'}, |
| {at: 1, is: '90deg'}, |
| {at: 2, is: '-6.12323e-17 -1 -4.71028e-16 90deg'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: 'none', |
| addFrom: 'none', |
| replaceTo: '0 1 0 100deg', |
| }, [ |
| {at: -1, is: '0 1 0 -100deg'}, |
| {at: 0, is: 'none'}, |
| {at: 0.25, is: '-1.20172e-16 1 -3.60516e-16 25deg'}, |
| {at: 0.75, is: '-1.51909e-17 1 -4.55726e-17 75deg'}, |
| {at: 1, is: '0 1 0 100deg'}, |
| {at: 2, is: '0 1 0 200deg'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: 'none', |
| addFrom: '2 4 6 270deg', |
| replaceTo: 'none', |
| }, [ |
| {at: -1, is: '2 4 6 540deg'}, |
| {at: 0, is: '2 4 6 270deg'}, |
| {at: 0.25, is: '2 4 6 202.5deg'}, |
| {at: 0.75, is: '2 4 6 67.5deg'}, |
| {at: 1, is: 'none'}, |
| {at: 2, is: '2 4 6 -270deg'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '1 2 3 90deg', |
| addFrom: 'none', |
| replaceTo: '0 1 0 100deg', |
| }, [ |
| {at: -1, is: '0.31 -0.22 0.92 131.66deg'}, |
| {at: 0, is: '1 2 3 90deg'}, |
| {at: 0.25, is: '0.21 0.73 0.64 86.72deg'}, |
| {at: 0.75, is: '0.07 0.97 0.21 92.05deg'}, |
| {at: 1, is: '0 1 0 100deg'}, |
| {at: 2, is: '-0.2 0.79 -0.59 151.11deg'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '1 2 3 90deg', |
| addFrom: '2 4 6 270deg', |
| replaceTo: 'none', |
| }, [ |
| {at: -1, is: '1 2 3 720deg'}, |
| {at: 0, is: '1 2 3 360deg'}, |
| {at: 0.25, is: '1 2 3 270deg'}, |
| {at: 0.75, is: '1 2 3 90deg'}, |
| {at: 1, is: 'none'}, |
| {at: 2, is: '1 2 3 -360deg'}, |
| ]); |
| </script> |