Subversion Repositories wimsdev

Rev

Rev 20 | Rev 4158 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

!if $wims_read_parm!=slib_header
 !goto proc
!endif
slib_title=Calcule les coordonnées des deux points extrêmes pour tracer une droite dans un repère
slib_parms=6\
,coefficient directeur de la droite\
,valeur à l'origine\
,abscisse minimale du repère\
,ordonnée minimale du repère\
,abscisse maximale du repère\
,ordonnée maximale du repère
slib_author=Fabrice Guerimand 
slib_out=Deux lignes comportant chacune les coordonnées de l'un des points.
!exit


:proc
slib_input=$wims_read_parm

!distribute items $slib_input into a,b,mx,my,Mx,My
slib_out=$slib_input

liste=$empty
tmp=$[$mx*($a)+($b)]
!ifval $tmp<=$My and $tmp>=$my
 liste=!append line $mx,$tmp to $liste
!endif
tmp=$[$Mx*($a)+($b)]
!ifval $tmp<=$My and $tmp>=$my
 liste=!append line $Mx,$tmp to $liste
!endif
tmp=!linecnt $liste
!if $tmp=2
 !goto end
!endif

tmp=$[($my-($b))/($a)]
!ifval $tmp<=$Mx and $tmp>=$mx
 liste=!append line $tmp,$my to $liste
!endif

tmp=$[($My-($b))/($a)]
!ifval $tmp<=$Mx and $tmp>=$mx
 liste=!append line $tmp,$My to $liste
!endif

:end


tmp=!linecnt $liste
!if $tmp<2
 slib_out=error
!else
 slib_out=!line 1 to 2 of $liste 
!endif