]> gitweb.factorcode.org Git - factor.git/blob - extra/math/affine-transforms/affine-transforms-tests.factor
52008323f6638677c68333df29f914a956a73d97
[factor.git] / extra / math / affine-transforms / affine-transforms-tests.factor
1 ! (c)2009 Joe Groff, see BSD license
2 USING: arrays kernel literals tools.test math math.affine-transforms
3 math.constants math.functions ;
4 IN: math.affine-transforms.tests
5
6 { { 7.25 4.25 } } [
7     { 0.75 0.75 } { 0.75 -0.75 } { 5.0 5.0 } <affine-transform>
8     { 1.0 2.0 } a.v
9 ] unit-test
10
11 { -1.125 } [
12     { 0.75 0.75 } { 0.75 -0.75 } { 5.0 5.0 } <affine-transform>
13     |a|
14 ] unit-test
15
16 { 1.0 3.0 } { 2.0 4.0 } { 5.0 6.0 } <affine-transform> }      [
17     { 1.0 2.0 } { 3.0 4.0 } { 5.0 6.0 } <affine-transform>
18     transpose-axes
19 ] unit-test
20
21 { 1.0 -1.0 } { 1.0 1.0 } { 0.0 0.0 } <affine-transform> }      [
22     { 0.5 0.5 } { -0.5 0.5 } { 5.0 5.0 } <affine-transform>
23     inverse-axes
24 ] unit-test
25
26 { 1.0 -1.0 } { 1.0 1.0 } { -10.0 0.0 } <affine-transform> }      [
27     { 0.5 0.5 } { -0.5 0.5 } { 5.0 5.0 } <affine-transform>
28     inverse-transform
29 ] unit-test
30
31 { 1.0 0.0 } { 0.0 1.0 } { 0.0 0.0 } <affine-transform> }      [
32     { 0.5 0.5 } { -0.5 0.5 } { 5.0 5.0 } <affine-transform>
33     dup inverse-transform a.
34 ] unit-test
35
36 { 2.0 -1.0 } { -1.0 -2.0 } { 5.0 -6.0 } <affine-transform> }      [
37     { 1.0 0.0 } { 0.0 -1.0 } { 0.0 0.0 } <affine-transform>
38     { 2.0 1.0 } { -1.0 2.0 } { 5.0 6.0 } <affine-transform>
39     a.
40 ] unit-test
41
42 { t } [
43     { 0.01  0.02  } { 0.03  0.04  } { 0.05  0.06  } <affine-transform>
44     { 0.011 0.021 } { 0.031 0.041 } { 0.051 0.061 } <affine-transform> 0.01 a~
45 ] unit-test
46
47 { 1.0 0.0 } { 0.0 1.0 } { 5.0 10.0 } <affine-transform> }      [
48     { 5.0 10.0 } <translation>
49 ] unit-test
50
51 { $[ pi  0.25 * cos ] $[ pi 0.25 * sin ] }
52 { $[ pi -0.25 * sin ] $[ pi 0.25 * cos ] }
53 { 0.0 0.0 } <affine-transform> }      [
54     pi 0.25 * <rotation>
55 ] unit-test