puts "============" puts "OCC23706" puts "============" puts "" ######################################################################### # Cannot project point on curve ######################################################################### 2dbsplinecurve b9 2 8 1 2 2 1 3 1 4 1 5 1 6 1 7 1 8 2 4 -3 1 6 8 1 10 11 1 10 11 1 10 11 1 14 14 1 5 8 1 2dbsplinecurve b10 2 8 2 2 2.5 1 3 1 3.5 1 4 1 4.5 1 5 1 5.5 2 5 20 1 8 15 1 12 18 1 12 18 1 12 18 1 16 21 1 7 12 1 set info [2dextrema b9 b10] set status 0 for { set i 1 } { $i <= 9 } { incr i } { regexp "dist $i: +(\[-0-9.+eE\]+)" $info full pp1 if { $pp1 != 7.2801098892805181 } { puts "Error : Extrema is wrong on dist $i" set status 1 } } for { set j 11 } { $j <= 19 } { incr j 1 } { regexp "dist $j: +(\[-0-9.+eE\]+)" $info full pp2 if { $pp2 != 7.2801098892805181 } { puts "Error : Extrema is wrong on dist $j" set status 1 } } regexp {dist 10: +([-0-9.+eE]+)} $info full pp3 regexp {dist 20: +([-0-9.+eE]+)} $info full pp4 regexp {dist 21: +([-0-9.+eE]+)} $info full pp5 set pp_c 4.316921907096102 set pp_ch 4.3169219070961038 if { $pp3 != $pp_c } { puts "Error : Extrema is wrong on dist 10" set status 1 } if { $pp4 != $pp_ch || $pp5 != $pp_ch} { puts "Error : Extrema is wrong on dist 20 or 21" set status 1 } if { $status != 0 } { puts "Error : Extrema is wrong" } else { puts "OK: Extrema is valid" }