Draw a cylinder.

   drawCylinder(CYL)
   Draws the cylinder CYL on the current axis. 
   CYL is a 1-by-7 row vector in the form [x1 y1 z1 x2 y2 z2 r] where:
   * [x1 y1 z1] are the coordinates of starting point, 
   * [x2 y2 z2] are the coordinates of ending point, 
   * R is the radius of the cylinder

   drawCylinder(CYL, N)
   Uses N points for discretizating the circles of the cylinder. Default
   value is 32. 

   drawCylinder(..., OPT)
   with OPT = 'open' (default) or 'closed', specify if the bases of the
   cylinder should be drawn.

   drawCylinder(..., 'FaceColor', COLOR)
   Specifies the color of the cylinder. Any couple of parameters name and
   value can be given as argument, and will be transfered to the 'surf'
   matlab function

   drawCylinder(..., 'FaceAlpha', ALPHA)
   Specifies the transparency of the cylinder and of the optionnal caps.

   drawCylinder(AX, ...)
   Specifies the axis to draw on. AX should be a valid axis handle.

   H = drawCylinder(...)
   Returns a handle to the patch representing the cylinder.


   Examples:
   % basic example
     figure; drawCylinder([0 0 0 10 20 30 5]);

   % draw hollow cylinders
     figure; drawCylinder([0 0 0 10 20 30 5], 'open');

   % change cylinder color
     figure; drawCylinder([0 0 0 10 20 30 5], 'FaceColor', 'r');

   % change cylinder color using graphical handle
     figure;
     h = drawCylinder([0 0 0 10 20 30 5]);
     set(h, 'facecolor', 'b');

   % Draw three mutually intersecting cylinders
     p0 = [10 10 10];
     p1 = p0 + 80 * [1 0 0];
     p2 = p0 + 80 * [0 1 0];
     p3 = p0 + 80 * [0 0 1];
     figure; axis equal; axis([0 100 0 100 0 100]); hold on
     drawCylinder([p0 p1 10], 'FaceColor', 'r');
     drawCylinder([p0 p2 10], 'FaceColor', 'g');
     drawCylinder([p0 p3 10], 'FaceColor', 'b');
     axis equal
     set(gcf, 'renderer', 'opengl')
     view([60 30]); light;

   % draw cube skeleton
     [v, e, f] = createCube;
     figure; axis equal; axis([-0.2 1.2 -0.2 1.2 -0.2 1.2]); hold on; view(3);
     cyls = [v(e(:,1), :) v(e(:,2),:) repmat(0.1, size(e, 1), 1)];
     drawCylinder(cyls);
     light

   See Also:
     cylinderMesh, drawEllipseCylinder, drawSphere, drawLine3d, surf
     intersectLineCylinder, cylinderSurfaceArea

Package: matgeom