1 ! (c)2009 Joe Groff bsd license
2 USING: literals math math.functions math.vectors namespaces
8 CONSTANT: √2/2 $[ 0.5 sqrt ]
9 CONSTANT: -√2/2 $[ 0.5 sqrt neg ]
11 ! unit circle as NURBS
14 { $ √2/2 $ √2/2 $ √2/2 }
16 { $ -√2/2 $ √2/2 $ √2/2 }
18 { $ -√2/2 $ -√2/2 $ √2/2 }
20 { $ √2/2 $ -√2/2 $ √2/2 }
22 } { 0.0 0.0 0.0 0.25 0.25 0.5 0.5 0.75 0.75 1.0 1.0 1.0 } <nurbs-curve> test-nurbs set
24 [ t ] [ test-nurbs get 0.0 eval-nurbs { 1.0 0.0 } 0.00001 v~ ] unit-test
25 [ t ] [ test-nurbs get 0.25 eval-nurbs { 0.0 1.0 } 0.00001 v~ ] unit-test
26 [ t ] [ test-nurbs get 0.5 eval-nurbs { -1.0 0.0 } 0.00001 v~ ] unit-test
27 [ t ] [ test-nurbs get 0.75 eval-nurbs { 0.0 -1.0 } 0.00001 v~ ] unit-test
29 [ t ] [ test-nurbs get 0.125 eval-nurbs { $ √2/2 $ √2/2 } 0.00001 v~ ] unit-test
30 [ t ] [ test-nurbs get 0.375 eval-nurbs { $ -√2/2 $ √2/2 } 0.00001 v~ ] unit-test
31 [ t ] [ test-nurbs get 0.625 eval-nurbs { $ -√2/2 $ -√2/2 } 0.00001 v~ ] unit-test
32 [ t ] [ test-nurbs get 0.875 eval-nurbs { $ √2/2 $ -√2/2 } 0.00001 v~ ] unit-test