in which the elements omegaji3 can be computed as the dot product of ei and the first derivative of gradient in the ej direction. Specifically, diagonalizing A means computing the matrices
A = [ omega113 omega123
omega213 omega223]
where A = PDP-1 and |k1| > |k2|. The principal curvatures are the eigenvalues k1 and k2, and the principal directions are the corresponding eigenvectors, expressed in 3D object space coordinates as ei' = viu e1 + viv e2.
D = [ k1 0
0 k2] , and P = [ v1u v2u
v1v v2v]
Figure 1: A single solid texture is applied to the volume data shown in each of these pictures. Nevertheless, the image of the texture on each isolevel surface conveys shape information specific to that surface. These images depict a series of level surfaces of radiation dose enclosing an opaque treatment region. This data, defined in a 241x199x181 voxel volume, represents a five-beam treatment plan for cancer of the prostate. Clockwise from the upper left, dose concentrations, relative to the prescribed level, are: 4%, 28%, 36%, 47%, 55%, and 82%.
Figure 2: Narrower strokes may be represented via higher resolution textures. The resolution of the texture volume in this image is 482x398x362, twice as great as the resolution of the texture used to compute the images in figure 1.
Figure 3: A comparison of methods for displaying overlapping surfaces, illustrated on a 433x357x325 voxel dataset representing a radiation treatment plan for cancer of the nasopharynx. Left: a plain transparent isointensity surface of radiation dose surrounds the opaque treatment region. Center: the same dataset, with principal direction-driven 3D LIC texture added to the outer surface. Right: the same dataset, with a solid grid texture used to highlight selected contour curves.
Figure 4: An illustration of the effect of filter kernel length on the lengths of the strokes in the texture. Clockwise from the upper left, these images were computed using filter kernel lengths of 2, 6, 20 and 40. The initial spots were defined by a point-spread function approximately four voxels in diameter, applied at evenly-distributed surface points in the 241x199x181 voxel volume.
Figure 5: Stroke lengths and widths in this image have each been adaptively defined according to the magnitude of the curvature in the stroke direction.
Figure 6: The width of a stroke at any point along its extent may be adaptively determined, at the time of rendering, by selecting texture values from any of a series of multiple predefined volumes, indexed by the value of a second function computed over the data. In this case the shading at each point is used to determine the volume from which the local texture sample is retrieved. The texture shown here was defined in a 409x338x307 voxel volume.
Figure 7: Color is used here to convey the relative magnitude of the depth distance between the two superimposed surfaces. Strokes are whitest where the surfaces are relatively widely separated, and become progressively redder as the proximity of the outer surface to the to the inner increases. Stroke length varies slightly according to the magnitude of the principal curvature, as in figure 3, but stroke width is held constant. The resolution of this data is 433x357x325.
... all a fastidious spectator's pleasure in a drawing may be destroyed by a wro ng use of direction... no matter how fine the lines composing it may be, or how pretty the general effect [34].This paper has described how the set of principal directions and principal curvatures, classical shape descriptors from differential geometry, can be used to define a natural flow of lines over the surface of an object, and used to guide the placement of a stroke texture that seeks to reveal shape in a perceptually intuitive way.
Figure 8: A principal-direction-driven LIC texture applied to the bone/soft tissue boundary surface in a CT volume dataset.