| <!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: '200deg 1 0 0', |
| addFrom: '-100deg 1 0 0', |
| replaceTo: '40deg 1 0 0', |
| }, [ |
| {at: -1, is: '160deg 1 0 0'}, |
| {at: 0, is: '100deg 1 0 0'}, |
| {at: 0.25, is: '85deg 1 0 0'}, |
| {at: 0.75, is: '55deg 1 0 0'}, |
| {at: 1, is: '40deg 1 0 0'}, |
| {at: 2, is: '-20deg 1 0 0'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '-40deg 0 1 0', |
| replaceFrom: '50deg 0 1 0', |
| addTo: '10deg 0 1 0', |
| }, [ |
| {at: -1, is: '130deg 0 1 0'}, |
| {at: 0, is: '50deg 0 1 0'}, |
| {at: 0.25, is: '30deg 0 1 0'}, |
| {at: 0.75, is: '-10deg 0 1 0'}, |
| {at: 1, is: '-30deg 0 1 0'}, |
| {at: 2, is: '-110deg 0 1 0'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '40deg 1 2 3', |
| addFrom: '10deg 2 4 6', |
| addTo: '50deg 3 6 9', |
| }, [ |
| {at: -1, is: '10deg 1 2 3'}, |
| {at: 0, is: '50deg 1 2 3'}, |
| {at: 0.25, is: '60deg 1 2 3'}, |
| {at: 0.75, is: '80deg 1 2 3'}, |
| {at: 1, is: '90deg 1 2 3'}, |
| {at: 2, is: '130deg 1 2 3'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '270deg 1 2 3', |
| addFrom: '90deg 1 2 3', |
| replaceTo: '100deg 0 1 0', |
| }, [ |
| {at: -1, is: '100deg -5.49276e-17 -1 -1.64783e-16'}, |
| {at: 0, is: '360deg 1 2 3'}, |
| {at: 0.25, is: '25deg -1.20172e-16 1 -3.60516e-16'}, |
| {at: 0.75, is: '75deg -1.51909e-17 1 -4.55726e-17'}, |
| {at: 1, is: '100deg 0 1 0'}, |
| {at: 2, is: '160deg -3.3235e-17 -1 -9.97049e-17'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '90deg 1 2 3', |
| addFrom: '270deg 2 4 6', |
| replaceTo: '100deg 0 1 0', |
| }, [ |
| {at: -1, is: '100deg -5.49276e-17 -1 -1.64783e-16'}, |
| {at: 0, is: '360deg 1 2 3'}, |
| {at: 0.25, is: '25deg -1.20172e-16 1 -3.60516e-16'}, |
| {at: 0.75, is: '75deg -1.51909e-17 1 -4.55726e-17'}, |
| {at: 1, is: '100deg 0 1 0'}, |
| {at: 2, is: '160deg -3.3235e-17 -1 -9.97049e-17'}, |
| ]); |
| |
| assertComposition({ |
| property: 'rotate', |
| underlying: '90deg 1 0 0', |
| addFrom: '180deg 0 1 0', |
| replaceTo: '90deg 0 0 1', |
| }, [ |
| {at: -1, is: '90deg -6.12323e-17 -1 1.57009e-16'}, |
| {at: 0, is: '180deg -4.32978e-17 -0.707107 -0.707107'}, |
| {at: 0.25, is: '131.81deg -1.48952e-16 -0.894427 -0.447214'}, |
| {at: 0.75, is: '70.5288deg -2.94392e-17 -0.707107 0.707107'}, |
| {at: 1, is: '90deg'}, |
| {at: 2, is: '90deg -6.12323e-17 -1 -4.71028e-16'}, |
| ]); |
| </script> |