2017-08-25 18:34:26 -04:00
|
|
|
! Copyright (C) 2009 Joe Groff.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2009-05-21 21:55:44 -04:00
|
|
|
USING: literals math math.functions math.vectors namespaces
|
|
|
|
nurbs tools.test ;
|
|
|
|
IN: nurbs.tests
|
|
|
|
|
|
|
|
SYMBOL: test-nurbs
|
|
|
|
|
|
|
|
CONSTANT: √2/2 $[ 0.5 sqrt ]
|
|
|
|
CONSTANT: -√2/2 $[ 0.5 sqrt neg ]
|
|
|
|
|
|
|
|
! unit circle as NURBS
|
|
|
|
3 {
|
|
|
|
{ 1.0 0.0 1.0 }
|
2009-05-28 19:57:49 -04:00
|
|
|
${ √2/2 √2/2 √2/2 }
|
2009-05-21 21:55:44 -04:00
|
|
|
{ 0.0 1.0 1.0 }
|
2009-05-28 19:57:49 -04:00
|
|
|
${ -√2/2 √2/2 √2/2 }
|
2009-05-21 21:55:44 -04:00
|
|
|
{ -1.0 0.0 1.0 }
|
2009-05-28 19:57:49 -04:00
|
|
|
${ -√2/2 -√2/2 √2/2 }
|
2009-05-21 21:55:44 -04:00
|
|
|
{ 0.0 -1.0 1.0 }
|
2009-05-28 19:57:49 -04:00
|
|
|
${ √2/2 -√2/2 √2/2 }
|
2009-05-21 21:55:44 -04:00
|
|
|
{ 1.0 0.0 1.0 }
|
|
|
|
} { 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
|
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ t } [ test-nurbs get 0.0 eval-nurbs { 1.0 0.0 } 0.00001 v~ ] unit-test
|
|
|
|
{ t } [ test-nurbs get 0.25 eval-nurbs { 0.0 1.0 } 0.00001 v~ ] unit-test
|
|
|
|
{ t } [ test-nurbs get 0.5 eval-nurbs { -1.0 0.0 } 0.00001 v~ ] unit-test
|
|
|
|
{ t } [ test-nurbs get 0.75 eval-nurbs { 0.0 -1.0 } 0.00001 v~ ] unit-test
|
2009-05-21 21:55:44 -04:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ t } [ test-nurbs get 0.125 eval-nurbs ${ √2/2 √2/2 } 0.00001 v~ ] unit-test
|
|
|
|
{ t } [ test-nurbs get 0.375 eval-nurbs ${ -√2/2 √2/2 } 0.00001 v~ ] unit-test
|
|
|
|
{ t } [ test-nurbs get 0.625 eval-nurbs ${ -√2/2 -√2/2 } 0.00001 v~ ] unit-test
|
|
|
|
{ t } [ test-nurbs get 0.875 eval-nurbs ${ √2/2 -√2/2 } 0.00001 v~ ] unit-test
|