Subversion Repositories wimsdev

Rev

Rev 6634 | Blame | Compare with Previous | Last modification | View Log | RSS feed

!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

ecart1= $[sqrt(($(glist[1]) - ($(rlist[1])))^2 + ($(glist[2]) - ($(rlist[2])))^2)]
ecart2= $[abs($(glist[3]) - ($(rlist[3])))]

mean=$[max($ecart1,$ecart2)]
!if $ecart1 < $precision
  centre=1
!else
  centre=0
!endif
!if $ecart2 <$precision
  rayon=1
!else
  rayon=0
!endif

!if NaN isin $mean or Inf isin $mean
  !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

##coordonnées du centre, rayon en pixels
## test sur le centre, test sur le rayon (0 ou 1)
m_reply$i =$rlist;$centre,$rayon

:drawing
!if $(replytype$i)=javacurve
  primitive1=circle $(rlist[1..2]),$[2*$(rlist[3])],$color1
  !if $wims_read_parm!=nocompare
    primitive2=circle $(glist[1..2]),$[2*$(glist[3])],$color2
  !endif
  !exit
!endif

!! $(replytype$i)=jsxgraphcurve
script$i=$(script$i)\
var p;\
var q;\


!if $wims_read_parm!=nocompare
  script$i=!append line p$i=brd$i.create('point',[$(glist[1]),$(glist[2])],{face:'+', size:'0',fixed:true,name:'',showInfobox:false,strokeColor:'$color2'});\
  brd$i.create('circle',[p$i,$(glist[3])],{strokeColor:'$color2'}); to $(script$i)
!endif
script$i=!append line q=brd$i.create('point',[$(rlist[1]),$(rlist[2])],{face:'+', size:'8',fixed:true,name:'',strokeColor:'$color1',showInfobox:false});\
brd$i.create('circle',[q,$(rlist[3])],{strokeColor:'$color1'}); to $(script$i)