--- /dev/null
+2dbeziercurve result 8 0 0 0 1 -2 1 -2 -3 4 -3 4 5 -6 5 -6 -4
+reverse result
+set length 14.909963698913941
+
--- /dev/null
+2dbeziercurve result 3 -2 0 0 -3 2 0
+insertpole result 2 1 6 1
+set length 7.1843642663784797
+
--- /dev/null
+2dbeziercurve b1 8 0 0 0 1 -2 1 -2 -3 4 -3 4 5 -6 5 -6 -4
+trim b2 b1 0 0.2
+trim b3 b1 0.3 0.5
+trim result b1 0.6 0.8
+set length 3.3427826104791247
+
--- /dev/null
+2dbeziercurve result 8 0 0 0 1 -2 1 -2 -3 4 -3 4 5 -6 5 -6 -4
+2dlmirror result 0 0 0 1
+set length 14.909963698913938
+
--- /dev/null
+2dbeziercurve result 8 0 0 0 1 -2 1 -2 -3 4 -3 4 5 -6 5 -6 -4
+2dpmirror result 0 0
+set length 14.909963698913938
+
--- /dev/null
+2dbeziercurve result 8 0 0 0 1 -2 1 -2 -3 4 -3 4 5 -6 5 -6 -4
+repeat 20 { 2dpscale result 0 0 0 1.1; copy result . }
+set length 100.30678002889022
+
--- /dev/null
+2dbeziercurve result 8 0 0 0 1 -2 1 -2 -3 4 -3 4 5 -6 5 -6 -4
+2drotate result 0 0 90
+set length 14.909963698913938
+
--- /dev/null
+2dbeziercurve result 3 2 0 4 1 6 0
+set length 4.1609152777389031
+
--- /dev/null
+2dbeziercurve result 8 0 0 0 1 -2 1 -2 -3 4 -3 4 5 -6 5 -6 -4
+set length 14.909963698913938
+
--- /dev/null
+# reference
+point rp_1 0 0
+point rp_2 -0.65021440000000008 0.23541759999999989
+point rp_3 -0.62285760000000001 -0.26568060000000016
+point rp_4 -0.1324032 -0.59307520000000058
+point rp_5 0.5 -0.359375
+point rp_6 0.71262720000000057 0.49067519999999837
+point rp_7 -0.04280640000000191 1.5503306000000006
+point rp_8 -1.9664896000000001 1.9469824000000082
+point rp_9 -4.519411199999996 0.49050179999999782
+point rp_10 -6 -4
+point rd1_1 0 7
+point rd2_1 -84 -42
+point rd1_2 -2.1719040000000005 -4.1901440000000019
+point rd2_2 43.034879999999994 -33.237120000000004
+point rd1_3 2.8294560000000004 -4.9642039999999987
+point rd2_3 49.701119999999975 18.306120000000032
+point rd1_4 6.418943999999998 -0.89913600000000538
+point rd2_4 16.316159999999968 58.988159999999944
+point rd1_5 5.25 5.6875
+point rd2_5 -42 65.625
+point rd1_6 -1.9676160000000076 10.636863999999985
+point rd2_6 -99.644160000000056 25.011839999999847
+point rd1_7 -13.540464000000009 9.0777959999999851
+point rd2_7 -122.94911999999997 -63.456120000000169
+point rd1_8 -24.105984000000007 -3.1821439999999646
+point rd2_8 -72.602880000000027 -185.16287999999992
+point rd1_9 -24.188975999999965 -28.003556000000021
+point rd2_9 93.932160000000351 -307.65084000000013
+point rd1_10 0 -63
+point rd2_10 420 -378
+2dbeziercurve result 8 0 0 0 1 -2 1 -2 -3 4 -3 4 5 -6 5 -6 -4
+val2d result 0 1 10
+# Comparaison between currents value and references values
+set tol 0.000001
+set i 1
+puts " --> Test value"
+repeat 10 {comparepnt2d rp_$i p_$i $tol; incr i 1}
+set i 1
+puts " --> Test D1"
+repeat 10 {comparepnt2d rd1_$i d1_$i $tol; incr i 1}
+set i 1
+puts " --> Test D2"
+repeat 10 {comparepnt2d rd2_$i d2_$i $tol; incr i 1}
+set length 14.909963698913938
+
--- /dev/null
+set viewer "v2d"
+set type "finite"
--- /dev/null
+2dbsplinecurve result 3 8 0. 4 0.13 1 0.28 1 0.47 1 0.62 1 0.75 1 0.89 1 1. 4 -19.5 -4.2 1 -18.9 -4.7 1 -17.3 5.0 1 -8.7 10.9 1 -0.018 1.27 1 0.38 -8.0 1 3.4 -16.3 1 11.0 -20.45 1 17.33 -15.42 1 17.7 -15 1
+set length 61.864387478917727
+
--- /dev/null
+2dbsplinecurve result 4 2 0 5 1 5 -0.5 -0.5 1 -0.25 0.5 1 0. -0.5 1 0.25 -0.5 1 0.5 -0.5 1
+incdeg result 8
+set length 1.4087044221398224
+
--- /dev/null
+2dbsplinecurve result 4 2 0 5 1 5 -0.5 -0.5 1 -0.25 0.5 1 0. -0.5 1 0.25 -0.5 1 0.5 -0.5 1
+insertknot result 0.5 1
+remknot result 2 0 0.01
+set length 1.4087044221396998
+
--- /dev/null
+2dbsplinecurve result 3 8 0. 4 0.13 1 0.28 1 0.47 1 0.62 1 0.75 1 0.89 1 1. 4 -19.5 -4.2 1 -18.9 -4.7 1 -17.3 5.0 1 -8.7 10.9 1 -0.018 1.27 1 0.38 -8.0 1 3.4 -16.3 1 11.0 -20.45 1 17.33 -15.42 1 17.7 -15 1
+reverse result
+set length 61.864387478917735
+
--- /dev/null
+2dbsplinecurve result 3 8 0. 4 0.13 1 0.28 1 0.47 1 0.62 1 0.75 1 0.89 1 1. 4 -19.5 -4.2 1 -18.9 -4.7 1 -17.3 5.0 1 -8.7 10.9 1 -0.018 1.27 1 0.38 -8.0 1 3.4 -16.3 1 11.0 -20.45 1 17.33 -15.42 1 17.7 -15 1
+insertknot result 0.3 2
+set length 61.864387478971629
+
--- /dev/null
+2dbsplinecurve result 3 2 -1.0 4 1.0 4 0 0 1 1 0 1 2 0 1 3 0 1
+incdeg result 10
+2dtranslate result 0 -4
+set i 1
+repeat 100 {cmovepoint result 0.3 0. 0.05; incr i 1; repaint}
+set i 1
+repeat 100 {cmovepoint result 0.3 0. -0.05; incr i 1; repaint}
+set length 2.9999999999999996
+
--- /dev/null
+2dbsplinecurve result 3 2 -1.0 4 1.0 4 0 0 1 1 0 1 2 0 1 3 0 1
+incdeg result 11
+2dtranslate result 0 -4
+set i 1
+repeat 100 {cmovepoint result 0 0. 0.05; incr i 1;repaint}
+set i 1
+repeat 100 {cmovepoint result 0 0. -0.05; incr i 1;repaint}
+set length 3.0000000000000004
+
--- /dev/null
+2dbsplinecurve b1 3 5 0 4 1 1 2 1 3 1 4 4 0 0 1 1 2 1 2 2 1 2 2 1 3 2 1 4 2 1 5 4 1
+2dcvalue b1 2.0 x y dx dy
+set delta 0.01
+set yvalue [dval y]
+repeat 100 {
+ cmovetangent b1 2.0 x $yvalue dx dy 1
+ set yvalue [expr $yvalue + $delta ]
+ repaint }
+copy b1 result
+set length 7.7885445456401925
+
--- /dev/null
+2dbsplinecurve b1 3 5 0 4 1 1 2 1 3 1 4 4 0 0 0.8 1 0.5 0.6 2 1 0.5 2 2 1 3 1.5 1 4 1.5 1 5 2 1
+2dcvalue b1 2.0 x y dx dy
+set delta 0.01
+set yvalue [dval y]
+repeat 100 {
+ cmovetangent b1 2.0 x $yvalue dx dy 1
+ set yvalue [expr $yvalue + $delta ]
+ repaint }
+copy b1 result
+set length 6.9832866524628034
+
--- /dev/null
+2dbsplinecurve b1 3 5 0 4 1 1 2 1 3 1 4 4 0 0 1 1 0.5 1 2 1 1 2 2 1 3 1.5 1 4 1.5 1 5 2 1
+2dcvalue b1 2.0 x y dx dy
+set delta 0.005
+point p1 x y
+set dyvalue [dval dy]
+repeat 100 {
+ cmovetangent b1 2.0 x y dx $dyvalue 1
+ set dyvalue [expr $dyvalue + $delta ]
+ repaint }
+copy b1 result
+set length 5.9590472422107315
+
--- /dev/null
+2dbsplinecurve b1 3 5 0 4 1 1 2 1 3 1 4 4 0 0 1 1 0.5 0.8 2 1 1 2 2 0.7 3 1.5 0.6 4 1.5 1 5 2 1
+2dcvalue b1 2.0 x y dx dy
+set delta 0.01
+point p1 x y
+set dyvalue [dval dy]
+repeat 100 {
+ cmovetangent b1 2.0 x y dx $dyvalue 1
+ set dyvalue [expr $dyvalue + $delta ]
+ repaint }
+copy b1 result
+set length 6.6492776719511806
+
--- /dev/null
+2dbsplinecurve result 3 8 0. 4 0.13 1 0.28 1 0.47 1 0.62 1 0.75 1 0.89 1 1. 4 -19.5 -4.2 1 -18.9 -4.7 1 -17.3 5.0 1 -8.7 10.9 1 -0.018 1.27 1 0.38 -8.0 1 3.4 -16.3 1 11.0 -20.45 1 17.33 -15.42 1 17.7 -15 1
+2dlmirror result 0 0 0 1
+set length 61.864387478917727
+
--- /dev/null
+2dbsplinecurve result 3 8 0. 4 0.13 1 0.28 1 0.47 1 0.62 1 0.75 1 0.89 1 1. 4 -19.5 -4.2 1 -18.9 -4.7 1 -17.3 5.0 1 -8.7 10.9 1 -0.018 1.27 1 0.38 -8.0 1 3.4 -16.3 1 11.0 -20.45 1 17.33 -15.42 1 17.7 -15 1
+2dpmirror result 0 0
+set length 61.864387478917727
+
--- /dev/null
+2dbsplinecurve result 3 8 0. 4 0.13 1 0.28 1 0.47 1 0.62 1 0.75 1 0.89 1 1. 4 -19.5 -4.2 1 -18.9 -4.7 1 -17.3 5.0 1 -8.7 10.9 1 -0.018 1.27 1 0.38 -8.0 1 3.4 -16.3 1 11.0 -20.45 1 17.33 -15.42 1 17.7 -15 1
+2drotate result 0 0 90
+set length 61.864387478917727
+
--- /dev/null
+2dbsplinecurve result 3 8 0. 4 0.13 1 0.28 1 0.47 1 0.62 1 0.75 1 0.89 1 1. 4 -19.5 -4.2 1 -18.9 -4.7 1 -17.3 5.0 1 -8.7 10.9 1 -0.018 1.27 1 0.38 -8.0 1 3.4 -16.3 1 11.0 -20.45 1 17.33 -15.42 1 17.7 -15 1
+2dtranslate result 0 0 9
+set length 61.864387478917727
+
--- /dev/null
+2dbsplinecurve result 3 8 0. 4 0.13 1 0.28 1 0.47 1 0.62 1 0.75 1 0.89 1 1. 4 -19.5 -4.2 1 -18.9 -4.7 1 -17.3 5.0 1 -8.7 10.9 1 -0.018 1.27 1 0.38 -8.0 1 3.4 -16.3 1 11.0 -20.45 1 17.33 -15.42 1 17.7 -15 1
+val2d result 0 1 10
+# reference
+point rp_1 -19.5 -4.2000000000000002
+point rd1_1 13.846153846153877 -11.538461538461537
+point rd2_1 50.718512256972957 1776.4158918005069
+point rp_2 -13.67390179731467 6.8992200028947739
+point rd1_2 48.974086485658098 38.474728614850193
+point rd2_2 139.04002452044654 -517.68128528006946
+point rp_3 -8.3917948899604617 8.0575597921139348
+point rd1_3 53.619455172886617 -15.736309081303308
+point rd2_3 -40.490435815983837 -508.65044786111531
+point rp_4 -3.4845005276466683 4.4381365468919913
+point rd1_4 42.004442314439764 -51.677556800995873
+point rd2_4 -191.80982135295332 -210.17450653273619
+point rp_5 -0.47548493269648251 -1.2964506909146642
+point rd1_5 17.239435518888406 -59.113103113585865
+point rd2_5 -210.99956578376023 -1.158080253377944
+point rp_6 0.67531537607951164 -7.2130888071540724
+point rd1_6 10.595116514690996 -59.215033247341495
+point rd2_6 78.113185699812178 -0.88052242173465889
+point rp_7 2.4581595561180185 -13.009266873289969
+point rd1_7 27.271273193765609 -54.441759810900741
+point rd2_7 227.45595055625458 120.58323008570983
+point rp_8 6.466040816326533 -17.547584317937705
+point rd1_8 52.905306122448984 -31.794908700322217
+point rd2_8 228.59319727891145 392.36405298961699
+point rp_9 12.710839969947408 -18.115381707461744
+point rd1_9 69.611990984222373 26.092856182529964
+point rd2_9 7.1981968444776498 596.42386808493779
+point rp_10 17.699999999999999 -15
+point rd1_10 10.090909090909133 11.45454545454545
+point rd2_10 -1197.6198347107429 -889.19008264462809
+# Comparaison between currents value and references values
+set tol 0.000001
+set i 1
+puts " --> Test value"
+repeat 10 {comparepnt2d rp_$i p_$i $tol; incr i 1}
+set i 1
+puts " --> Test D1"
+repeat 10 {comparepnt2d rd1_$i d1_$i $tol; incr i 1}
+set i 1
+puts " --> Test D2"
+repeat 10 {comparepnt2d rd2_$i d2_$i $tol; incr i 1}
+set length 61.864387478917727
+
--- /dev/null
+set viewer "v2d"
+set type "finite"
--- /dev/null
+if { [array get Draw_Groups "TOPOLOGY Check commands"] == "" } {
+ pload TOPTEST
+ pload AISV
+}
+# To prevent loops limit to 10 minutes
+cpulimit 600
+
+if { [info exists imagedir] == 0 } {
+ set imagedir .
+}
+
+if { [info exists test_image ] == 0 } {
+ set test_image photo
+}
+
+
+#
+#evaluate n points beetween u1 and u2 on the curve 2d c
+#
+
+proc val2d { c u1 u2 n } {
+
+ dset du ($u2-$u1)/$n
+ upvar $c cc
+
+ set i 1
+
+ for {dset u $u1} { [dval u] <= $u2} {dset u ($u1+$i*[dval du])} {
+ 2dcvalue cc u x y dx dy d2x d2y ;
+ global p_$i d1_$i d2_$i
+ point p_$i x y;
+ puts "u = [dval u]"
+ puts "p_$i [dval x ] [dval y]"
+ puts "d1_$i [dval dx ] [dval dy]";
+ puts "d2_$i [dval d2x] [dval d2y]";
+
+ copy p_$i . ;
+ point d1_$i dx dy
+ point d2_$i d2x d2y
+ incr i 1
+ }
+}
+
+#
+#evaluate n points beetween u1 and u2 on the curve 3d c
+#
+proc val3d { c u1 u2 n } {
+
+ dset du ($u2-$u1)/$n
+ upvar $c cc
+
+ set i 1
+
+ for {dset u $u1} { [dval u] <= $u2} {dset u (u+[dval du])} {
+ cvalue cc u x y z dx dy dz d2x d2y d2z ;
+ point p_$i x y z;
+ puts "u = [dval u]"
+ puts "p_$i [dval x ] [dval y ] [dval z]";
+ puts "d1_$i [dval dx ] [dval dy ] [dval dz]";
+ puts "d2_$i [dval d2x] [dval d2y] [dval d2z]";
+ copy p_$i . ;
+ point d1_$i dx dy dz
+ point d2_$i d2x d2y d2z
+ incr i
+ }
+}
+
+proc compare {r1 r2 tol} {
+ if {$r1 - $r2 >= $tol} {
+ puts "Error : evalution"
+ }
+ if {$r2 - $r1 >= $tol} {
+ puts "Error : evalution"
+ }
+}
+
+proc comparepnt2d {p1 p2 tol} {
+ upvar $p1 pp1
+ upvar $p2 pp2
+ coord pp1 x1 y1
+ coord pp2 x2 y2
+ compare [dval x1] [dval x2] $tol
+ compare [dval y1] [dval y2] $tol
+}
+
+proc comparepnt3d {p1 p2 tol} {
+ upvar $p1 pp1
+ upvar $p2 pp2
+ coord pp1 x1 y1 z1
+ coord pp2 x2 y2 z2
+ compare [dval x1] [dval x2] $tol
+ compare [dval y1] [dval y2] $tol
+ compare [dval z1] [dval z2] $tol
+}
+
--- /dev/null
+beziercurve result 3 -2 0 1 0 1 2 2 0 1
+insertpole result 2 1 2 4
+repeat 4 {pd}
+set length 5.8766403018804851
+
--- /dev/null
+beziercurve result 8 0 0 1 0 1 2 -2 1 3 -2 -3 4 4 -3 5 4 5 6 -6 5 7 -6 -4 8
+pscale result 0 0 0 1.2
+set length 20.717921417769418
+
--- /dev/null
+beziercurve result 3 0 0 1 4 1 2 6 0 1
+smirror result 0 0 0 1 0 0
+set length 6.2279447493965332
+
--- /dev/null
+beziercurve result 8 0 0 1 0 1 2 -2 1 3 -2 -3 4 4 -3 5 4 5 6 -6 5 7 -6 -4 8
+translate result 4 0 0
+set length 17.264934514807834
+
--- /dev/null
+beziercurve result 8 0 0 1 0 1 2 -2 1 3 -2 -3 4 4 -3 5 4 5 6 -6 5 7 -6 -4 8
+lmirror result 0 0 0 1 0 0
+set length 17.264934514807834
+
--- /dev/null
+beziercurve result 8 0 0 1 0 1 2 -2 1 3 -2 -3 4 4 -3 5 4 5 6 -6 5 7 -6 -4 8
+pmirror result 0 0 0
+set length 17.264934514807834
+
--- /dev/null
+beziercurve b1 8 0 0 1 0 1 2 -2 1 3 -2 -3 4 4 -3 5 4 5 6 -6 5 7 -6 -4 8
+translate b1 0 0 -3
+copy b1 result
+repeat 10 {
+ rotate result 0 0 0 0 0 1 30
+ copy result .
+}
+set length 17.264934514807859
+
--- /dev/null
+beziercurve result 8 0 0 1 0 1 2 -2 1 3 -2 -3 4 4 -3 5 4 5 6 -6 5 7 -6 -4 8
+pscale result 0 0 0 1.2
+set length 20.717921417769418
+
--- /dev/null
+beziercurve result 3 0 0 1 4 1 2 6 0 1
+smirror result 0 0 0 1 0 0
+set length 6.2279447493965332
+
--- /dev/null
+beziercurve result 8 0 0 1 0 1 2 -2 1 3 -2 -3 4 4 -3 5 4 5 6 -6 5 7 -6 -4 8
+translate result 4 0 0
+set length 17.264934514807834
+
--- /dev/null
+beziercurve result 3 2 0 1 4 1 2 6 0 1
+set length 4.3119494616416141
+
--- /dev/null
+beziercurve result 8 0 0 1 0 1 2 -2 1 3 -2 -3 4 4 -3 5 4 5 6 -6 5 7 -6 -4 8
+set length 17.264934514807834
+
--- /dev/null
+beziercurve result 3 2 0 1 4 1 2 6 0 1
+val3d result 0 1 20
+set length 4.3119494616416141
+
--- /dev/null
+beziercurve result 8 0 0 1 0 1 2 -2 1 3 -2 -3 4 4 -3 5 4 5 6 -6 5 7 -6 -4 8
+val3d result 0 1 20
+set length 17.264934514807834
+
--- /dev/null
+set viewer "smallview"
+set type "finite"
--- /dev/null
+bsplinecurve bscurv 3 2 -1.0 4 1.0 4 0 0 0 1 1 0 0 1 2 0 0 1 3 0 0 1
+incdeg bscurv 11
+translate bscurv 0 -4 0
+set i 1
+repeat 100 {cmovepoint bscurv 0 0. 0.05 0.0 ; incr i 1; repaint}
+set i 1
+repeat 100 {cmovepoint bscurv 0 0. -0.05 0.0 ; incr i 1; repaint}
+renamevar bscurv result
+set length 3.0000000000000004
+
--- /dev/null
+top
+bsplinecurve bscurv 3 2 -1.0 4 1.0 4 0 0 0 1 1 0 0 1 2 0 0 1 3 0 0 1
+incdeg bscurv 10
+translate bscurv 0 -4 0
+set i 1
+repeat 100 {cmovepoint bscurv 0.3 0. 0.05 0.0e0 ; incr i 1; repaint}
+set i 1
+repeat 100 {cmovepoint bscurv 0.3 0. -0.05 0.0e0 ; incr i 1;repaint}
+renamevar bscurv result
+set length 2.9999999999999996
+
--- /dev/null
+bsplinecurve b1 3 5 0 4 1 1 2 1 3 1 4 4 0 0 0 1 1 2 0 1 2 2 0 1 2 2 0 1 3 2 0 1 4 2 0 1 5 4 0 1
+cvalue b1 2.0 x y z dx dy dz
+set delta 0.01
+set yvalue [dval y]
+set zvalue [dval z]
+repeat 100 {
+ cmovetangent b1 2.0 x $yvalue $zvalue dx dy dz 1
+ set yvalue [expr $yvalue + $delta ]
+ set zvalue [expr $zvalue + $delta ]
+ repaint }
+renamevar b1 result
+set length 8.3346946955628098
+
--- /dev/null
+bsplinecurve b1 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 1 0 0 1
+copy b1 result
+pscale result 0 0 0 1.4
+repeat 5 {pl}
+set length 9.5487985926002157
+
--- /dev/null
+bsplinecurve b1 3 5 0 4 1 1 2 1 3 1 4 4 0 0 0 0.8 1 0.5 0 0.6 2 1 0 0.5 2 2 0 1 3 1.5 0 1 4 1.5 0 1 5 2 0 1
+cvalue b1 2.0 x y z dx dy dz
+set delta 0.01
+set yvalue [dval y]
+set zvalue [dval z]
+repeat 100 {
+ cmovetangent b1 2.0 x $yvalue $zvalue dx dy dz 1
+ set yvalue [expr $yvalue + $delta ]
+ set zvalue [expr $zvalue + $delta ]
+ repaint }
+renamevar b1 result
+set length 7.3508406963557418
+
--- /dev/null
+bsplinecurve b1 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 4 0 0 1
+copy b1 result
+smirror result 0 0 0 0 -1 1
+pl
+pl
+pl
+pl
+set length 6.6067715112002166
+
--- /dev/null
+bsplinecurve b1 3 5 0 4 1 1 2 1 3 1 4 4 0 0 0 1 1 0.5 0 1 2 1 0 1 2 2 0 1 3 1.5 0 1 4 1.5 0 1 5 2 0 1
+cvalue b1 2.0 x y z dx dy dz
+set delta 0.01
+point p1 x y z
+set dyvalue [dval dy]
+set dzvalue [dval dz]
+repeat 100 {
+ cmovetangent b1 2.0 x y z dx $dyvalue $dzvalue 1
+ set dyvalue [expr $dyvalue + $delta ]
+ set dzvalue [expr $dzvalue + $delta ]
+ repaint }
+renamevar b1 result
+set length 7.238501337474319
+
--- /dev/null
+bsplinecurve b1 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 2 0 0 1
+copy b1 result
+translate result -1 -2 3
+set length 6.3759776321287411
+
--- /dev/null
+bsplinecurve b1 3 5 0 4 1 1 2 1 3 1 4 4 0 0 0 0.8 1 0.5 0 0.6 2 1 0 0.5 2 2 0 1 3 1.5 0 1 4 1.5 0 1 5 2 0 1
+cvalue b1 2.0 x y z dx dy dz
+set delta 0.01
+point p1 x y z
+set dyvalue [dval dy]
+set dzvalue [dval dz]
+repeat 100 {
+ cmovetangent b1 2.0 x y z dx $dyvalue $dzvalue 1
+ set dyvalue [expr $dyvalue + $delta ]
+ set dzvalue [expr $dzvalue + $delta ]
+ repaint }
+renamevar b1 result
+set length 7.0867664447042955
+
--- /dev/null
+bsplinecurve result 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 1 0 0 1
+pmirror result 0 0 0
+set length 6.8205704232858686
+
--- /dev/null
+bsplinecurve b1 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 1 0 0 1
+copy b1 b2
+pl
+pl
+pl
+pl
+repeat 10 {
+rotate b2 0 0 0 1 0 0 10
+copy b2 .
+}
+renamevar b2 result
+set length 6.8205704232858668
+
--- /dev/null
+bsplinecurve b1 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 1 0 0 1
+copy b1 b2
+pscale b2 0 0 0 1.4
+repeat 5 {pl}
+renamevar b2 result
+set length 9.5487985926002157
+
--- /dev/null
+bsplinecurve b1 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 4 0 0 1
+copy b1 b2
+smirror b2 0 0 0 0 -1 1
+pl
+pl
+pl
+pl
+renamevar b2 result
+set length 6.6067715112002166
+
--- /dev/null
+bsplinecurve b2 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 2 0 0 1
+copy b2 result
+translate result -1 -2 3
+set length 6.3759776321287411
+
--- /dev/null
+bsplinecurve result 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 20 2 3 0 3 3 2 0 0.04 2 0 0 5
+pd
+pd
+pd
+pl
+pl
+pl
+set length 5.5977288617103262
+
--- /dev/null
+bsplinecurve result 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 2 0 0 1
+pd
+pd
+pd
+pl
+pl
+pl
+set length 6.3759776321287411
+
--- /dev/null
+bsplinecurve result 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 1 0 0 1
+lmirror result 0 0 0 0 1 0
+set length 6.8205704232858686
+
--- /dev/null
+bsplinecurve result 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 1 0 0 1
+lmirror result 0 0 0 1 0 0
+set length 6.8205704232858686
+
--- /dev/null
+bsplinecurve result 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 1 0 0 1
+lmirror result 0 0 0 0 1 0
+lmirror result 0 0 0 1 0 0
+set length 6.8205704232858686
+
--- /dev/null
+bsplinecurve result 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 20 2 3 0 3 3 2 0 0.04 2 0 0 5
+pd
+pd
+pd
+pl
+pl
+pl
+val3d result 0 4 20
+set length 5.5977288617103262
+
--- /dev/null
+bsplinecurve result 3 3 0 4 3 1 4 4 0 0 0 1 1 2 0 1 2 3 0 1 3 2 0 1 2 0 0 1
+pd
+pd
+pd
+pl
+pl
+pl
+val3d result 0 4 20
+set length 6.3759776321287411
+
--- /dev/null
+set viewer "smallview"
+set type "finite"
--- /dev/null
+circle c 0 0 0 0 0 1 1
+convert result c
+set length 6.2831853071795853
+
--- /dev/null
+circle cer 0 0 0 0 0 1 1
+trim cer cer 0 pi
+convert result cer c1
+set length 3.1415926535897931
+
--- /dev/null
+circle cer 0 0 0 0 0 1 1
+convert result cer c1
+set length 6.2831853071795871
+
--- /dev/null
+circle c 0 0 0 0 0 1 1
+trim c c 0 6.28
+convert result c po
+set length 6.2800124075908368
+
--- /dev/null
+circle cer 0 0 0 0 0 1 1
+trim cer cer 0 pi
+convert result cer qa
+set length 3.1415926535897931
+
--- /dev/null
+circle cer 0 0 0 0 0 1 1
+trim cer cer 0 4*pi/3
+convert result cer qa
+set length 4.1887902047863896
+
--- /dev/null
+circle cer 0 0 0 0 0 1 1
+trim cer cer 0 pi/3
+convert result cer qa
+set length 1.0471975511965974
+
--- /dev/null
+circle cer 0 0 0 0 0 1 1
+trim cer cer 0 2*pi
+convert result cer qa
+set length 6.2831853071795827
+
--- /dev/null
+circle cer 0 0 0 0 0 1 1
+convert result cer qa
+set length 6.2831853071795845
+
--- /dev/null
+circle c -40 0 1 0 20
+offset result c 10
+2dlmirror result 0 0 0 1
+set viewer "v2d"
+set length 62.831853071795862
+
--- /dev/null
+circle result 0 0 1 0 0.2
+set viewer "v2d"
+set length 1.2566370614359172
+
--- /dev/null
+circle result 0.1 0.2 1 1 0.1
+set viewer "v2d"
+set length 0.62831853071795862
+
--- /dev/null
+circle result 0 0 0 0 0 1 1 0 0 0.2
+set length 1.2566370614359172
+
--- /dev/null
+circle result 0 0 0.1 0 1 1 1 0 0 0.3
+set length 1.8849555921538759
+
--- /dev/null
+circle c1 -30 30 1 0 20
+trim result c1 0 pi
+set viewer "v2d"
+set length 62.831853071795862
+
--- /dev/null
+circle c2 -30 -30 1 0 20
+trim result c2 pi 2*pi
+set viewer "v2d"
+set length 62.831853071795862
+
--- /dev/null
+circle c3 30 -30 1 0 20
+trim result c3 3*pi/2 5*pi/2
+set viewer "v2d"
+set length 62.831853071795862
+
--- /dev/null
+circle c4 30 30 1 0 20
+trim result c4 pi pi/2
+set viewer "v2d"
+set length 94.247779607693786
+
--- /dev/null
+circle result 70 0 1 0 30
+2dtranslate result -200 0
+set viewer "v2d"
+set length 188.49555921538757
+
+
--- /dev/null
+circle result 0 0 1 0 30
+val2d result 0 [dval 2*pi] 20
+set viewer "v2d"
+set length 188.49555921538757
+
--- /dev/null
+circle result 0 0 1 0 0 1 1 0 0 30
+val3d result 0 [dval 2*pi] 20
+set length 188.49555921538757
+
--- /dev/null
+circle result 0 0 1 0 200
+reverse result
+set viewer "v2d"
+set length 1256.6370614359173
+
--- /dev/null
+circle result 70 0 0 0 0 1 1 0 0 30
+smirror result 0 0 0 1 0 -1
+set length 188.49555921538757
+
--- /dev/null
+circle result 70 0 0 0 0 1 1 0 0 30
+translate result 0 -100 200
+set length 188.49555921538757
+
--- /dev/null
+circle c 0 0 0 0 0 1 0 1 0 1
+copy c cr
+translate cr 0 -4 0
+reverse cr
+convert result cr
+pl
+pl
+pu
+pu
+set length 6.2831853071795853
+
--- /dev/null
+circle c 0 0 0 1 1
+copy c cr
+2dtranslate cr 0 -4
+reverse cr
+convert result cr
+2dpl
+2dpl
+2dpu
+2dpu
+set viewer "v2d"
+set length 6.2831853071795853
+
--- /dev/null
+circle result 70 0 1 0 30
+2dlmirror result 0 0 0 1
+set viewer "v2d"
+set length 188.49555921538757
+
--- /dev/null
+circle result 70 0 1 0 30
+2dpmirror result 0 0
+set viewer "v2d"
+set length 188.49555921538757
+
--- /dev/null
+circle result 0 0 1 0 30
+dset ech 1.1
+repeat 20 {
+ 2dpscale result 0 0 0 ech;
+ copy result .;
+}
+set viewer "v2d"
+set length 1268.1038650696225
+
--- /dev/null
+circle result 70 0 1 0 30
+2drotate result 0 0 90
+set viewer "v2d"
+set length 188.49555921538757
+
--- /dev/null
+circle result 70 0 1 0 30
+2dtranslate result -200 0
+set viewer "v2d"
+set length 188.49555921538757
+
--- /dev/null
+circle result 70 0 0 0 0 1 1 0 0 30
+lmirror result 0 0 0 0 1 0
+set length 188.49555921538757
+
--- /dev/null
+circle result 70 0 0 0 0 1 1 0 0 30
+pmirror result 0 0 0
+set length 188.49555921538757
+
--- /dev/null
+circle result 70 0 0 0 0 1 1 0 0 30
+repeat 7 {rotate result 0 0 0 0 0 1 45;
+ copy result .;
+}
+set length 188.49555921538757
+
--- /dev/null
+circle result 70 0 0 0 0 1 1 0 0 30
+pscale result 0 0 0 5
+repeat 4 {pl}
+dmode result U
+set length 942.47779607693792
+
--- /dev/null
+circle result 70 0 0 0 0 1 1 0 0 30
+smirror result 0 0 0 1 0 -1
+set length 188.49555921538757
+
--- /dev/null
+circle result 70 0 0 0 0 1 1 0 0 30
+translate result 0 -100 200
+set length 188.49555921538757
+
--- /dev/null
+set viewer "smallview"
+set type "finite"
--- /dev/null
+ellipse cer 0 0 0 0 0 1 2 1
+trim cer cer 0 pi
+convert result cer c1
+set length 4.8442241102738386
+
--- /dev/null
+ellipse cer 0 0 0 0 0 1 2 1
+convert result cer c1
+set length 9.6884482205476772
+
--- /dev/null
+ellipse cer 0 0 0 0 0 1 2 1
+trim cer cer 0 pi
+convert result cer qa
+set length 4.8442241102733714
+
--- /dev/null
+ellipse cer 0 0 0 0 0 1 2 1
+trim cer cer 0 4*pi/3
+convert result cer qa
+set length 6.2541520204793155
+
--- /dev/null
+ellipse cer 0 0 0 0 0 1 2 1
+trim cer cer 0 pi/3
+convert result cer qa
+set length 1.4099279102054671
+
--- /dev/null
+ellipse result 0 0 1 0 0.2 0.1
+set viewer "v2d"
+set length 0.96884482174527109
+
--- /dev/null
+ellipse result 0 0 1 1 0.25 0.15
+set viewer "v2d"
+set length 1.2763499431763086
+
--- /dev/null
+ellipse result 0 0 0 0 0 1 1 0 0 20 10
+set length 96.884482205475521
+
--- /dev/null
+ellipse result 0 0 0 1 0 0 0 0 1 25 15
+set length 127.63499431699034
+
--- /dev/null
+ellipse result 70 0 1 0 40 20
+2dtranslate result -200 0
+set viewer "v2d"
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 0 0 1 0 40 20
+val2d result 0 [dval 2*pi] 20
+set viewer "v2d"
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 0 0 0 0 0 1 1 0 0 40 20
+val3d result 0 [dval 2*pi] 20
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 0 0 1 0 400 300
+reverse result
+set viewer "v2d"
+set length 2210.3492160709502
+
--- /dev/null
+ellipse result 70 0 0 0 0 1 1 0 0 40 20
+smirror result 0 0 0 1 0 -1
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 70 0 0 0 0 1 1 0 0 40 20
+translate result 0 -100 200
+set length 193.76896441095104
+
--- /dev/null
+ellipse e 3 0 0 0 0 1 0 1 0 1 0.5
+copy e er
+translate er 0 -4 0
+reverse er
+convert result er
+pl
+pl
+pu
+pu
+set length 4.844224110274018
+
--- /dev/null
+ellipse e 3 0 0 1 1 0.5
+copy e er
+2dtranslate er 0 -4
+reverse er
+convert result er
+2dpl
+2dpl
+2dpu
+2dpu
+set viewer "v2d"
+set length 4.844224110274018
+
--- /dev/null
+ellipse result 70 0 1 0 40 20
+2dlmirror result 0 0 0 1
+set viewer "v2d"
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 70 0 1 0 40 20
+2dpmirror result 0 0
+set viewer "v2d"
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 0 0 1 0 40 20
+dset ech 1.1
+repeat 20 {
+ 2dpscale result 0 0 0 ech;
+ copy result .;
+}
+set viewer "v2d"
+set length 1303.5806982555659
+
--- /dev/null
+ellipse result 70 0 1 0 40 20
+2drotate result 0 0 90
+set viewer "v2d"
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 70 0 1 0 40 20
+2dtranslate result -200 0
+set viewer "v2d"
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 70 0 0 0 0 1 1 0 0 40 20
+lmirror result 0 0 0 0 1 0
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 70 0 0 0 0 1 1 0 0 40 20
+pmirror result 0 0 0
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 70 0 0 0 0 1 1 0 0 40 20
+repeat 7 {rotate result 0 0 0 0 0 1 45;
+ copy result .;
+}
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 70 0 0 0 0 1 1 0 0 40 20
+pscale result 0 0 0 5
+repeat 4 {pl}
+dmode result U
+set length 968.84482205476752
+
--- /dev/null
+ellipse result 70 0 0 0 0 1 1 0 0 40 20
+smirror result 0 0 0 1 0 -1
+set length 193.76896441095104
+
--- /dev/null
+ellipse result 70 0 0 0 0 1 1 0 0 40 20
+translate result 0 -100 200
+set length 193.76896441095104
+
--- /dev/null
+set viewer "smallview"
+set type "finite"
--- /dev/null
+proc comparison { x1 x1_o prop } {
+ set precision 0.0000001
+ if { ( abs($x1) > $precision ) || ( abs($x1_o) > $precision ) } {
+ if { ($x1_o != 0 && [expr 1.*abs($x1_o - $x1)/$x1_o] > 0.01) || ($x1_o == 0 && $x1 != 0) } {
+ puts "Error : The $prop of result shape is $x1 and expected $prop is $x1_o"
+ }
+ }
+}
+
+if { [isdraw result] } {
+ if { [info exists type] && [string compare "$type" "infinite"] == 0 && ![info exists length] } {
+ set ddump [dump result]
+ regexp {Axis *: *([-0-9.+eE]+), *([-0-9.+eE]+),* *([-0-9.+eE]*) *} $ddump full Axis_1 Axis_2 Axis_3
+ comparison $Axis_1 $Axis_o_1 "Axis_1"
+ comparison $Axis_2 $Axis_o_2 "Axis_2"
+ if { [info exists Axis_o_3] } {
+ comparison $Axis_3 $Axis_o_3 "Axis_3"
+ }
+ if { [regexp {Line} $ddump] } {
+ regexp {Origin *: *([-0-9.+eE]+), *([-0-9.+eE]+),* *([-0-9.+eE]*) *} $ddump full Origin_1 Origin_2 Origin_3
+ comparison $Origin_1 $Origin_o_1 "Origin_1"
+ comparison $Origin_2 $Origin_o_2 "Origin_2"
+ if { [info exists Origin_o_3] } {
+ comparison $Origin_3 $Origin_o_3 "Origin_3"
+ }
+ } elseif { [regexp {Parabola} $ddump] || [regexp {Hyperbola} $ddump] } {
+ regexp {Center *: *([-0-9.+eE]+), *([-0-9.+eE]+),* *([-0-9.+eE]*) *} $ddump full Center_1 Center_2 Center_3
+ comparison $Center_1 $Center_o_1 "Center_1"
+ comparison $Center_2 $Center_o_2 "Center_2"
+ if { [info exists Center_o_3] } {
+ comparison $Center_3 $Center_o_3 "Center_3"
+ }
+ regexp {XAxis *: *([-0-9.+eE]+), *([-0-9.+eE]+),* *([-0-9.+eE]*) *} $ddump full XAxis_1 XAxis_2 XAxis_3
+ comparison $XAxis_1 $XAxis_o_1 "XAxis_1"
+ comparison $XAxis_2 $XAxis_o_2 "XAxis_2"
+ if { [info exists XAxis_o_3] } {
+ comparison $XAxis_3 $XAxis_o_3 "XAxis_3"
+ }
+ regexp {YAxis *: *([-0-9.+eE]+), *([-0-9.+eE]+),* *([-0-9.+eE]*) *} $ddump full YAxis_1 YAxis_2 YAxis_3
+ comparison $YAxis_1 $YAxis_o_1 "YAxis_1"
+ comparison $YAxis_2 $YAxis_o_2 "YAxis_2"
+ if { [info exists YAxis_o_3] } {
+ comparison $YAxis_3 $YAxis_o_3 "YAxis_3"
+ }
+ if { [regexp {Hyperbola} $ddump] } {
+ regexp {Radii *: *([-0-9.+eE]+), *([-0-9.+eE]+) *} $ddump full LastParam_1 LastParam_2
+ } else {
+ regexp {Focal *: *([-0-9.+eE]+) *} $ddump full LastParam_1
+ }
+ comparison $LastParam_1 $LastParam_o_1 "LastParam_1"
+ if { [info exists LastParam_o_2] } {
+ comparison $LastParam_2 $LastParam_o_2 "LastParam_2"
+ }
+ } else {
+ puts "Error : undefined type"
+ }
+ } else {
+ if { [info exists length] } {
+ set prop "length"
+ set mass $length
+ regexp {The +length +result +is +([-0-9.+eE]+)} [length result] full m
+ } elseif { [info exist square] } {
+ set prop "square"
+ set mass $square
+ regexp {Mass +: +([-0-9.+eE]+)} [sprops result] full m
+ }
+
+ if { [string compare "$mass" "empty"] != 0 } {
+ if { $m == 0 } {
+ puts "Error : The $command is not valid. The $prop is 0."
+ }
+ if { $mass > 0 } {
+ puts "The expected $prop is $mass"
+ }
+ #check of change of length is < 1%
+ if { ($mass != 0 && [expr 1.*abs($mass - $m)/$mass] > 0.01) || ($mass == 0 && $m != 0) } {
+ puts "Error : The $prop of result shape is $m"
+ }
+ } else {
+ if { $m != 0 } {
+ puts "Error : The $command is not valid. The $prop is $m"
+ }
+ }
+ }
+} else {
+ puts "Error : The $command can not be build."
+}
+
+$viewer
+if { [string compare "$viewer" "v2d"] == 0 } {
+ 2dclear
+ donly result
+ 2dfit
+} elseif { [string compare "$viewer" "smallview"] == 0 } {
+ clear
+ donly result
+ fit
+} else {
+ puts "Error : wrong value of variable viewer"
+}
+xwd $imagedir/${test_image}.gif
+
+# to end a test script
+puts "TEST COMPLETED"
+
+
--- /dev/null
+001 2dbeziecurve
+002 2dbsplinecurve
+003 beziecurve
+004 bsplinecurve
+005 circle
+006 ellipse
+007 hyperbola
+008 iso
+009 law
+010 line
+011 parabola
+012 project
+013 revsurf
--- /dev/null
+hyperbola result 0 0 0 0 0 1 1 0 0 20 10
+
+set Center_o_1 0; set Center_o_2 0; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 1;
+set XAxis_o_1 1; set XAxis_o_2 0; set XAxis_o_3 -0;
+set YAxis_o_1 -0; set YAxis_o_2 1; set YAxis_o_3 0;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola hyper 0 0 0 0 0 1 2 1
+trim hyper hyper -1 1
+convert result hyper
+set length 3.3078924645283738
+
--- /dev/null
+hyperbola result 0 0 1 0 20 10
+set viewer "v2d"
+
+set Center_o_1 0; set Center_o_2 0;
+set Axis_o_1 1; set Axis_o_2 0;
+set XAxis_o_1 1; set XAxis_o_2 0;
+set YAxis_o_1 -0; set YAxis_o_2 1;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 0 0 0 1 10 8
+set viewer "v2d"
+
+set Center_o_1 0; set Center_o_2 0;
+set Axis_o_1 0; set Axis_o_2 1;
+set XAxis_o_1 0; set XAxis_o_2 1;
+set YAxis_o_1 -1; set YAxis_o_2 0;
+set LastParam_o_1 10; set LastParam_o_2 8;
+
--- /dev/null
+hyperbola result 70 0 1 0 20 10
+2dtranslate result -200 0
+
+set Center_o_1 -130; set Center_o_2 0;
+set Axis_o_1 1; set Axis_o_2 0;
+set XAxis_o_1 1; set XAxis_o_2 0;
+set YAxis_o_1 -0; set YAxis_o_2 1;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 0 0 1 0 20 10
+val2d result -5 5 40
+
+set Center_o_1 0; set Center_o_2 0;
+set Axis_o_1 1; set Axis_o_2 0;
+set XAxis_o_1 1; set XAxis_o_2 0;
+set YAxis_o_1 -0; set YAxis_o_2 1;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 0 0 0 0 0 1 1 0 0 20 10
+val3d result -5 5 40
+
+set Center_o_1 0; set Center_o_2 0; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 1;
+set XAxis_o_1 1; set XAxis_o_2 0; set XAxis_o_3 -0;
+set YAxis_o_1 -0; set YAxis_o_2 1; set YAxis_o_3 0;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 0 0 -1 0 30 20
+reverse result
+
+set Center_o_1 0; set Center_o_2 0;
+set Axis_o_1 -1; set Axis_o_2 0;
+set XAxis_o_1 -1; set XAxis_o_2 0;
+set YAxis_o_1 0; set YAxis_o_2 1;
+set LastParam_o_1 30; set LastParam_o_2 20;
+
--- /dev/null
+hyperbola result 70 0 0 0 0 1 1 0 0 20 10
+smirror result 0 0 0 1 0 -1
+
+set Center_o_1 -1.55431223447522e-14; set Center_o_2 0; set Center_o_3 70;
+set Axis_o_1 -1; set Axis_o_2 -0; set Axis_o_3 -2.22044604925031e-16;
+set XAxis_o_1 -2.22044604925031e-16; set XAxis_o_2 -0; set XAxis_o_3 1;
+set YAxis_o_1 -0; set YAxis_o_2 1; set YAxis_o_3 -0;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 70 0 0 0 0 1 1 0 0 20 10
+translate result 0 -100 200
+
+set Center_o_1 70; set Center_o_2 -100; set Center_o_3 200;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 1;
+set XAxis_o_1 1; set XAxis_o_2 0; set XAxis_o_3 -0;
+set YAxis_o_1 -0; set YAxis_o_2 1; set YAxis_o_3 0;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola h 5 -1 0 0 0 1 0 1 0 1 0.5
+trim h h -1 1
+copy h hr
+translate hr 0 -4 0
+reverse hr
+convert result hr
+pl
+pl
+pu
+pu
+set length 1.6539462322641865
+
--- /dev/null
+hyperbola h 5 -1 0 1 1 0.5
+trim h h -1 1
+copy h hr
+2dtranslate hr 0 -4
+reverse hr
+convert result hr
+2dpl
+2dpl
+2dpu
+2dpu
+set length 1.6539462322641865
+
--- /dev/null
+hyperbola result 70 0 1 0 20 10
+2dlmirror result 0 0 0 1
+
+set Center_o_1 -70; set Center_o_2 0;
+set Axis_o_1 -1; set Axis_o_2 0;
+set XAxis_o_1 -1; set XAxis_o_2 0;
+set YAxis_o_1 0; set YAxis_o_2 1;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 70 0 1 0 20 10
+2dpmirror result 0 0
+
+set Center_o_1 -70; set Center_o_2 0;
+set Axis_o_1 -1; set Axis_o_2 -0;
+set XAxis_o_1 -1; set XAxis_o_2 -0;
+set YAxis_o_1 0; set YAxis_o_2 -1;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 0 0 1 0 20 10
+dset ech 1.1
+repeat 20 {
+ 2dpscale result 0 0 0 ech;
+ copy result .;
+}
+
+set Center_o_1 0; set Center_o_2 0;
+set Axis_o_1 1; set Axis_o_2 0;
+set XAxis_o_1 1; set XAxis_o_2 0;
+set YAxis_o_1 -0; set YAxis_o_2 1;
+set LastParam_o_1 134.549998986512; set LastParam_o_2 67.2749994932561;
+
--- /dev/null
+hyperbola result 70 0 1 0 20 10
+2drotate result 0 0 90
+
+set Center_o_1 4.28612223837832e-15; set Center_o_2 70;
+set Axis_o_1 6.12303176911189e-17; set Axis_o_2 1;
+set XAxis_o_1 6.12303176911189e-17; set XAxis_o_2 1;
+set YAxis_o_1 -1; set YAxis_o_2 6.12303176911189e-17;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 70 0 1 0 20 10
+2dtranslate result -200 0
+
+set Center_o_1 -130; set Center_o_2 0;
+set Axis_o_1 1; set Axis_o_2 0;
+set XAxis_o_1 1; set XAxis_o_2 0;
+set YAxis_o_1 -0; set YAxis_o_2 1;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 70 0 0 0 0 1 1 0 0 20 10
+lmirror result 0 0 0 0 1 0
+
+set Center_o_1 -70; set Center_o_2 0; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 -1;
+set XAxis_o_1 -1; set XAxis_o_2 0; set XAxis_o_3 0;
+set YAxis_o_1 0; set YAxis_o_2 1; set YAxis_o_3 0;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 70 0 0 0 0 1 1 0 0 20 10
+pmirror result 0 0 0
+
+set Center_o_1 -70; set Center_o_2 0; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 1;
+set XAxis_o_1 -1; set XAxis_o_2 -0; set XAxis_o_3 0;
+set YAxis_o_1 0; set YAxis_o_2 -1; set YAxis_o_3 -0;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 70 0 0 0 0 1 1 0 0 20 10
+repeat 7 {rotate result 0 0 0 0 0 1 45;
+ copy result .;
+}
+
+set Center_o_1 49.4974746830583; set Center_o_2 -49.4974746830583; set Center_o_3 0;
+set Axis_o_1 -0; set Axis_o_2 0; set Axis_o_3 1;
+set XAxis_o_1 0.707106781186547; set XAxis_o_2 -0.707106781186548; set XAxis_o_3 0;
+set YAxis_o_1 0.707106781186548; set YAxis_o_2 0.707106781186547; set YAxis_o_3 0;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 70 0 0 0 0 1 1 0 0 20 10
+pscale result 0 0 0 5
+repeat 4 {pl}
+dmode result U
+
+set Center_o_1 350; set Center_o_2 0; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 1;
+set XAxis_o_1 1; set XAxis_o_2 0; set XAxis_o_3 -0;
+set YAxis_o_1 -0; set YAxis_o_2 1; set YAxis_o_3 0;
+set LastParam_o_1 100; set LastParam_o_2 50;
+
--- /dev/null
+hyperbola result 70 0 0 0 0 1 1 0 0 20 10
+smirror result 0 0 0 1 0 -1
+
+set Center_o_1 -1.55431223447522e-14; set Center_o_2 0; set Center_o_3 70;
+set Axis_o_1 -1; set Axis_o_2 -0; set Axis_o_3 -2.22044604925031e-16;
+set XAxis_o_1 -2.22044604925031e-16; set XAxis_o_2 -0; set XAxis_o_3 1;
+set YAxis_o_1 -0; set YAxis_o_2 1; set YAxis_o_3 -0;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+hyperbola result 70 0 0 0 0 1 1 0 0 20 10
+translate result 0 -100 200
+
+set Center_o_1 70; set Center_o_2 -100; set Center_o_3 200;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 1;
+set XAxis_o_1 1; set XAxis_o_2 0; set XAxis_o_3 -0;
+set YAxis_o_1 -0; set YAxis_o_2 1; set YAxis_o_3 0;
+set LastParam_o_1 20; set LastParam_o_2 10;
+
--- /dev/null
+set viewer "smallview"
+set type "infinite"
\ No newline at end of file
--- /dev/null
+plane p
+trim p p 0 1 0 1
+convert p p
+incudeg p 3
+incvdeg p 3
+movep p 2 2 0 0 1
+nbiso p 20 20
+offset offs1 p 0.3
+viso curv_v2 offs1 0.2
+copy curv_v2 result
+set viewer "smallview"
+set length 1.3447354805936929
+
--- /dev/null
+plane p
+trim p p 0 1 0 1
+convert p p
+incudeg p 3
+incvdeg p 3
+movep p 2 2 0 0 1
+nbiso p 20 20
+offset offs1 p 0.3
+uiso curv_u2 offs1 0.2
+copy curv_u2 result
+set viewer "smallview"
+set length 1.3447354805936929
+
--- /dev/null
+plane p
+trim p p 0 1 0 1
+convert p p
+incudeg p 3
+incvdeg p 3
+movep p 2 2 0 0 1
+nbiso p 20 20
+offset offs1 p 0.3
+uiso curv_u2 offs1 0.2
+copy curv_u2 result
+set viewer "smallview"
+set length 1.3447354805936931
+
+
+
--- /dev/null
+plane p
+trim p p 0 1 0 1
+convert p p
+incudeg p 3
+incvdeg p 3
+movep p 2 2 0 0 1
+nbiso p 20 20
+offset offs1 p 0.3
+viso curv_v2 offs1 0.2
+copy curv_v2 result
+set viewer "smallview"
+set length 1.3447354805936929
+
+
--- /dev/null
+set viewer "smallview"
+set type "finite"
--- /dev/null
+law law1 5 4 0.0e0 6 1.0e0 1 2.0e0 1 3.0e0 6 0 0 0.1 0.2 0.7 0.3 1 1
+set delta 0.01
+2dcvalue law1 1.5 x y dx dy
+set value [dval y]
+repeat 50 {
+ movelaw law1 1.5 $value dy 0
+ set value [expr $value + $delta]
+ repaint }
+copy law1 result
+set length 3.3374712943009293
+
--- /dev/null
+law law1 5 4 0.0e0 6 1.0e0 1 2.0e0 1 3.0e0 6 0 0 0.1 0.2 0.7 0.3 1 1
+set delta 0.007
+2dcvalue law1 1.5 x y dx dy
+set tvalue [dval dy]
+repeat 100 {
+ movelaw law1 1.5 y $tvalue 1
+ set tvalue [expr $tvalue + $delta]
+ repaint }
+copy law1 result
+set length 3.3254491241005475
+
--- /dev/null
+law law1 5 4 0.0e0 6 1.0e0 1 2.0e0 1 3.0e0 6 0 0 0.1 0.2 0.7 0.3 1 1
+set delta 0.01
+2dcvalue law1 1.5 x y dx dy
+set value [dval y]
+repeat 50 {
+ movelaw law1 1.5 $value dy 0
+ set value [expr $value + $delta]
+ repaint }
+copy law1 result
+set length 3.3374712943009293
+
--- /dev/null
+law law1 5 4 0.0e0 6 1.0e0 1 2.0e0 1 3.0e0 6 0 0 0.1 0.2 0.7 0.3 1 1
+set delta 0.007
+2dcvalue law1 1.5 x y dx dy
+set tvalue [dval dy]
+repeat 100 {
+ movelaw law1 1.5 y $tvalue 1
+ set tvalue [expr $tvalue + $delta]
+ repaint }
+copy law1 result
+set length 3.3254491241005475
+
--- /dev/null
+set viewer "v2d"
+set type "finite"
--- /dev/null
+line result 0 0 1 1
+set viewer "v2d"
+
+set Origin_o_1 0; set Origin_o_2 0;
+set Axis_o_1 0.707106781186548; set Axis_o_2 0.707106781186548;
+
--- /dev/null
+line result 1 1 2 3
+set viewer "v2d"
+
+set Origin_o_1 1; set Origin_o_2 1;
+set Axis_o_1 0.554700196225229; set Axis_o_2 0.832050294337844;
+
--- /dev/null
+line result 0 0 0 1 1 1
+
+set Origin_o_1 0; set Origin_o_2 0; set Origin_o_3 0;
+set Axis_o_1 0.577350269189626; set Axis_o_2 0.577350269189626; set Axis_o_3 0.577350269189626;
+
--- /dev/null
+line result 1 2 3 4 5 6
+
+set Origin_o_1 1; set Origin_o_2 2; set Origin_o_3 3;
+set Axis_o_1 0.455842305838552; set Axis_o_2 0.56980288229819; set Axis_o_3 0.683763458757828;
+
--- /dev/null
+line lin1 0 0 1 0
+trim lin1 lin1 -1 1
+convert result lin1
+2dcvalue result 0 x y dx dy d2x d2y
+set viewer "v2d"
+set length 2
+
--- /dev/null
+line result 0 0 1 3
+val2d result 0 100 20
+set viewer "v2d"
+
+set Origin_o_1 0; set Origin_o_2 0;
+set Axis_o_1 0.316227766016838; set Axis_o_2 0.948683298050514;
+
--- /dev/null
+line result 0 0 0 1 3 1
+val3d result 0 100 20
+
+set Origin_o_1 0; set Origin_o_2 0; set Origin_o_3 0;
+set Axis_o_1 0.301511344577764; set Axis_o_2 0.904534033733291; set Axis_o_3 0.301511344577764;
+
--- /dev/null
+line l -3 0 0 1 2 0
+trim l l -1 2
+copy l lr
+translate lr 0 -4 0
+reverse lr
+convert result lr
+pl
+pl
+pu
+pu
+set length 2.9999999999999996
+
--- /dev/null
+line l -3 0 1 2
+trim l l -1 2
+copy l lr
+2dtranslate lr 0 -4
+reverse lr
+convert result lr
+2dpl
+2dpl
+2dpu
+2dpu
+set viewer "v2d"
+set length 2.9999999999999996
+
--- /dev/null
+line result 70 0 0 1 1 0
+repeat 4 {pl}
+dmode result U
+
+set Origin_o_1 70; set Origin_o_2 0; set Origin_o_3 0;
+set Axis_o_1 0.707106781186548; set Axis_o_2 0.707106781186548; set Axis_o_3 0;
+
--- /dev/null
+set viewer "smallview"
+set type "infinite"
--- /dev/null
+parabola para 0 0 0 0 0 1 2
+trim para para -1 1
+convert result para
+set length 2.0206422525934427
+
--- /dev/null
+parabola result 0 1 0 1 10
+dmode result U
+set viewer "v2d"
+
+set Center_o_1 0; set Center_o_2 1;
+set Axis_o_1 0; set Axis_o_2 1;
+set XAxis_o_1 0; set XAxis_o_2 1;
+set YAxis_o_1 -1; set YAxis_o_2 0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 0 -1 0 -1 10
+dmode result U
+set viewer "v2d"
+
+set Center_o_1 0; set Center_o_2 -1;
+set Axis_o_1 0; set Axis_o_2 -1;
+set XAxis_o_1 0; set XAxis_o_2 -1;
+set YAxis_o_1 1; set YAxis_o_2 0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 1 0 1 0 10
+dmode result U
+set viewer "v2d"
+
+set Center_o_1 1; set Center_o_2 0;
+set Axis_o_1 1; set Axis_o_2 0;
+set XAxis_o_1 1; set XAxis_o_2 0;
+set YAxis_o_1 -0; set YAxis_o_2 1;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result -1 0 -1 0 10
+dmode result U
+set viewer "v2d"
+set Center_o_1 -1; set Center_o_2 0;
+set Axis_o_1 -1; set Axis_o_2 0;
+set XAxis_o_1 -1; set XAxis_o_2 0;
+set YAxis_o_1 -0; set YAxis_o_2 -1;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 0 1 1 0 0 1 0 1 0 10
+dmode result U
+
+set Center_o_1 0; set Center_o_2 1; set Center_o_3 1;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 1;
+set XAxis_o_1 0; set XAxis_o_2 1; set XAxis_o_3 0;
+set YAxis_o_1 -1; set YAxis_o_2 0; set YAxis_o_3 0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 0 -1 1 0 0 1 0 -1 0 10
+dmode result U
+set Center_o_1 0; set Center_o_2 -1; set Center_o_3 1;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 1;
+set XAxis_o_1 0; set XAxis_o_2 -1; set XAxis_o_3 0;
+set YAxis_o_1 1; set YAxis_o_2 0; set YAxis_o_3 -0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 1 0 0 0 1 0 1 0 0 10
+dmode result U
+
+set Center_o_1 1; set Center_o_2 0; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 1; set Axis_o_3 0;
+set XAxis_o_1 1; set XAxis_o_2 0; set XAxis_o_3 0;
+set YAxis_o_1 0; set YAxis_o_2 0; set YAxis_o_3 -1;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result -1 0 0 0 1 0 -1 0 0 10
+dmode result U
+
+set Center_o_1 -1; set Center_o_2 0; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 1; set Axis_o_3 0;
+set XAxis_o_1 -1; set XAxis_o_2 0; set XAxis_o_3 0;
+set YAxis_o_1 0; set YAxis_o_2 -0; set YAxis_o_3 1;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 70 1 0 1 10
+2dtranslate result -200 0
+set viewer "v2d"
+
+set Center_o_1 -130; set Center_o_2 1;
+set Axis_o_1 0; set Axis_o_2 1;
+set XAxis_o_1 0; set XAxis_o_2 1;
+set YAxis_o_1 -1; set YAxis_o_2 0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 0 1 0 1 10
+val2d result -50 50 40
+set viewer "v2d"
+
+set Center_o_1 0; set Center_o_2 1;
+set Axis_o_1 0; set Axis_o_2 1;
+set XAxis_o_1 0; set XAxis_o_2 1;
+set YAxis_o_1 -1; set YAxis_o_2 0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 0 0 0 0 0 1 0 1 0 10
+val3d result -50 50 40
+
+set Center_o_1 0; set Center_o_2 0; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 1;
+set XAxis_o_1 0; set XAxis_o_2 1; set XAxis_o_3 0;
+set YAxis_o_1 -1; set YAxis_o_2 0; set YAxis_o_3 0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 0 0 1 0 30
+reverse result
+set viewer "v2d"
+
+
+set Center_o_1 0; set Center_o_2 0;
+set Axis_o_1 1; set Axis_o_2 0;
+set XAxis_o_1 1; set XAxis_o_2 0;
+set YAxis_o_1 0; set YAxis_o_2 -1;
+set LastParam_o_1 30;
+
--- /dev/null
+parabola result 70 1 0 0 0 1 0 1 0 10
+smirror result 0 0 0 1 0 -1
+
+set Center_o_1 -1.55431223447522e-14; set Center_o_2 1; set Center_o_3 70;
+set Axis_o_1 -1; set Axis_o_2 -0; set Axis_o_3 -2.22044604925031e-16;
+set XAxis_o_1 -0; set XAxis_o_2 1; set XAxis_o_3 -0;
+set YAxis_o_1 2.22044604925031e-16; set YAxis_o_2 0; set YAxis_o_3 -1;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 70 1 0 0 0 1 0 1 0 10
+translate result 0 -100 200
+
+set Center_o_1 70; set Center_o_2 -99; set Center_o_3 200;
+set Axis_o_1 0; set Axis_o_2 -0; set Axis_o_3 1;
+set XAxis_o_1 0; set XAxis_o_2 1; set XAxis_o_3 0;
+set YAxis_o_1 -1; set YAxis_o_2 0; set YAxis_o_3 0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola p 7 0 0 0 0 1 0 1 0 0.2
+trim p p -1 1
+copy p pr
+translate pr 0 -4 0
+reverse pr
+convert result pr
+pl
+pl
+pu
+pu
+set length 3.3514748622014476
+
--- /dev/null
+parabola p 7 0 0 1 0.2
+trim p p -1 1
+copy p pr
+2dtranslate pr 0 -4
+reverse pr
+convert result pr
+2dpl
+2dpl
+2dpu
+2dpu
+set viewer "v2d"
+set length 3.3514748622014476
+
--- /dev/null
+parabola result 70 1 0 1 10
+2dlmirror result 0 0 0 1
+set viewer "v2d"
+
+set Center_o_1 -70; set Center_o_2 1;
+set Axis_o_1 -0; set Axis_o_2 1;
+set XAxis_o_1 -0; set XAxis_o_2 1;
+set YAxis_o_1 1; set YAxis_o_2 -0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 70 1 0 1 10
+2dpmirror result 0 0
+set viewer "v2d"
+
+set Center_o_1 -70; set Center_o_2 -1;
+set Axis_o_1 -0; set Axis_o_2 -1;
+set XAxis_o_1 -0; set XAxis_o_2 -1;
+set YAxis_o_1 1; set YAxis_o_2 -0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 0 0 0 10 10
+dset ech 1.1
+repeat 20 {
+ 2dpscale result 0 0 0 ech;
+ copy result .;
+}
+set viewer "v2d"
+
+set Center_o_1 0; set Center_o_2 0;
+set Axis_o_1 0; set Axis_o_2 1;
+set XAxis_o_1 0; set XAxis_o_2 1;
+set YAxis_o_1 -1; set YAxis_o_2 0;
+set LastParam_o_1 67.2749994932561;
+
--- /dev/null
+parabola result 70 1 0 1 10
+2drotate result 0 0 90
+set viewer "v2d"
+
+set Center_o_1 -0.999999999999996; set Center_o_2 70;
+set Axis_o_1 -1; set Axis_o_2 6.12303176911189e-17;
+set XAxis_o_1 -1; set XAxis_o_2 6.12303176911189e-17;
+set YAxis_o_1 -6.12303176911189e-17; set YAxis_o_2 -1;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 70 1 0 1 10
+2dtranslate result -200 0
+set viewer "v2d"
+
+set Center_o_1 -130; set Center_o_2 1;
+set Axis_o_1 0; set Axis_o_2 1;
+set XAxis_o_1 0; set XAxis_o_2 1;
+set YAxis_o_1 -1; set YAxis_o_2 0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 70 1 0 0 0 1 0 1 0 10
+lmirror result 0 0 0 0 1 0
+
+set Center_o_1 -70; set Center_o_2 1; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 0; set Axis_o_3 -1;
+set XAxis_o_1 0; set XAxis_o_2 1; set XAxis_o_3 0;
+set YAxis_o_1 1; set YAxis_o_2 0; set YAxis_o_3 0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 70 1 0 0 0 1 0 1 0 10
+pmirror result 0 0 0
+
+set Center_o_1 -70; set Center_o_2 -1; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 -0; set Axis_o_3 1;
+set XAxis_o_1 -0; set XAxis_o_2 -1; set XAxis_o_3 -0;
+set YAxis_o_1 1; set YAxis_o_2 -0; set YAxis_o_3 -0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 70 1 0 0 0 1 0 1 0 10
+repeat 7 {rotate result 0 0 0 0 0 1 45;
+ copy result .;
+}
+
+set Center_o_1 50.2045814642448; set Center_o_2 -48.7903679018718; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 -0; set Axis_o_3 1;
+set XAxis_o_1 0.707106781186548; set XAxis_o_2 0.707106781186547; set XAxis_o_3 0;
+set YAxis_o_1 -0.707106781186547; set YAxis_o_2 0.707106781186548; set YAxis_o_3 0;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 70 1 0 0 0 1 0 1 0 10
+pscale result 0 0 0 5
+repeat 4 {pl}
+dmode result U
+
+set Center_o_1 350; set Center_o_2 5; set Center_o_3 0;
+set Axis_o_1 0; set Axis_o_2 -0; set Axis_o_3 1;
+set XAxis_o_1 0; set XAxis_o_2 1; set XAxis_o_3 0;
+set YAxis_o_1 -1; set YAxis_o_2 0; set YAxis_o_3 0;
+set LastParam_o_1 50;
+
--- /dev/null
+parabola result 70 1 0 0 0 1 0 1 0 10
+smirror result 0 0 0 1 0 -1
+
+set Center_o_1 -1.55431223447522e-14; set Center_o_2 1; set Center_o_3 70;
+set Axis_o_1 -1; set Axis_o_2 -0; set Axis_o_3 -2.22044604925031e-16;
+set XAxis_o_1 -0; set XAxis_o_2 1; set XAxis_o_3 -0;
+set YAxis_o_1 2.22044604925031e-16; set YAxis_o_2 0; set YAxis_o_3 -1;
+set LastParam_o_1 10;
+
--- /dev/null
+parabola result 70 1 0 0 0 1 0 1 0 10
+translate result 0 -100 200
+
+set Center_o_1 70; set Center_o_2 -99; set Center_o_3 200;
+set Axis_o_1 0; set Axis_o_2 -0; set Axis_o_3 1;
+set XAxis_o_1 0; set XAxis_o_2 1; set XAxis_o_3 0;
+set YAxis_o_1 -1; set YAxis_o_2 0; set YAxis_o_3 0;
+set LastParam_o_1 10;
+
--- /dev/null
+set viewer "smallview"
+set type "infinite"
--- /dev/null
+restore [locate_data_file pro5075_bug-proj4-curve1.rle] curv1
+restore [locate_data_file pro5075_bug-proj4-surface.rle] surf1
+project result curv1 surf1 -v 50
+set length 0.062450996195736283
+
--- /dev/null
+restore [locate_data_file pro5075_bug-proj4-curve2.rle] curv1
+restore [locate_data_file pro5075_bug-proj4-surface.rle] surf1
+project result curv1 surf1 -v 50
+set length 1.2463576545507855
+
--- /dev/null
+restore [locate_data_file pro5102_bug-proj5-curve.rle] curv1
+restore [locate_data_file pro5102_bug-proj5-surface.rle] surf1
+project result curv1 surf1 -v 50
+set length 3.1415926535897993
+
--- /dev/null
+restore [locate_data_file pro5103_bug-proj6-curve.rle] curv1
+restore [locate_data_file pro5103_bug-proj6-surface.rle] surf1
+project result curv1 surf1 -v 50
+set length 0.0074999999675910405
+
--- /dev/null
+restore [locate_data_file pro5075_bug-proj4-curve1.rle] curv1
+restore [locate_data_file pro5075_bug-proj4-surface.rle] surf1
+project result curv1 surf1 -v 50
+set length 0.062450996195736283
+
--- /dev/null
+restore [locate_data_file pro5075_bug-proj4-curve2.rle] curv1
+restore [locate_data_file pro5075_bug-proj4-surface.rle] surf1
+project result curv1 surf1 -v 50
+set length 1.2463576545507855
+
--- /dev/null
+restore [locate_data_file pro5102_bug-proj5-curve.rle] curv1
+restore [locate_data_file pro5102_bug-proj5-surface.rle] surf1
+project result curv1 surf1 -v 50
+set length 3.1415926535897993
+
--- /dev/null
+restore [locate_data_file pro5103_bug-proj6-curve.rle] curv1
+restore [locate_data_file pro5103_bug-proj6-surface.rle] surf1
+project result curv1 surf1 -v 50
+set length 0.0074999999675910405
+
--- /dev/null
+set viewer "v2d"
+set type "finite"
--- /dev/null
+restore [locate_data_file base_revol] base_revol
+revsurf revolution1 base_revol 1 0 0 0 0 1
+svalue revolution1 0.0 1.0 x y z dux duy duz dvx dvy dvz d2ux d2uy d2uz d2vx d2vy d2vz duvx duvy duvz
+dump x y z dux duy duz dvx dvy dvz d2ux d2uy d2uz duvx duvy duvz d2vx d2vy d2vz
+svalue revolution1 pi 1.0 x y z dux duy duz dovx dovy dovz d2ux d2uy d2uz d2vx d2vy d2vz duvx duvy duvz
+dump x y z dux duy duz dovx dovy dovz d2ux d2uy d2uz duvx duvy duvz d2vx d2vy d2vz
+dump revolution1
+dval dovx+dvx
+dval dovy+dvy
+mkface result revolution1
+set square 13.8136
+
--- /dev/null
+set viewer "smallview"
+set type "finite"