throbber
BUNGIE - EXHIBIT 1018 - PART 3 OF 4
`
`

`
` _
`
`SIGGRAPH 93'_A”5.‘.I_‘°,"“.3Q§'!9[l‘i?;lT§,5H9E§ll9?9 ._
`
`..-
`
`of a cylinder in these spaces? Also, neither space allows
`similarity transformations: changing the size of an object
`changes its shape! Other questions arise. What sort of har-
`monic analysis is available to synthesize fractal terrains and
`textures in these spaces? If we hope to do physically-based
`modeling in these spaces, we need to expand our understand-
`ing of the laws of physics beyond the behavior of light de-
`scribed above in relation to shading. Finally, the theory of
`splines in non-Euclidean spaces was explored in [GK85].
`In the area of topological content, one obvious goal is
`to implement the five non-isotropic three dimensional model
`geometries. Also, there are many sorts of discrete groups,
`particularly those that create fractal patterns, which do not
`fit neatly into the current framework.
`In the direction of mathematical research and user inter-
`
`face, the efforts described here suggest various techniques for
`exploring 3-manifolds. Connecting this software with virtual
`reality technology would allow the researcher to perform a
`variety of explorations of the space. The use of sound also
`promises to yield useful evidence.
`Looking at the wider world of Riemannian geometry,
`this work is one step in the direction of visualizing arbi-
`trary curved spaces, the Riemannian manifolds that figure
`centrally in relativity and cosmology. For related work see
`[HD89].
`Finally, this work opens a new domain for artistic cre-
`ativity, three dimensional analogues of M. C. Escher’s dra-
`matic interlocking planar tessellations.
`
`9 Conclusions
`
`Approaching metric geometries via their common ancestry
`in projective geometry yields simple models which can be
`directly implemented in existing rendering systems. The re-
`sulting systems allow interactive navigation of curved spaces
`for the first time. Custom shaders provide realistic render-
`ing of the insider's view. Methods for manipulating and
`displaying discrete groups allow interactive exploration of a
`wide class of topological manifolds modeled on these spaces,
`that have never been visualized before. The resulting sys-
`tem provides a unique tool for mathematicians, educators,
`and scientists and artists whose work is related to spatial
`symmetry.
`
`Acknowledgements
`
`I would like to acknowledge valuable ideas, comments, sug-
`gestions, and assistance from Bill Thurston, Jeff Weeks, Sil-
`vio Levy, Stuart Levy, Mark Phillips, John Sullivan, David
`Banks, and the reviewers.
`
`References
`
`[Bea83]
`
`The Geometry of Discrete
`Alan F. Beardon.
`Groups. Springer-Verlag, 1983.
`
`[Car76] Manfredo P. Do Carmo. Difierential Geometry
`of Curves and Surfaces. Prentice—Hall, 1976.
`
`[Cay59]
`
`A. Cayley. A sixth memoir upon quantics. Philo-
`sophical Transactions of the Royal Society of
`London, 149:61—90, 1859.
`
`[Cox65]
`
`H.M.S. Coxeter. Non-Euclidean Geometry. Uni-
`versity of Toronto Press, 1965.
`
`262
`
`[Cox73]
`
`[Cox87]
`
`[ECH+91]
`
`[FRC92]
`
`[GK85]
`
`[GM91]
`
`[Gun83]
`
`[Gun92]
`
`[HD89]
`
`[Lev92]
`
`[LM78]
`
`[MLP+]
`
`H.M.S. Coxeter. Regular Polytopes. Dover, 1973.
`
`H.M.S. Coxeter. Projective Geometry. Springer
`Verlag, 1987.
`
`D. B. A. Epstein, Jim Cannon, Derek Holt, Sil-
`vio Levy, Mike Patterson, and William Thurston.
`Word Processing in Groups. Jones and Bartlett,
`1991.
`
`Helaman Ferguson, Alyn Rockwood, and Jordan
`Cox. Topological design of sculptural surfaces.
`Computer Graphics, 26:149—156, July, 1992. Pro-
`ceedings of SIGGRAPH 1992.
`
`S. Gabriel and J. Kajiya. Spline interpolation in
`curved space. In State of the Art Image Synthesis,
`1985. Course notes for SIGGRAPH 1985.
`
`Charlie Gunn and Delle Maxwell. Not Knot.
`
`Jones and Bartlett, 1991.
`
`Charlie Gunn. A computer implementation of
`the two-dimensional euclidean crystallographic
`groups. Master’s thesis, UNC, Chapel Hill, 1983.
`
`Charlie Gunn. Visualizing hyperbolic geometry.
`In Computer Graphics and Mathematics, pages
`299-313. Eurographics, Springer Verlag, 1992.
`
`Ping-Kang Hsiung and Robert H.P. Dunn. Visu-
`alizing relativistic effects in spacetime. In Super-
`computing 89. IEEE/ACM, Nov, 1989.
`
`Silvio Levy. Automatic generation of hyperbolic
`tilings. Leonardo, 35:349—354, 1992.
`E. H. Lockwood and R. H. Macmillan. Geometric
`
`symmetry. Cambridge University Press, 1978.
`
`Tamara Munzner, Stuart Levy, Mark Phillips,
`Nathaniel Thurston, and Celeste Fowler.
`.Ge-
`omview —— an interactive viewing program for sgi
`workstations. ftp@geom.umn.edu.
`
`[Mun75]
`
`James Munkres. Topology: A First Course, chap-
`ter 8. Prentice-Hall, 1975.
`
`[PG92]
`
`[Sch80]
`
`[Thu82]
`
`[Thuar]
`
`[Ups89]
`
`[Wee]
`
`Mark Phillips and Charlie Gunn. Visualizing hy-
`perbolic space: Unusual uses of 4x4 matrices.
`In 1992 Symposium an Interactive 3D Graphics,
`pages 209-214. ACM SIGGRAPH, ACM, 1992.
`
`R.L.E. Schwarzenberger. N-Dimensional Crys-
`tallography. Pitman Publishing, 1980. chapters
`13-16.
`
`William Thurston. Three dimensional manifolds,
`kleinian groups and hyperbolic geometry. BAMS,
`19:417——431, 1982.
`
`William Thurston. The Geometry and Topology
`of Three-Manifolds, volume 1. to appear.
`
`The Renderman Companion.
`Steve Upstill.
`Addison-Wesley, 1989. chapters 13-16.
`
`Jeff Weeks. snappea —— a macintosh application
`for computing 3-manifolds. ftp@geom.umn.edu.
`
`[Wee85]
`
`Jeff Weeks. The Shape of Space. Marcel Dekker,
`1985.
`
`[Woo22]
`
`Frederick Woods. Higher Geometry. Dover, 1961
`(1922).
`
`

`
`
`
`
`
`35I
`3
`
`
`
`COMPUTER GRAPHICS Proceedings, Annual Conference Series, 1993
`
`Imaging Vector Fields Using Line Integral Convolution
`
`Brian Cabral
`
`Leith (Casey) Leedom*
`
`Lawrence Livermore National Laboratory
`
`ABSTRACT
`
`Imaging vector fields has applications in science, art, image pro-
`cessing and special effects. An effective new approach is to use
`linear and curvilinear filtering techniques to locally blur textures
`along a vector field. This approach builds on several previous tex-
`ture generation and filtering techniques[8, 9, 11, 14, 15, 17, 23]. It
`is, however, unique because it is local, one-dimensional and inde-
`pendent of any predefined geometry or texture. The technique is
`general and capable of imaging arbitrary two- and three-dimen-
`sional vector fields. The local one-dimensional nature of the algo-
`rithm lends itself to highly parallel and efficient implementations.
`Furthermore, the curvilinear filter is capable of rendering detail on
`very intricate vector fields. Combining this technique with other
`rendering and image processing techniques — like periodic motion
`filtering — results in richly infomrative and striking images. The
`technique can also produce novel special effects.
`CR categories and subject descriptors: 1.3.3 [Computer
`Graphics]: Picture/Image generation; 1.3.7 [Computer Graphics]:
`T'hree-Dimensional Graphics and Realism; 1.4.3 [Image Process-
`ing]: Enhancement.
`Keywords: convolution, filtering, rendering, visualization, tex-
`ture synthesis, flow fields, special effects, periodic motion filtering.
`
`1. INTRODUCTION
`Upon first inspection, imaging vector fields appears to have lim-
`ited application — confined primarily to scientific visualization.
`However, much of the form and shape in our environment is a
`function of not only image intensity and color, but also of direc-
`tional information such as edges. Painters, sculptors, photogra-
`phers, image processors[16] and computer graphics researchers[9]
`have recognized the importance of direction in the process of
`image creation and form. Hence, algorithms that can image such
`directional information have wide application across both scien-
`tific and artistic domains.
`
`Such algorithms should possess a number of desirable and
`sometimes conflicting properties including: accuracy, locality of
`calculation, simplicity, controllability and generality. Line Integral
`Convolution OJC) is a new technique that possesses many of these
`properties. Its generality allows for the introduction of a com-
`
`* Authors’ current e-mail addresses are: cabral@llnl.gov and
`casey@gauss. llnl.gov.
`
`pletely new family of periodic motion filters which have wide
`application (see section 4.1). It represents a confluence of signal
`and image processing and a variety of previous work done in com-
`puter graphics and scientific visualization.
`
`2. BACKGROUND
`
`There are currently few techniques which image vector fields in
`a general manner. These techniques can be quite effective for visu-
`alizing vector data. However, they break down when operating on
`very dense fields and do not generalize to other applications. In
`particular, large vector fields (512x5l2 or greater) strain existing
`algorithms.
`Most vector visualization algorithms use spatial resolution to
`represent the vector field. These include sampling the field, such as
`with stream lines[l2] or particle traces, and using icons[19] at
`every vector field coordinate. Stream lines and particle tracing
`techniques depend critically on the placement of the “streamers” or
`the particle sources. Depending on their placement, eddies or cur-
`rents in the data field can be missed. Icons, on the other hand, do
`not miss data, but use up a considerable amount of spatial resolu-
`tion limiting their usefulness to small vector fields.
`Another general approach is to generate textures via a vector
`field. Van Wijk’s spot noise algorithm[23] uses a vector field to
`control the generation of bandlimited noise. The time complexity
`of the two types of implementation techniques presented by Van
`Wijk are relatively high. Furthermore the technique, by definition,
`depends heavily on the form of the texture (spot noise) itself. Spe-
`cifically, it does not easily generalize to other forms of textures that
`might be better suited to a particular class of vector data (such as
`fluid flow versus electromagnetic).
`Reaction diffusion techniques[20, 24] also provide an avenue
`for visualizing vector fields since the controlling differential equa-
`tions are inherently vector in nature. It is possible to map vector
`data onto these differential equations to come up with a vector
`visualization technique. Here too however, the time complexity of
`these algorithms limit their general usefulness.
`Three-dimensional vector fields can be visualized by three-
`dimensional
`texture generation techniques such as texels and
`hypertextures described in [11, 15]. Both techniques take a texture
`on a geometrically defined surface and project the texture out some
`distance from the surface. By definition these techniques are bound
`to the surface and do not compute an image for the entire field as is
`done by Van W"1jk[23]. This is limiting in that it requires a priori
`knowledge to place the surface. Like particle streams and vector
`streamers these visualization techniques are critically dependent
`on the placement of the sampling surface.
`The technique presented by Haeberli[9] for algorithmicly gener-
`ating “paintings” via vector-like brush strokes can also be thought
`of as a vector visualization technique. Crawfis and Max[5]
`
`1993
`
`ACM-0-89791-601-8/93/008/0263
`
`
`
`263
`
`
`
`

`
`
`
`Sl_Gr(_EiFlAPH 93, Anaheim. California, 1-6 August 1993
`
`describe a three—dimensional variation on this in which blurred cyl-
`inders represent three-dimensional brush strokes whose directions
`and colors are controlled by a three-dimensional vector field. Both
`techniques represent a conceptual extension of traditional
`icon
`placement, where the icons are more sophisticated shapes. How-
`ever,
`these techniques break down as the density of the field
`increases since they require spatial resolution to work.
`What is needed is a technique that can image dense vector fields,
`is independent of both predefined sampling placement constraints
`and texture generation techniques and can work in two and three
`dimensions. Such a technique would be very general and have
`wide application.
`
`3. DDA CONVOLUTION
`
`.
`
`'-t.--
`
`'
`
`—"
`
`‘ '
`
`Figure 2: Circular and turbuleri
`imaged using DDA convolution over white noise.
`
`One approach is a generalization of traditional DDA line draw-
`ing techniques[ 1] and the spatial convolution algorithms described
`by Van Wrjk[23] and Perlin[l4]. Each vector in a field is used to
`define a long, narrow, DDA generated filter kernel tangential to the
`vector and going in the positive and negative vector direction some
`fixed distance. L. A texture is then mapped one-to-one onto the
`vector field. The input texture pixels under the filter kernel are
`summed, normalized by the length of the filter kernel, 2L, and
`placed in an output pixel image for the vector position. Figure 1,
`illustrates this operation for a single vector in a field.
`Tliis effectively filters the underlying texture as a function of the
`vector field. The images in figure 2 are rendered using the DDA
`convolution algorithm. On the left is a simple circular vector field;
`to its right is the result of a computational fluid dynamics code. The
`input texture image in these examples is white noise. Although tl1e
`description above implies a box filter. any arbitrary filter shape can
`be used for the filter convolution kernel. It is important to note that
`this algorithm is very sensitive to symmetry of the DDA algorithm
`and filter. If the algorithm weights the forward direction more than
`the backward direction, the circular field in figure 2 appears to spi-
`ral inward implying a vortical behavior that is not present in the
`vector field.
`
`3.1 LOCAL FIELD BEHAVIOR
`
`The DDA approach, while efficient, is inherently inaccurate. It
`assumes that the local vector field can be approximated by a
`
`straight line. For points in vector fields where the local radius of
`curvature is large, this assumption is valid. However, where there
`are complex structures smaller than the length of the DDA line, the
`local radius of curvature is small and is not well approximated by a
`straight line. In a sense, DDA convolution renders the vector field
`unevenly, treating linear portions of the vector field more accu-
`rately than small scale vortices. While this graceful degradation
`may be fine or even desirable for special effects applications. it is
`problematic for visualizing vector fields such as the ones in figure
`2, since detail in the small scale structures is lost.
`Van Wijk’s spot noise algorithm[23] also suffers from this prob-
`lem since the spots are elliptically stretched along a line in the
`direction of the local field. If the ellipse major axis exceeds the
`local length scale of the vector field, the spot noise will inaccu-
`rately represent the vector field. An accurate measure of local field
`behavior would require a global analysis of the field. Such tech-
`niques currently do not exist for arbitrary vector fields, would most
`likely be expensive to ca[culate[l3] and are an area of active
`research['i].
`
`4. LINE INTEGRAL CONVOLUTION
`The local behavior of the vector field can be approximated by
`computing a local stream line that stans at the center of pixel (X, y)
`and moves out in the positive and negative directions. The for-
`ward coordinate advection is given by equation (1).
`
`vector tlelo
`
`P0 = (x+0.5,y+0.5}
`
`[2-DA line
`
`Input texture
`
`Output image
`
`
`
`Figure l: The mopping of o vector onto or DDA line and Input
`pixel field generating a single output pixel.
`
`P
`
`v(rP,,,p
`.=P. as (1)
`"‘+||"(LP.--rll1I
`*
`
`V ( L P_] ] - the vector from the input vector
`field at lattice point (LPJJ, LPIJ)
`
`00 if VII 9
`
`S, =
`
`P
`
`_.P
`
`0 if$ < 0
`c
`l_Pci —PC
`T 0lil'lcl.'“|"l.5'e
`C
`
`for (e,c) E
`
`(rap!
`
`(borrom, y)
`(left X)
`.
`3
`{’1ghr!x)
`
`2
`
`)
`
`(
`
`A 5: ' mi“ (Sroflsbartom’SIefr‘Srighr)
`
`1' Vector field lattice and image coordinates are usually specified in a left-
`handed coordinate system while vector components are usually specified in
`a right-handed coordinate system. In this case. the y-component of the lat-
`tice coordinate in equation (1) must be reflected about the vertical center of
`the lattice to operate in a consistent coordinate system. This reflection has
`been omitted to preserve simplicity of presentation.
`
`

`
`
`
`m___COl\_/lF’_UTE_l=l GFlAPH|_CS Proceedings, Annual Conference Series, 1993
`
`7. m-:”\W~\T_\ K‘ \
`
`~.
`
`ax
`
`K.
`
`K.
`
`\
`
`\
`K.
`fix” 7:
`
`- - *\
`
`R.
`
`\.
`
`\
`
`\
`
`'\
`
`\
`ix
`
`\
`
`K - I-\
`-\
`\
`\
`'2 Z If Km 9:
`1
`x
`l \
`x
`"Krill-‘lg?’
`
`\
`\
`\ +"\
`r
`r
`
`TIM? x.‘ \ ‘QC-V
`/'
`\
`>
`\
`gs 9% ~ ~'
`
`Ix ix
`
`\
`
`\
`
`L
`
`x"
`
`\ j
`xi
`
`\
`
`L
`
`t
`7- _
`
`‘r
`
`\
`
`\
`
`\
`\
`tjit
`1
`g 1“
`
`/if r-
`f
`
`\
`
`\
`
`\.
`
`\. N —-
`
`——>
`
`/'
`
`/'
`
`/'
`
`/'
`
`showing the Io-c-ol
`Ffijure 3: A two-dirhiensiondlvector
`stream line starting in cell (x, y). The vector field is the upper
`left corner of the fluid dynamics field In figures 2 and 4.
`
`Only the directional component of the vector field is used in this
`advection. The magnitude of tire vector field can be used later in
`post processing steps as explained in section 4.3.1. As,- is the posi-
`tive parametric distance along a line parallel to the vector field
`from P,- to the nearest cell edge.
`As with the DDA algorithm, it is important to maintain symme-
`try about a cell. Hence, the local stream line is also advected back-
`wards by the negative of the vector field as shown in equation (3).
`
`P5 =13
`
`l
`P"=P'1—1
`
`_ V(LPU_1l) As,
`llV(LPV—1l)H
`"1
`
`6)
`
`Primed variables represent the negative direction counterparts to
`the positive direction variables and are not repeated in subsequent
`definitions. As above As’,-, is always positive.
`The calculation of As; in the stream line advection is sensitive to
`round off errors. As, must produce advected coordinates that lie
`within the i+1‘h cell, taking the stream line segment out of the cur-
`rent cell. In the implementation of the algorithm a small round off
`term is added to each Asi to insure that entry into the adjacent cell
`occurs. This local stream line calculation is illustrated in figure 3.
`Each cell is assumed to be a unit square. All spatial quantities (e.g.,
`A5,») are relative to this measurement. However, the cells need not
`be square or even rectangular (see section 6) for this approxima-
`tion to work. So, without loss of generality, descriptions are given
`relative to a cubic lattice with unit spacing.
`Continuous sections of the local stream line — i.e. the straight
`line segments in figure 3 — can be thought of as parameterized
`space curves in s and the input texture pixel mapped to a cell can
`be treated as a continuous scalar function of x and y.2 It is then
`possible to integrate over this scalar field along each pararneterized
`space curve. Such integrals can be summed in a piecewise C1 fash-
`ion and are known as line integrals of the first kind (L[FK)[2]. The
`convolution concept used in the DDA algorithm can now be com-
`
`2' Bilinear, cubic or Bezier splines are viable alternatives to straight line
`segments. However, these higher order curves are more expensive to com-
`pute.
`
`
`
`bined with LIFK to form a Line Integral Convolution (LIC). This
`results in a variation of the DDA approach that locally follows the
`vector field and captures small radius of curvature features. For
`each continuous segment, i, an exact integral of a convolution ker-
`nel k(w) is computed and used as a weight in the LIC as shown in
`equation (4).
`
`s‘.+A.r,.
`
`hi =
`where
`so = 0
`
`1' k(w)dw
`x’
`
`s’. = si__1+Asi_1
`
`(4)
`
`The entire LIC for output pixel F ’(x, y) is given by equation (5).
`I
`1'
`
`2F(l_Pil)hi+ 2F(l_P'tl)h'i
`'
`:=o
`F'(x,y) = ‘=0
`I
`I,
`2m+Ew,
`I = 0
`1 = 0
`where
`F ( L PJ ) is the input pixel corresponding to
`the vector at position (LPXJ , |_PyJ)
`l=isuchthatsisL<si+1
`
`(5)
`
`(6)
`
`The numerator of equation (5) represents the line integral of the fil-
`ter kernel times the input pixel field, F. The denominator is the line
`integral of the convolution kernel and is used to normalize the out-
`put pixel weight (see section 4.2).
`The length of the local stream line, 2L, is given in unit pixels.
`Depending on the input pixel field, F, if L is too large, all the
`resulting LICs will return values very close together for all coordi-
`nates (x, y). On the other hand, if L is too small then an insufficient
`amount of filtering occurs. Since the value of L dramatically
`affects the performance of the algorithm, the smallest effective
`value is desired. For most of the figures, a value of 10 was used.
`Singularities in the vector field occur when vectors in two adja-
`cent local stream line cells geometrically “point” at a shared cell
`edge. This results in As, values equal to zero leaving I in equation
`(6) undefined. This situation can easily be detected and the advec-
`tion algorithm terminated. If the vector field goes to zero at any
`point, the LIC algorithm is terminated as in the case of a field sin-
`gularity. Both of these cases generate truncated strearn lines. If a
`zero field vector lies in the starting cell of the LIC, the input pixel
`value for that cell, a constant or any other arbitrary value can be
`returned as the value of the LIC depending on the visual effect
`desired for null vectors.
`
`Using adjacent strearn line vectors to detect singularities can
`however result in false singularities. False singularities occur when
`the vector field is nearly parallel to an edge, but causes the LIC to
`cross over that edge. Similarly, the cell just entered also has a near
`parallel vector which points to this same shared edge. This artifact
`can be remedied by adjusting the parallel vector/edge test found in
`equation (2), to test the angle formed between the vector and the
`edge against some small angle theta, instead of zero. Any vector
`which forms an angle less than theta with some edge is deemed to
`be “parallel” to that edge. Using a value of 3° for theta removes
`these artifacts.
`
`The images in figure 4 were rendered using LIC and correspond
`to the same two vector fields rendered in figire 2. Note the
`increased amount of detail present in these images versus their
`DDA counterparts. In particular the image of the fluid dynamics
`vector field in figure 4 shows detail incorrectly rendered or absent
`in figure 2.
`
`265
`
`

`
` ".'."\\\-
`
`"“.:---
`
`-3-2‘. -'
`
`
`Figure 4: Circular and turbulent fluid dynamics vector fields
`imaged using LIC over white noise.
`
`2
`
`-r" —-
`
`-
`
`The images in figure 5 show the effect of varying L. The input
`texture is a photograph of flowers. The input vector field was cre-
`ated by taking the gradient of a bandlimited noise image and rotat-
`ing each of the gradient vectors by 90°, producing vectors which
`follow the contours of the soft hills and valleys of the bandlimited
`noise. With L equal
`to 0,
`the input
`image is passed through
`unchanged. As the value of L increases, the input image is blurred
`to a greater extent, giving an impressionistic result. Here, a biased
`ramp filter[ 10] is used to roughly simulate a brush stroke.
`
`Figures 2, 4, 8, 9 and 11 were generated using white noise input
`images. Aliasing can be a serious problem when using LIC with a
`high frequency source image such as white noise. The aliasing is
`caused by the one-dimensional point sampling of the infinitely thin
`LIC filter. This aliasing can be removed by either creating a thick
`LIC filter with a low-pass filter cross section or by low-pass filter-
`ing the input image. This second alternative is preferable since it
`comes at no additional cost to the LIC algorithm. The images in
`figure 6 show the effect of ninning LIC over 256x256 white noise
`which has been low-pass filtered using a fourdi order Butterworth
`filter with cutoff frequencies of I28, 84, 64, and 32.
`It is worth noting that Van Wijk's spot noise algorithm[23] can
`be adapted to use the local stream line approximation to more
`accurately represent the behavior of a vector field. Instead of
`
`Ir. ‘C
`
`..
`
`Figure 5: Photograph of flowers processed using LIC with L
`equal to D, 5. 10 and 20 (left to right. top to bottom).
`
`straight line ellipticai stretching, each spot could be warped so that
`the major axis follows the local stream line. Furthermore, the
`minor axis could either be perpendicular to the warped major axis
`or itself could he warped along transverse field lines. However, an
`algorithm to perform this task for an arbitrary local stream line
`would be inherently more expensive and complex than the LIC
`algorithm.
`Sims[18] describes an alternative technique which produces
`results similar to LIC. This alternative approach warps or advects
`texture coordinates as a function of a vector field. The similarity
`between the two techniques is predictable even though the tech-
`niques are quite different. The dilation and contraction of the tex-
`ture coordinate system warping has the visual effect of blurring
`and sharpening the warped image. This is due to the resampling
`and reconstruction process necessary when warping from one
`coordinate system to another. Thus, for regions where the source
`image is stretched along the vector field an apparent bluning will
`occur similar to those seen with LIC. However, the techniques are
`completely different in two fundamental ways. First, LIC is a local
`operator, meaning no information outside of a fixed area of interest
`is needed. Warping even when done locally requires maintaining
`global consistency to avoid tearing holes in the warped image.
`This increases the complexity of the warping operation when com-
`pared to LIC. Second, LIC is a spatially varying filtering operation
`and does not warp or transform any texture coordinates.
`
`4.1 PERIODIC MOTION FILTERS
`
`The LIC algorithm visualizes local vector field tangents, but not
`their direction. Freeman, et al[8] describe a technique which simu-
`lates motion by use of special convolutions. A similar technique is
`used by Van Gelder and Wilhelms[22] to show vector field flow.
`This technique can be extended and used to represent the local vec-
`tor field direction via animation of successive LIC imaged vector
`fields using varying phase shifted periodic filter kernels.
`The success of this technique depends on the shape of the filter.
`In the previous examples (figures 2 and 4), a constant or box filter
`is used. If the filter is periodic like the filters used in [8], by chang-
`ing the phase of such filters as a function of time, apparent motion
`
`
`
`I
`n
`I
`5
`1'
`-
`'
`-
`Flute 6: The upper left hand quarter of the circular vector
`field is convolved using LIC over Butterworih low-pass filtered
`white noise with cutoff trequencies of 128. 86. 64. and 32 09”
`to right. top to bottom).
`
`

`
`COMPUTER GRAPHICS Proceedings, Annual Conference Series, 1993
`
`
`
`lnhhn
`
`lhnln
`
`Figure 7: Phase shifted Hanning ripple functions(top), 0 Hon-
`ning windowing funclion(midd|e). and Hanning ripple func-
`tions multiplied by the Hcinning window functIon(boh‘om).
`
`apparent motion[3]. A low frequency ripple function results in a
`windowed filter whose frequency response noticeably changes as a
`function of phase. This appears as a periodic blurring and sharpen-
`ing of the image as the phase changes. Higher frequency ripple
`functions produce windowed filters with a nearly constant fre-
`quency response since the general shape of the filter doesn't radi-
`cally change. However, the feature size picked up by me ripple
`filter is smaller and the result is less apparent motion. If the ripple
`frequency exceeds the Nyquist limit of the pixel spacing the appar-
`ent motion disappears. Experimentation shows that a ripple func-
`tion frequency between 2 and 4 cycles per window period is
`reasonable. One can always achieve both good frequency response
`and good feature motion by increasing the spatial resolution. This
`comes, of course, at a cost of increased computation[16].
`
`(3)
`
`4.2 NORMALIZATION
`
`sin (bc) — sin (ac)
`b - a + -——:—7—-———
`
`1
`7 Z
`
`+ sin (bd+ B) - sin (ad+|3)
`d
`+ sin(b(c—d) -5) —sin(a(c—d) -5)
`2(c-d)
`
`sin(b(c+d) +[3) —sin(a(c+d) +6)
`2(c+d)
`
`+
`
`As mentioned above, both the Hanning window and the Han-
`ning ripple filter function can be independently dilated by adjust-
`ing c and d to have specific local support and periodicity. The
`window function has a fixed period of 21:.
`Choosing the periodicity of the ripple function represents mak-
`ing a design trade-off between maintaining a nearly constant fre-
`quency response as a function of phase shift and the quality of the
`
`3‘ D. Gabor in 1946 created a localized form of the Fourier transform
`known as the Gabor transform. This transform is the Fourier transform of
`an input signal multiplied by a Gaussian window translated along the sig-
`nal as a frmction of time. The net result is a signal which is spatially and
`frequency localized. Wavelet theory is based on a generalization of this
`type of spatial and frequency localization.
`
`
`
`A normalization to the convolution integral is perfonned in
`equation (5) to insure that the apparent brightness and contrast of
`the resultant image is well behaved as a function of kernel shape,
`phase and length. The numerator in equation (5) is divided by the
`integral of the convolution kernel. This insures that the normalized
`area under the convolution kernel is always unity resulting in a
`constant overall brightness for the image independent of the filter
`shape and LIC length.
`
`Because the actual length of the LIC may vary from pixel to
`pixel, the denominator can not be precomputed. However, an inter-
`esting effect is observed if a fixed nonnalization is used. Truncated
`stream lines are attenuated which highlights singularities. The
`images in figure 8 a show another section of the fluid dynamics
`vector field imaged with variable and constant kernel nonnaliza-
`tion. The implementation of the LIC algorithm uses precomputed
`sum tables for the integral to avoid costly arithmetic in the inner-
`most loop.
`
`A second normalization may be done to insure the output image
`retains the input image’s contrast properties. The LIC algorithm
`reduces the overall image contrast as a function of L. In fact, in the
`case of the box filter, as L goes to infinity the entire output image
`goes to the average of the input image. This can be ameliorated by
`amplifying the input or contrast stretching the output image as a
`function of L. Clearly as L goes to infinity the amplification or con-
`
`267
`
`il i E
`
`
`
`in the direction of the vector field is created. However, the filters
`used in [8] were, by design, high-pass Laplacian edge enhancing
`filters. Using this filter over a bandlimited noise texture produces
`very incoherent images since the high frequency components of
`the noise are accentuated. Instead, it is possible, and desirable, to
`create periodic low-pass filters to blur the underlying texture in the
`direction of the vector field. A Hanning filter l/2(l + cos(w+[3)),
`has this property. It has low band-pass filter characteristics, it is
`periodic by definition and has a simple analytic fonn. This func-
`tion will be referred to as the ripple filter function.
`Since the LIC algorithm is by definition a local operation, any
`filter used must be windowed. That is, it must be made local even
`if it has infinite extent. In the previous section we used a constant
`filter implicitly windowed by a box of height one. Using this same
`box window on a phase shifted Hanning filter we get a filter with
`abrupt cutoffs, as illustrated in the top row of figure 7.
`This abrupt cutoff is noticeable as spatio-temporal artifacts in
`animations that vary the phase as a function of time. One solution
`to this problem is to use a Gaussian window as suggested by
`Gabor[4].3 By multiplying, or windowing, the Hanning function
`by a Gaussian, these cutoffs are smoothly attenuated to zero. How-
`ever, a Gaussian windowed Hanning fimction does not have a sim-
`ple closed form integral. An alternative is to find a windowing
`function with windowing properties similar to a Gaussian and
`which has a simple closed form integral. Interestingly, the Hanning
`function itself meets these two criteria. In the bottom row of figure
`7, the five phase shifted Hanning filter frmctions in the top row are
`multiplied by the Hanning window function in the middle row. The
`general form of this function is shown in equation (7). In this equa-
`
`1+cos(cw)
`k(w) raj?-——x
`
`l+cos(dw+[3)
`2
`
`(7)
`
`l
`=Z(1+ cos (cw) + cos (dw+fi) +cos (cw) cos (dw+|3))
`tion c and d represent the dilation constants of the Hanning win-
`dow and ripple functions respectively. B is the ripple function
`phase shift given in radians. The integral of k(w) from a to b used
`in equation (4) is shown in equation (8).
`
`b f
`
`k(w) dw
`
`

`
`

`
`Colt-lPUTEF_t_GFtfi_lPil_I§_S Proceedings, Annual Conference Series. 1_99§
`
`4.4 THREE-DIMENSIONAL LIC
`
`The LIC algorithm easily generalizes to higher dimensions.
`Equations (1), (3) and (5) trivially extend to three dimensions. In
`the three-dimensional case. cell edges are replaced with cell faces.
`Both the input vector field and input texture must be three-dimen-
`sional. The output of the three—dimensional LIC algorithm is a
`three—dimensional
`image or scalar field. This field is rendered
`using volume rendering techniques such as those found in [21] and
`[6].
`
`Figure 14 is a three-dimensional rendering of an electrostat

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket