function ob = ftore2(az1,az2,el1,el2,daX,daY,daL,daH,x0,y0,z0,or,pr,tp) % function ob = ftore2(az1,az2,el1,el2,daX,daY,daL,daH,x0,y0,z0,or,pr,tp) % az1 = azimut 1 % az2 = azimut 2 % el1 = elévation 1 (bas) % el2 = elévation 2 (haut) % daX = demi-axe en x % daY = demi-axe en y % daL = demi-axe du tube en largeur % daH = demi-axe du tube en hauteur % x0 = position en x % y0 = position en y % z0 = position en z % or = orientation (1=axe X;2=axe Y;3=axe Z) % pr = precision (standard=50) % tp = type (1=surf;2=surfl) [th,ua]=meshgrid(az1:(az2-az1)/pr:az2,el1:(el2-el1)/pr:el2); x=(daX+daL*cos(ua)).*cos(th); y=(daY+daL*cos(ua)).*sin(th); z=daH*sin(ua); switch tp case 1 switch or case 1 ob=surf(z+x0,x+y0,y+z0); case 2 ob=surf(x+x0,z+y0,y+z0); case 3 ob=surf(x+x0,y+y0,z+z0); end case 2 switch or case 1 ob=surfl(z+x0,x+y0,y+z0); case 2 ob=surfl(x+x0,z+y0,y+z0); case 3 ob=surfl(x+x0,y+y0,z+z0); end end %© by Cédric Blaser / 27.11.2001