Previous Next


                                          313
SECTION 4.6                                                                      Patterns



Note the following points:

• If one of the starting and ending circles entirely contains the other, the shading
  depicts a sphere, as in Plates 12 and 13. In Plate 12, the inner circle has zero ra-
  dius; it is the starting circle in the figure on the left and the ending circle in the
  figure on the right. Neither shading is extended at either the smaller or larger
  end. In Plate 13, the inner circle in both figures has a nonzero radius and the
  shading is extended at the larger end. In each plate, a background color is spec-
  ified for the figure on the right but not for the figure on the left.
• If neither circle contains the other, the shading depicts a cone. If the starting
  circle is larger, the cone appears to point out of the page. If the ending circle is
  larger, the cone appears to point into the page (see Plate 11).

Example 4.25 paints the leaf-covered branch shown in Plate 14. Each leaf is filled
with the same radial shading (object number 5). The color function (object 10) is
a stitching function (described in Section 3.9.3, “Type 3 (Stitching) Functions”)
whose two subfunctions (objects 11 and 12) are both exponential interpolation
functions (see Section 3.9.2, “Type 2 (Exponential Interpolation) Functions”).
Each leaf is drawn as a path and then filled with the shading, using code such as
that shown in Example 4.26 (where the name Sh1 is associated with object 5 by
the Shading subdictionary of the current resource dictionary; see Section 3.7.2,
“Resource Dictionaries”).

Example 4.25

  5 0 obj                                                     % Shading dictionary
     << /ShadingType 3
         /ColorSpace /DeviceCMYK
         /Coords [ 0.0 0.0 0.096 0.0 0.0 1.0 00]              % Concentric circles
         /Function 10 0 R
         /Extend [ true true ]
     >>
  endobj

  10 0 obj                                                    % Color function
     << /FunctionType 3
         /Domain [ 0.0 1.0 ]
         /Functions [ 11 0 R 12 0 R ]
         /Bounds [ 0.708 ]
         /Encode [ 1.0 0.0 0.0 1.0 ]
     >>
  endobj

Previous Next