Rev 6634 | Blame | Compare with Previous | Last modification | View Log | RSS feed
!!almost the same as polygon
!set precision=!getopt precision in $(replyoption$i)
!default precision=6
!if $wims_read_parm=nocompare
!if $m<2
Test=bad $i
!exit
!endif
m_reply$i =$rlist
!goto drawing
!endif
!if $n<2
:badrep
reply$i=
test=NaN
!exit
!endif
!if $m<2
Test=bad $i
!exit
!endif
!ifval $n!=$m
mean=1000
!goto diag
!endif
curvecomp_xrange=0,1000
curvecomp_yrange=0,1000
curvecomp_option=discrete1 discrete2
curvecomp_1=$glist
curvecomp_2=$rlist
curvecomp_tolerance=$[2*$precision+3]
tt=!exec curvecomp
!distribute words $tt into mean1, mean2
mean=$[max($mean1,$mean2)/2]
!if NaN isin $mean or Inf isin $mean or $mean1=$empty
!goto badrep
!endif
:diag
test=$mean
!if $mean<$precision
diareply$i=good
!advance freegot
!else
!if $mean<$[2*$precision]
precreply$i=yes
!advance precgood
!endif
diareply$i=bad
!endif
:drawing
!if $(replytype$i)=javacurve
primitive1=line $rlist,$color1
!if $wims_read_parm!=nocompare
primitive2=line $glist,$color2
!endif
!exit
!endif
!! $(replytype$i)=jsxgraphcurve
!if $wims_read_parm!=nocompare
!for j=1 to $m/2
script$i=!append line p$i[$j] = brd$i.create('point',[$(glist[2*$j-1]),$(glist[2*$j])],{face:'+', size:'0',fixed:true,name:'',showInfobox:false,strokeColor:'$color2'}); to $(script$i)
!next
!endif
script$i=!append line brd$i.create('line',[p$i[1],p$i[2]],{strokeColor:'$color2', straightFirst:false, straightLast:false}); to $(script$i)
!for j=1 to $n/2
script$i=!append line q[$j] = brd$i.create('point',[$(rlist[2*$j-1]),$(rlist[2*$j])],{face:'+', size:'8',fixed:true,name:'',strokeColor:'$color1',showInfobox:false}); to $(script$i)
!next
script$i=!append line brd$i.create('line',[q[1],q[2]],{strokeColor:'$color1', straightFirst:false, straightLast:false}); to $(script$i)