%% syntaxe : xA yA xB yB ordonnepoints --> idem si yB>yA ou si yB=yA
%% avec xB>xA, sinon xB yB xA yA
/ordonnepoints {
4 copy
exch pop %% ... xA, yA, yB
lt %% yA < yB ?
{pop} %% oui, c'est fini
{ %% non : yA >= yB
pop 4 copy
exch pop %% ... xA, yA, yB
eq %% yA = yB ?
{
3 copy %% oui, yA = yB
pop pop %% ... xA, xB
le %% xA =< xB ?
{} %% oui, c'est fini
{ %% non, on echange A et B
4 -1 roll
4 -1 roll
}
ifelse
}
{ %% non : yA < yB => on echange A et B
pop
4 -1 roll
4 -1 roll
}
ifelse
}
ifelse
} def
|