1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
puts "============"
puts "OCC23706"
puts "============"
puts ""
#########################################################################
# Cannot project point on curve
#########################################################################
2dbsplinecurve c1 2 5 0 3 0.2 1 0.3 1 0.4 1 0.5 3 2 0 1 3 -1 1 5 5 1 5 5 1 6 8 1 4 7 1
2dbsplinecurve c3 2 4 1 3 2 1 3 1 5 3 6 3 1 5.001 5.01 1 5.001 5.01 1 3 9 1 2 11 1
set info [2dintersect c1 c3]
if { [regexp "Intersection point 1" $info] != 1 } {
puts "Error : Intersection should have two points"
} else {
regexp {Intersection point 1 +: +([-0-9.+eE]+)} $info full p11t
regexp {Intersection point 1 +: +[-0-9.+eE]+ +([-0-9.+eE]+)} $info full p12t
}
if { [regexp "Intersection point 2" $info] != 1 } {
puts "Error : Intersection should have two points"
} else {
regexp {Intersection point 2 +: +([-0-9.+eE]+)} $info full p21t
regexp {Intersection point 2 +: +[-0-9.+eE]+ +([-0-9.+eE]+)} $info full p22t
}
set p11 [expr round($p11t*10000)]
set p12 [expr round($p12t*10000)]
set p21 [expr round($p21t*10000)]
set p22 [expr round($p22t*10000)]
if { ${p11} != 50024 || ${p12} != 50072 || ${p21} != 40024 || ${p22} != 70012 } {
puts "Error : Points of intersection have wrong coordinates"
} else {
puts "OK: Points of intersection are right"
}
|