+ else:
+ raymax:=NN1;
+ pray:=NN2;
+ nblignes:=NN3;
+ for r=rayd step pray until (raymax-pray):
+ for y=0 step 1 until (nblignes-1):
+ apj:=apj+1;
+ cpt[apj]:=apj;
+ Fc[apj][1]:=(r*cosd(angd+y*(angtotal/nblignes)),r*sind(angd+y*(angtotal/nblignes)),Fz(r*cosd(angd+y*(angtotal/nblignes)),r*sind(angd+y*(angtotal/nblignes))));
+ Fc[apj][2]:=(r*cosd(angd+(y+1)*(angtotal/nblignes)),r*sind(angd+(y+1)*(angtotal/nblignes)),Fz(r*cosd(angd+(y+1)*(angtotal/nblignes)),r*sind(angd+(y+1)*(angtotal/nblignes))));
+ Fc[apj][3]:=((r+pray)*cosd(angd+(y+1)*(angtotal/nblignes)),(r+pray)*sind(angd+(y+1)*(angtotal/nblignes)),Fz((r+pray)*cosd(angd+(y+1)*(angtotal/nblignes)),(r+pray)*sind(angd+(y+1)*(angtotal/nblignes))));
+ Fc[apj][4]:=((r+pray)*cosd(angd+y*(angtotal/nblignes)),(r+pray)*sind(angd+y*(angtotal/nblignes)),Fz((r+pray)*cosd(angd+y*(angtotal/nblignes)),(r+pray)*sind(angd+y*(angtotal/nblignes))));
+ Fc[apj].iso:=(Fc[apj][1]+Fc[apj][2]+Fc[apj][3]+Fc[apj][4])/4;
+ if Zpart(Fc[apj].iso)>Zmax:
+ Zmax:=Zpart(Fc[apj].iso);
+ fi;
+ if Zpart(Fc[apj].iso)<Zmin:
+ Zmin:=Zpart(Fc[apj].iso);
+ fi;
+ ALT[apj]:=-Zpart(GCoord(Fc[apj].iso));
+ if ProduitScalaire(Oeil-Fc[apj].iso,Normal(Fc[apj].iso,Fc[apj][2],Fc[apj][1]))>=0:
+ Vue[apj]:=true;
+ else:
+ Vue[apj]:=false
+ fi;
+ endfor;
+ endfor;
+ fi;