Subversion Repositories wimsdev

Rev

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)