Enhanced Voxelization and Representation of Objects with Sharp

0 downloads 0 Views 2MB Size Report
Jun 24, 2009 - proposed here extends the traditional distance-based voxelization by an a-priori detection of sharp object details and their subsequent.
484

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS,

VOL. 16,

NO. 3,

MAY/JUNE 2010

Enhanced Voxelization and Representation of Objects with Sharp Details in Truncated Distance Fields  ´ mek Pavol Novotn y, Leonid I. Dimitrov, Member, IEEE, and Milos Sra Abstract—This paper presents a new method for voxelization of solid objects containing sharp details. Voxelization is a sampling process that transforms a continuously defined object into a discrete one represented as a voxel field. The voxel field can be used for rendering or other purposes, which often involve a reconstruction of a continuous approximation of the original object. Objects to be voxelized need to fulfill certain representability conditions; otherwise, disturbing artifacts appear during reconstruction. The method proposed here extends the traditional distance-based voxelization by an a-priori detection of sharp object details and their subsequent modification in such a way that the resulting object to be voxelized fulfills the representability conditions. The resulting discrete objects are represented by means of truncated (i.e., narrow-band) distance fields, which provide reduction of memory requirements and further processing by level set techniques. This approach is exemplified by two classes of solid objects that normally contain such sharp details: implicit solids and solids resulting from CSG operations. In both cases, the sharp details are rounded to a specific curvature dictated by the sampling distance. Index Terms—Voxelization, truncated distance fields, run-length compression, CSG operations, sharp details, implicit solids, artifacts, representability.

Ç 1

INTRODUCTION

V

OLUME graphics as introduced by Kaufman et al. in 1993 [21] is a subdiscipline of computer graphics dealing with spatial objects in their true three-dimensional character. Its approach is considerably different from that of the traditional one used in surface graphics. Whereas the surface graphics aims at creating models to simulate the outside appearance of real-world objects, volume graphics concentrates mainly on the interiors of objects. Further, volume graphics has the potential to compete with surface graphics in areas where the traditional approach still dominates, as in modeling of synthetic scenes for rendering. The primitive of volume graphics is the voxel—a volume element. Each voxel stores information characterizing the given object at the voxel’s location. The possibilities here range from binary voxels storing just one of the two possible values of a specific attribute to multivalued ones storing one or several of the many possible values of various attributes, such as density, gradient vector, color, and material properties. Voxels can be arranged in various ways, but the most common representation is some kind of orthogonal grid. The process of conversion from continuous (geometric) to discrete (volume) representation is called

. P. Novotn y is with IBL Software Engineering, Mierova 103, 82105 Bratislava 2, and the Faculty of Mathematics, Physics and Informatics, Comenius University, Bratislava, Slovakia. E-mail: [email protected].  ´mek are with the Austrian Academy of Sciences, . L.I. Dimitrov and M. Sra OAW Visualisierung, Donau-City-Strasse 1, A-1220 Vienna, Austria. E-mail: [email protected]. Manuscript received 25 Feb. 2008; revised 17 Sept. 2008; accepted 7 May 2009; published online 24 June 2009. Recommended for acceptance by R. Whitaker. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TVCG-2008-02-0025. Digital Object Identifier no. 10.1109/TVCG.2009.74. 1077-2626/10/$26.00 ß 2010 IEEE

voxelization. Voxelization as such is a sampling process, and therefore, all consequences of sampling theory regarding discretization and quantization apply. The same holds true for the inverse process called reconstruction, which uses a discrete representation for producing a continuous approximation of the initial object. The early voxelization techniques [22], [10], [11] producing binary voxel volumes generate severe artifacts in the reconstruction phase [40]. This is because of the limited possibilities for normal estimation, although a few sophisticated methods were published [9], [41]. To circumvent this problem, filtered techniques were proposed [38], [35], where an object occupancy function (a function returning value dI for a point inside the object and dO otherwise) was defined and low-pass filtered prior to sampling. These techniques produce multivalued scalar data and, in fact, mimic the real measurement process. Although filtering significantly improves the possibility of reconstructing the original object surfaces and even enables simulation of reflection, it is still not precise enough to produce artifact-free animations [36]. This problem was finally overcome by today’s state-of-the-art distance field (DF) techniques, where the distance-to-surface function, instead of the filtered occupancy function, was sampled [36], [6], [14], [13], [30], [5], [8], [18]. The DF technique enables more precise reconstruction of object surfaces because the distance field is linear, and thus, lends itself to precise reconstruction1 by linear filters (the trilinear filter for the reconstruction of the field and the central differences filter for the reconstruction of its gradient) [25]. Although superior, even representation by DFs cannot overcome the limits imposed by sampling theory. Thus, to 1. At least for planar surfaces. Published by the IEEE Computer Society

 ET AL.: ENHANCED VOXELIZATION AND REPRESENTATION OF OBJECTS WITH SHARP DETAILS IN TRUNCATED DISTANCE... NOVOTNY

avoid reconstruction artifacts, one has to increase the sampling density either uniformly (leading to large data volumes) or adaptively (leading to algorithmic complexity [13], [30], [3]), detect and remove the artifacts in postprocessing [33], [23], provide additional information [20], [16], [39], [19], [32], or modify the input object in such a way that the modified one fulfills certain representability criteria [7]. In this paper, which is a development of the two earlier works [26], [29], the focus is on the last possibility. Two classes of solid objects, whose unrepresentable sharp details show up frequently, are dealt with here: solids resulting from constructive solid geometry (CSG) operations, and implicitly defined solids, mainly of the subcategories of superellipsoids, supertori, and supershapes. For each class, a direct two-pass voxelization technique is proposed: in the first pass, the areas that require modification are identified, and in the second one, the shape is modified according to the representability criteria. This approach leads to rounding of edges and vertices to a certain curvature specific for a given grid resolution while the remaining object parts are left unaltered. The sharpness of details can be enhanced by increasing the grid resolution. To alleviate memory shortages following such an increase in resolution, truncated distance fields (TDFs) can be used for object representation. In TDF, only the distances in surface vicinities are stored while the inside/ outside labels are kept elsewhere. The TDFs are conceptually akin to the narrow-band distance fields widely used for representing surfaces in narrow-band schemes when solving various time-dependent PDE problems [1], [31]. TDFs and narrow-band DFs enable the implementation of an efficient memory compression scheme based on a modified run-length (RL) encoding [28], [27], [17]. While significantly decreasing the memory footprint of the volume, the RL compression features also efficient voxel reading and writing. Further, in the TDF representation, the objects are localized, as opposed to the full distance field representation. That is, they are similar to the objects voxelized by the filtering approaches or even those delivered by tomographic scanners. To summarize, an overview of the related literature is given in Section 2 and algorithms for artifact-free CSG operations with voxelized solids are presented in Section 3. Section 4 introduces an algorithm for artifact-free voxelization of implicit solids with sharp details. Finally, the results are presented in Section 5 and conclusions are given in Section 6.

8 < DI ¼ r; dðXÞ ¼ DO ¼ r; : DðXÞ;

2.1

2.2

Voxelization Techniques

2.2.1 CSG Operations CSG operations between binary voxelized models can easily be performed as operations between the values of the corresponding voxels [21]. But, this concept cannot directly be extended to filtered or DF representations. Nonetheless, earlier techniques relied on such implementations. For example, the min-max implementation for DF models, A \ B : dA\B ¼ minðdA ; dB Þ; A [ B : dA[B ¼ maxðdA ; dB Þ; A  B : dAB ¼ minðdA ; 1  dB Þ;

ð2Þ

gained a lot of interest [6], [2], [37] because it keeps the DFs correct almost everywhere except in the edge areas influenced by both solids. This defect sometimes causes severe problems in the reconstruction phase (Fig. 1, left column) because it leads to an unbounded DF error (a point arbitrarily far from the surface of the new solid may get an arbitrarily low distance value [5]).

2.2.2 Implicit Solids The (volumetric) distance field is a natural discrete representation for implicit solid objects analytically defined by an inequality of the kind fðx; y; zÞ  0. The distance to the surface of such objects can be computed directly for several simple cases (plane, cone, sphere, cube, etc.) and even for not-so-simple ones as, for example, superellipsoids [24]—but not for superellipsoids with sharp surface details, which are of our primary concern here. A general yet simple voxelization technique for implicit solids can be based, according to [36], on the linear approximation of f in the object surface vicinity. Here, the distance DðXÞ of a point X ¼ ðx; y; zÞ to the surface can be estimated by the formula

RELATED WORK

Representation of Objects by Truncated Distance Fields In the DF representation, each voxel stores the distance (eventually signed) to the nearest surface point [18]. Object representation by truncated DFs takes advantage of the fact that for reconstructing the surface, one needs to store just a thin layer of voxels with correct distances in the surface vicinity. In the other voxels, some other values can be stored, for example, an inside density dI and an outside density dO [35]:

ð1Þ

It is important to choose the constant r properly because too small a value leads to artifacts in surface reconstruction— in the limit case, one would actually obtain binary data. On the contrary, if r is too large, unnecessary computations have to be done. From the results presented in [35], it is known that the optimal value of r is approximately 1.8 voxel units (the length of the unit cube diagonal) if trilinear interpolation and central differences are to be used in later reconstruction.

DðXÞ ¼

2

for DðXÞ < r; for DðXÞ > r; elsewhere:

485

fðXÞ krfðXÞk

ð3Þ

in which krfðXÞk is the gradient magnitude. This linear approximation is acceptable provided that f is C continuous. If not, reconstruction artifacts can occur.

2.3

Object Representability in DFs and Artifact Correction Voxelization is essentially a conversion from a continuous to a discrete representation and necessarily induces some information loss. In the reconstruction phase required for operations like rendering, surface polygonization, surface offsetting, morphing, physical simulations, etc., one strives

486

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS,

VOL. 16,

NO. 3,

MAY/JUNE 2010

Considering these two conditions, the authors of [7] concluded that a geometric object is suitable for voxelization at a given resolution if it is both Sr -open and Sr -closed with respect to a structuring element—a sphere with radius r. In that case, the medial axes/surfaces after voxelization are pushed off the object’s surface by r. Thus, the normals, if estimated numerically from the voxelized representation of the object, are not affected by the medial axis problem. The sphere radius r is defined by the size of the reconstruction filter to be used and specifies the thickness of the transitional area (2r) in the TDF representation. It is, thus, obvious that representable solids cannot have sharp details. For other objects, two approaches are possible: 1) the sharp details have to be smoothed before voxelization or 2) the problem has to be resolved in the postprocessing phase by detection and correction of the corrupted areas. A morphological approach [5] belonging to the first category was proposed for volume sculpting. There, to perform the union of two objects, the representability condition was enforced by performing an Sr -dilation of the operand objects prior to the operation and an Sr -erosion of the resultant object subsequent to the operation: A [ B ¼ ððA  Sr Þ [ ðB  Sr ÞÞ  Sr :

Fig. 1. Edge artifacts in voxelized objects for different CSG implementations. Operations from left to right: simple (min-max), enhanced, and advanced (introduced later). Objects (a)-(d): tetrahedron, wedge, dodecahedron minus sphere, union of two touching spheres.

to restore the original data, but only a certain amount of approximation can be achieved because of information loss. The precision of this approximation depends on the properties of the object under consideration, the sampling density, and the selected reconstruction filters. If one tries to voxelize objects for which this representation is not suitable, reconstruction errors creep in, which manifest themselves in the form of various artifacts (Fig. 1, left column). The representability problem was discussed in detail in [7]. In that, two conditions were formulated for an object to qualify itself for voxelization at a specified resolution: 1. 2.

The local curvature of the object’s surface has to be relatively small with respect to the grid resolution. The filters for the surface and normal reconstructions must not use samples located on both sides of the medial surface2 of the object.

2. Medial surface is the set of object points, which is equidistant from at least two points on its surface.

ð4Þ

This continuous domain definition was implemented for CSG operations as a two-pass technique between a voxelized object and an analytically defined unsampled sculpting tool. In the first pass, for each voxel, the nearer of the two objects was detected and the nearest point P on the surface of this object’s Sr dilation determined. If P was interior point of ðA  Sr Þ [ ðB  Sr Þ, the voxel required further processing and was tagged. Additionally, a set of points I marking the intersection of the two dilated surfaces was built. In the second pass, the minimum in the distance fields of the two relevant operands was assigned to the untagged voxels. For tagged voxels, the distance to the nearest point in the set I was determined and stored. In spite of the added complexity, this technique is fast enough to provide for interactive scene updates in sculpting with a small tool. The revoxelization technique [33] attempts to correct corrupted TDFs by postprocessing of the voxel field obtained according to (2) in CSG operations, or obtained by voxelization of implicit solids as described in Section 2.2.2. There, a pair of morphological operators, V-opening and V-closing implementing the aforementioned Sr opening and Sr closing in the discrete domain, was developed. However, these operations turned out to be time-consuming and sometimes numerically unstable. Later, Museth et al. [23] proposed a level set framework for surface editing operators, the aim of which partially overlaps with the goals of the techniques presented in this paper. Their automatically localized level set blending can be used for the same purposes as the technique proposed here for CSG operations. In level set blending, they search for the intersection curve shared by both input surfaces to localize the area that requires the blending. Subsequently, the distance from this curve is used as a parameter of the blending operator. The method is automatic and requires only a few parameter values to be specified by the user. Further, the authors propose a localized smoothing level set

 ET AL.: ENHANCED VOXELIZATION AND REPRESENTATION OF OBJECTS WITH SHARP DETAILS IN TRUNCATED DISTANCE... NOVOTNY

487

operator, which could help to suppress the artifacts introduced by sharp details of certain implicit models, and this forms the second main topic of this paper. While their work was predominantly oriented toward acquiring voxel models with user-specified properties (i.e., model smoothness), the strength of the approach presented here lies in its basic principles: without orientation to any specific application, a theoretically grounded morphological representability criterion is enforced to CSG and implicit objects. This results in a strictly predictable property of the voxelized object—an exactly bounded maximal surface curvature, which is unambiguously specified by the resolution of the discretization grid.

3

CSG OPERATIONS WITH VOXELIZED SOLIDS

This section introduces the proposed novel approach to performing CSG operations with voxelized solids. As mentioned before, the representability of CSG results continues to be problematic because, in general, they contain edges, vertices, or other sharp details. Therefore, these details of the resulting CSG solids are modified—rounded— depending on the grid resolution in such a way that their curvature corresponds to the maximal permissible limit. The proposed implementation of CSG operations between voxelized solids, represented by TDFs, is based on the same theoretical background—the representability criterion—as the technique proposed in [5], which deals with operations between a voxelized object and an analytically defined sculpting tool. However, a more general approach is presented here according to which both the operand solids are voxelized. This feature renders the technique suitable for processing whole CSG trees also. It is assumed, of course, that the input voxelized models are artifact-free. When an object A is represented by a TDF, each voxel of the representing grid belongs either to the inside I A , or to the outside OA , or to the transitional area T A of the object’s representation. The boundaries of the transitional area are denoted by the inner surface IA and the outer surface OA ; the real object surface passes between them through the center of the transitional area. As the thickness of the transitional area is 2r, the distance from a surface point to IA is r, and the inside area is, therefore, identical to the Sr -erosion [7] of the object. To perform the intersection of objects A and B according to (4), it is necessary to reconstruct the inner surface IA\B , to identify the sample points lying in the transitional area of A \ B, and, finally, to compute correctly the distances of these points to IA\B . This approach is illustrated in Fig. 2, which shows orthogonal cuts through edges with obtuse and acute angles. The min-max criterion (2) is applied in areas where all the corresponding voxels of both solids are inside, or at least one of them is outside. The remaining space can be divided into the regions P, Q, and R according to the geometry of the newly created edge (Fig. 2): . R  T A \ T B \ ffCa SCb . . Q  ððT A \ T 0 B Þ [ ðT 0 A \ T B ÞÞ \ ffCa SCb  OA OB . . P  ðT A [ T B  OA  OB Þ  R  Q. Here, the T 0X notation stands for the complement of object X. The angle Ca SCb is defined on the orthogonal cut through the edge, where S is the nearest point of the line (curve) s  IA \ IB from the given voxel, and Ca ; Cb are the feet of the perpendiculars from S to the outer surfaces OA and OB .

Fig. 2. Intersection of two objects A, B. (a) Edge with an obtuse angle. (b) Edge with an acute angle.

For the P region, the min-max criterion is also applied, while for the voxels of the Q and R regions, the distances to the line (curve) s have to be computed instead. Four ways denoted as simple, enhanced, advanced, and special are presented here, according to which the distance to IA\B is computed at a different level of precision, thus, trading speed for quality. The basic simple technique applies the minmax criterion (2) everywhere and may result in the aforementioned artifacts. The enhanced technique solves the representability problem for obtuse edges and the advanced one extends it further to sharp edges. Finally, the special one attempts to solve the problem for solids, which are beyond the limits of representability. The four variants share certain commonalities: 1) They work in single runs through all voxels, 2) They approximate all the surfaces locally by a plane, and 3) They identify the voxels, where the simple minmax criterion (2) yields correct values. For the remaining voxels, the final densities are computed in different ways. The simple and enhanced techniques rely exclusively on point operations, while the other two compute the distances by involving local voxel neighborhoods.

3.1 Simple CSG Operation The min-max implementation is denoted here, according to (2), as a simple CSG operation. It ignores the sampling theory completely, and therefore, results in artifacts around edges (Fig. 1, left column).

488

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS,

VOL. 16,

NO. 3,

MAY/JUNE 2010

Fig. 3. Intersection of two planes. Planes ;  are given by point P and vectors ~ u; ~ v. W is the nearest point to P on the intersection line of these ~ is to be determined. planes. Vector w

3.2 Enhanced CSG Operation The enhanced CSG operation is similar to the simple one in that it is based on point operations only. Here, only the R region is identified (because it is impossible to distinguish between regions P and Q solely by point operations—this problem will be described in Section 3.3 in more detail) and the min-max criterion (2) used elsewhere. In this case, the R regions of obtuse and sharp edges have to be distinguished using the dot product of the gradient vectors for the voxels in R. At the core of this method lies the local approximation of the inner surfaces of both objects by planes. Obtuse angle: In every voxel V of the region R, the density and gradient are so set that they correspond to the direction and distance to the nearest point S of the line, which is the estimated intersection of the inner surfaces (Fig. 2). The outer surface of the result then forms an arc with center S, radius 2r, and endpoints Ca ; Cb , where 2r is the thickness of the transitional area. Likewise, the real surface is formed by an arc with the same center, but with radius r. Thus, the Sr -openness and Sr -closeness criteria are fulfilled exactly for object representability. To find the nearest point on the aforementioned line s, the problem represented in Fig. 3 has to be solved. Given are the point P and two linearly independent vectors ~ u and ~ v defining planes  and . Vector ~ u (~ v) is perpendicular to plane  (), and the distances between the planes and P are k~ uk and k~ vk. If W is assumed to be the nearest point of the intersection line of planes  and  to P , the goal is to find ! ~ ¼ P W . Three facts are used as follows: the vector w 1. ð~ w~ uÞ ? ~ u, 2. ð~ w ~ vÞ ? ~ v, ~ is a linear combination of vectors ~ 3. w u; ~ v. Using these observations, a system of equations is built from which the following relation is obtained: ~ ¼ w

ðk~ uk 2  ~ u~ vÞ  k~ vk2 k~ uk2 k~ vk2  ð~ u~ vÞ2

~ u þ

ðk~ vk 2  ~ u~ vÞ  k~ uk2 k~ uk2 k~ vk2  ð~ u~ vÞ 2

~ v:

ð5Þ

Fig. 4a presents a scheme that is used to estimate the densities and gradients of the voxels in the R region belonging to an obtuse edge. In a voxel V , the densities da ; db and the normalized gradients n~a ; n~b of the input volumes A, B are known from which the values d and ~ n of the resultant intersection are to be obtained. The following equations are used (see (1) for definition of DI and DO ):

Fig. 4. Intersection of two objects. (a) Obtuse angle. (b) Acute angle. Density and gradient in voxel V 2 T A\B are estimated through vector ~ g.

a ¼

dI  da ; dI  dO

ð6Þ

b ¼

dI  db ; dI  dO

ð7Þ

~a ¼ 2r n~a ; N

ð8Þ

~b ¼ 2r n~b ; N

ð9Þ

~a ; ~ a ¼ a N

ð10Þ

~b : ~ b ¼ b N

ð11Þ

~¼~ Using (5) for ~ u¼~ a; ~ v¼~ b, and w g, the following equation is obtained after simplification:

 ET AL.: ENHANCED VOXELIZATION AND REPRESENTATION OF OBJECTS WITH SHARP DETAILS IN TRUNCATED DISTANCE... NOVOTNY

~b ; ~a þ L N ~ g¼KN a  b n~a n~b K¼ ; 1  ðn~a n~b Þ2 b  a n~a n~b : L¼ 1  ðn~a n~b Þ2

489

ð12Þ

For K > 0; L > 0, voxel V lies in the R region, and vector ~ g is used for the evaluation of its density and gradient: d ¼ dI 

k~ gk ðdI  dO Þ; 2r

ð13Þ

~ g ~ n¼ : k~ gk

ð14Þ

Acute angle: In the case of an acute angle between the surfaces of both solids, the solution is only approximate. The distance field in the R region is so constructed that the outer surface forms an arc between points Sa and Sb . Its radius is such that this arc touches the outer surfaces of objects A and B. Obviously, this does not fulfill the Sr openness and Sr -closeness criteria—the smaller the angle between the surfaces, the bigger would be the error. Fig. 4b illustrates the situation. Using (5) for ~ u¼ ~a Þ; ~ ~¼~ v¼~ b, and w x, vector ~ x can be expressed as ð~ aN ~a þ Lx N ~b ; ~ x ¼ Kx N a þ ð1  b Þn~a n~b ; Kx ¼ 1  ðn~a n~b Þ2 ð1  b Þ þ a n~a n~b Lx ¼ : 1  ðn~a n~b Þ2

ð15Þ

~b Þ, and w ~¼~ Similarly, using (5) for ~ u¼~ a; ~ v ¼ ð~ bN y, vector ~ y can be expressed as ~a  Ly N ~b ; ~ y ¼ Ky N ð1  a Þ þ b n~a n~b ; Ky ¼ 1  ðn~a n~b Þ2 b þ ð1  a Þn~a n~b Ly ¼ : 1  ðn~a n~b Þ2

ð16Þ

From these equations, the following equations are derived: ~a þ Lx N ~b ; ~ g ¼ Ky N f ¼ 2rðKx þ Ky Þ ¼ 2rðLx þ Ly Þ ¼

ð17Þ 2r : 1  n~a n~b

ð18Þ

The distance of point O to the outer surface is f. Then voxel V is closer to the outer surface by k~ gk, and therefore, its density is d ¼ dO þ

f  k~ gk ðdI  dO Þ: 2r

ð19Þ

The R1 region is determined by the condition Ky > 0; Lx > 0. The densities of the voxels outside this region are evaluated according to the min-max criterion. It is not easy to decide which gradients should be assigned to the voxels in the regions R1 and R2 . If the direction to point S is considered, the gradient would change discontinuously across the segments Sa S and Sb S. If

Fig. 5. Classification of the T A region in subregions P, Q, and R.

the direction to point O in the R1 region is considered for the gradient and the min-max criterion is used elsewhere, the gradient would change discontinuously across the segment OS. Therefore, the gradients in the regions R1 and R2 are estimated according to the following equation: ~ n ¼

a n~a þ b n~b ; ka n~a þ b n~b k

ð20Þ

which is derived by substituting the intersection of two perpendicular surfaces. Although the direction of this gradient deviates from that of the real surface normal, it is to be preferred because it changes continuously and the error of such an estimation is not as critical as the error caused by a discontinuous gradient estimation. Using the enhanced CSG operation, obtuse edges are rounded correctly and the artifacts around acute edges suppressed partially too. The improvement is clearly visible in comparison with the simple implementation for the regular tetrahedron in Fig. 1, middle column, although the angle between its faces is acute (about 75.5 degree). However, in the case of the wedge where the edge is even sharper, both results are still unacceptable.

3.3 Advanced CSG Operation The goal of the advanced CSG operation is to implement the CSG operations fully in accordance with the Sr -openness and Sr -closeness criteria to remove artifacts around all edges. Therefore, the region Q (Fig. 2b), which has information about only one surface, has to be identified because for rounding the object correctly, information about both surfaces is needed. If this information were available, the approach to obtuse edges could be easily extended to all edges. For this purpose, the following steps are added to the algorithm: For voxels lying in the vicinity of just one surface, it needs to be determined whether they belong to region P or region Q. 2. For voxels in the Q region, the missing information for the second surface (density, gradient vector) is estimated before performing the CSG operation. A test for the classification of voxels in regions P and Q is illustrated in Fig. 5. Using the density (distance) and gradient of voxel V : V 2 T A ^ V 62 T B , point F is constructed as the perpendicular foot from V to IA . If F 2 T B , then voxel V 2 Q; otherwise, V 2 P. It is not easy to test for F 2 T B . F as a point in continuous space is located in a grid cell with eight neighboring voxels at its vertices—some of them can be inside the transitional area of B and some outside. The following rules are used to take a decision on F : 1.

490

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS,

Fig. 6. Addition of missing information for a voxel in the critical area. (a) Using neighboring voxels. (b) Using point F calculated previously.

If all voxels of the cell lie outside (inside) T B , then F is outside (inside) too. . Otherwise, all the 26 neighboring cells are checked and from them are chosen those which have all vertices in T B . Using trilinear interpolation for the voxels of every chosen cell, the density at point F is estimated. Each selected cell is further assigned a weight based on its distance from the point F . Finally, from the estimated values of the density, the weighted average density at F , which determines if the voxel V lies in the Q region, is computed. In the second step, the missing density and gradient values characterizing the surface B in voxel V are interpolated. The two cases are distinguished as follows: .

.

If there are two nearest voxels to V in T B in at least one direction, then that information from these voxels (see Fig. 6a) is used. For instance, if density and gradient in voxel Vi;j;k are to be evaluated and the densities and gradients in voxels Viþ1;j;k ; Viþ2;j;k are known, it is set di;j;k ¼ 2diþ1;j;k  diþ2;j;k ; ~i;j;k ¼ 2~ niþ1;j;k  ~ niþ2;j;k : n

.

ð21Þ

If this estimation for pairs of voxels can be done in more than one direction, the final values are calculated as an average of these estimations. If there is no such pair of voxels in the neighborhood of V , the information determined in the first step for point F (see Fig. 6b) is used. The gradient in the point F is calculated in the same way as its density. The difference x between the densities in points V ! and F from the known vectors ~ n; ~ u ¼ F V is evaluated. Then voxel V has values dV ¼ dF þ x; ~F : ~V ¼ n n

ð22Þ

As can be seen in the right column of Fig. 1, sharp edges are now without artifacts. They are smoothed but it is the only way to represent them in a grid with the given resolution if the representability criterion is to be fulfilled. Similarly, in the union of two spheres, each almost touching the other (Fig. 1d), the thin gap between them is not representable and is, therefore, filled.

VOL. 16,

NO. 3,

MAY/JUNE 2010

Fig. 7. CSG operations with a nonrepresentable result. Model: sphere minus cylinder. (a) Advanced and (b) special CSG operation between voxelized primitives.

3.4 Special CSG Operation The advanced CSG operation successfully solves the voxelization problem for representable solids. However, sometimes even objects beyond the limits of representability are to be voxelized in which case artifacts may appear. The special CSG operation is an extension of the advanced CSG operation. Its goal is to detect regions, where problems with nearly touching objects can occur. It is based on the following heuristics: When performing the advanced CSG operation, voxel pairs are marked with almost opposite gradients—the angle of these vectors is more than 175 degree (this was determined experimentally). Such voxels are termed dangerous. 2. After that, all the dangerous voxels are checked. Their densities and gradients are compared with those of their nondangerous neighbors and if the differences are significant, their values are changed. The special CSG operation brings some visual enhancement, but obviously the enhancement is not (and cannot be) completely correct (Fig. 7). 1.

4

VOXELIZATION OF IMPLICIT SOLIDS WITH SHARP DETAILS

In this section is presented a new technique for voxelization of implicit solids containing edges or other sharp details. Typical representatives of such objects are superellipsoids, supertori [4], and supershapes [15]. An example of a supershape is given in Fig. 8. If the object’s implicit function is thresholded at the 0 isolevel, sharp edges and corners will form, even with isolated object points outside the object or background points inside the object (Fig. 8a). If the trivial voxelization technique (3) is used, singularities (with unbound function magnitude and gradient) are located in these edges and corners, which would render estimation of the distance field incorrect. The basic idea of the proposed voxelization technique is the same as that of CSG operations with voxelized solids: To avoid voxelization artifacts, sharp details have to be rounded in such a way that the resulting object fulfills the representability conditions (Section 2.3). The proposed sharp details correction (SDC) method is performed in three stages.

 ET AL.: ENHANCED VOXELIZATION AND REPRESENTATION OF OBJECTS WITH SHARP DETAILS IN TRUNCATED DISTANCE... NOVOTNY

491

Fig. 9. The normal and density consistency tests. Approximately, the same normals as those in voxel V should be found in points P and Q. Further, the density values should be dO in P and dI in Q (case 1). If this is not the case, it implies that the voxel is located near an edge or vertex, and its value must be recalculated (case 2); so, it is marked as critical. Density and normal in V should then be set according to the vector VS, where S is the nearest point of the inside surface. Thus, the outside surface will be changed in the way depicted by the green dashed line.

morphological operations to prepare it for further processing (Fig. 8d). Here, the convex-concave classification of critical voxels is slightly modified, and voxels at the boundaries between convex and concave areas are labeled as inflex. After performing these two steps, no undefined voxels are left. In the third stage, new densities and normals (i.e., normalized gradients) for the critical voxels are computed by extrapolating and propagating information from their noncritical neighbors following the modified fast marching method (FMM) [34] and considering the representability criterion (Section 2.3) in a way similar to the one described in Section 3 (Fig. 8e).

Fig. 8. Voxel classification. (a-e) A volume slice illustrating the SDC method: (a) Binary voxel classification. (b) Trivial voxelization result. (c) Critical area detected. (d) Classification after the adjustment of the critical area. (e) SDC method result. (f) Voxelized solid colored according to the voxel classification. Key to voxel colors: white—inside, black—outside, green—transitional (intensity changes according to the density value), blue—critical, cyan—convex critical, yellow—concave critical, and red—inflex critical.

In the first stage, the trivial voxelization is performed in which the distances are computed directly from the scalar field of the implicit object according to (1) and (3), (Fig. 8b). The gradient of the object’s implicit function is evaluated either analytically or by central differences in the continuous domain. Subsequently, critical voxels (i.e., voxels in the vicinity of a gradient discontinuity) are identified by local analysis of the implicit function (Fig. 8c). The critical voxels are classified as convex, concave, or undefined according to the type of the gradient discontinuity there. In the second stage, the critical area is adjusted through a set of

4.1 Voxelization and Detection of the Critical Area During the first stage of the voxelization process, the density and gradient in each voxel are evaluated. Simultaneously, the voxels are classified according to (1) as inside, outside, or transitional with inner (outer) surface density dI (dO ). The critical voxels of the transitional class are detected by normal and density consistency tests and classified into subclasses of convex, concave, and undefined voxels. Both consistency tests aim at detecting high curvature areas; in the case of a continuous object, a single test should be sufficient. However, experiments have shown that for sampled distance fields, both tests have to be performed to achieve sufficient robustness. A smooth surface and a line intersecting it perpendicularly are considered. In such a case, the gradient direction along the line, at least in the vicinity of the surface, should be constant or vary only a little. This is the main idea of the normal consistency test. First, the density d is computed using (3) and the normal n is computed as the normalized density gradient in the given voxel V . Second, if V is transitional (Fig. 9), the points P and Q are found, thus, P ¼ V  2r

d  dO  n; dI  dO

ð23Þ

492

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS,

Q ¼ V þ 2r

dI  d  n; dI  dO

VOL. 16,

NO. 3,

MAY/JUNE 2010

ð24Þ

where 2r is the thickness of the transitional area. Ideally, these points lie on the inner (outer) surface and the normals np and nq , computed at these points, are parallel to n. Subsequently, the voxels V that do not fulfill these conditions, that is, those for which the inequalities d  dO n dI  dO dI  d q < n dI  dO

p
1  c ;

ð31Þ

where c is a tolerance value estimated experimentally. No record of the faces, where the fronts originated, is maintained. The number of fronts in a voxel and the directions of their propagation are decided solely on the basis of the consistency criterion. Therefore, the algorithm is not limited to the propagation of two fronts along a single edge (this is just a simplified illustration example). It can correctly handle merging of several fronts in polyhedral and even in cone-shaped vertices. However, the merging has to reckon with the restriction that only edges (corners) of one type (either convex or concave) can meet in one vertex. Voxels around other types of vertices (denoted here as inflex vertices) belong to the inflex area (red color in Fig. 8) and are handled separately later.

4.3.2 Final Distance Evaluation in the Convex Area When the propagation of an expanding front in the convex area has finished, the information stored in each convex critical voxel is analyzed and the final voxel densities are computed according to the representability criterion. Each frozen entry (density and normal) in a voxel defines a plane that locally approximates the inside surface of a halfspace object. Therefore, in the case of two entries, the same procedure is followed as the one in the CSG intersection of two solids (Section 3.3): The nearest point on the intersection line of both planes is found and corresponding distance and a direction vector are stored in the voxel. The approach for two frozen entries in a voxel can be generalized to any number of entries—one just needs to find the nearest point in the intersection of several halfspaces. This process was described in [28]. As mentioned before, the computation scheme presented for the convex area can be used in the concave area in an analogous way. After completing the calculations in the convex and concave areas, all critical voxels in these areas are converted into inside, outside, or transitional ones depending on the evaluated densities. Finally, new voxel values will have to be evaluated in inflex areas too. 4.3.3 Extrapolation of Information in the Inflex Area The solution for the inflex area is only approximate as opposed to the ones for the convex and concave areas, where edges (corners) and vertices are rounded accurately according to the representability criterion. The reason for this is that convex and concave areas can meet in an inflex area in various configurations, and it is generally impossible to decide which is the best solution. Nevertheless, the approximate solution suffices the requirement for numerous solids because the inflex area is relatively small, and thus, an eventual error would not be much disturbing. Here, the modified version of the FMM technique is used in a way similar to that used in the convex and concave areas (Section 4.3.1). However, due to the aforementioned reason, the normal consistency test is dropped, and thus, each inflex voxel is hit by the propagated front just once (see Fig. 13). Therefore, every inflex voxel stores just one frozen entry at the end of the front propagation. It may be noted

Fig. 13. Evolution of an expanding front in the inflex critical area. Information from the transitional area is propagated through the inflex critical area using the evolution of a front. Key to colors: white—inside voxel, gray—outside voxel, green—transitional voxel (intensity corresponds to the density value), blue—empty inflex voxel, magenta—inflex voxel with a narrow-band entry, yellow—inflex voxel with a frozen entry (intensity corresponds to the density value). Each inflex voxel stores one frozen entry after the front propagation—picture (d). Subsequently, the inflex area is smoothed by averaging the values in the local neighborhood of every inflex critical voxel—picture (e). Finally, each inflex voxel is converted into an inside, outside, or transitional one depending on the evaluated density—picture (f).

that there can be an abrupt jump in density and/or normal values in locations, where the front arrived from different directions. Hence, the inflex area is subsequently smoothed by averaging the values in the local neighborhood of every inflex voxel—compare Figs. 13d and 13e. Finally, all inflex voxels are classified as inside, outside, or transitional ones depending on the evaluated density.

5

IMPLEMENTATION AND RESULTS

All the proposed techniques were implemented in the C++ language on a 2,130 MHz/2 GB Pentium M computer. The essence of the proposed technique is the rounding of sharp edges and small details, which would otherwise lead to reconstruction artifacts (Fig. 14a). Depending on the grid resolution, such rounding may significantly change the object’s shape in the case of very sharp edges (Fig. 14b). According to sampling theory, though no other solution exists except local or global increase of the grid resolution. Fig. 14c shows the case for a voxelized implicit solid.

5.1 CSG Solids As shown in the upper part of Table 1, the enhanced CSG operation increases the computational cost only marginally by just a few percent in comparison with the simple one enh (column simp lower row). But, the same is not the case for the advanced CSG operation, which results in a 2.3 to 3.4-fold slowdown in the CSG evaluation, excluding voxelization of the operands itself. Including voxelization, the overhead enh represents 12-17 percent (column simp upper row). The reason is that while the enhanced operation adds extra computations only along the newly created edges (complexity OðnÞ, where n is the grid resolution), in the advanced operation, the voxels in the whole transitional area of both objects have to be processed (complexity Oðn2 Þ). Similarly, the special operation adds only minimal cost when compared with that of the

 ET AL.: ENHANCED VOXELIZATION AND REPRESENTATION OF OBJECTS WITH SHARP DETAILS IN TRUNCATED DISTANCE... NOVOTNY

495

Fig. 15. Comparison of solids voxelized with and without the SDC method. Many artifacts appear around sharp details if the solids are voxelized using the trivial voxelization technique (a). Using the SDC method, representable solids are obtained, and thus, these artifacts are not present (b).

Fig. 14. Dependence of the object shape on the resolution. (a) Simple CSG operation. (b) Advanced CSG operation. (c) Implicit solid voxelized by the SDC method. Resolutions from top to bottom: 643 ; 1283 , and 2563 .

advanced one—actually, it is either applied only in very small areas or not applied at all for the majority of cases.

5.2 Implicit Solids The SDC method was tested on implicitly defined simple objects, like a cube or a regular octahedron, as well as on complex objects such as superellipsoids, supertori, and supershapes. The results showed that the algorithm can be TABLE 1 Voxelization Time for Different CSG Techniques

used for voxelization of a wide range of solids exhibiting sharp details (Fig. 15). Of course, this required extra processing time when compared with that of the trivial approach (Table 2). This slowdown is both object- and resolution-dependent: the observed slowdown ratio values ranged from 1.8 to 2.4 at low resolutions (643 ) to 1.3-1.9 at higher ones (5123 ). Although the technique proposed here provides for an artifact-free voxelization of a wide range of solids, it still has limitations. To modify the values of critical voxels, it is necessary to gather information from transient voxels located in the neighboring parts of the smooth surface. That is why it is not possible to voxelize a solid that contains sharp details distributed too densely with respect to the given resolution because all the surface voxels would be classified as critical (Fig. 16a). The only possible solution is to increase the sampling density here. Further, solution offered here is only approximate in inflex surface areas. Although in most cases, the heuristics is so sound that no visible artifacts appear in the rendered images (Fig. 15), artifacts may still appear in the vicinity of inflex vertices. The problem arises mainly around vertices, where convex edges and concave corners are not “well balanced”—that is, the numbers of convex edges and concave corners meeting at the vertex are not the same (Fig. 16b). A special category of problematic solids includes objects that contain a singular vertex (or edge) through which different parts of the solid are interconnected (Fig. 16c). No effort has been made to solve the voxelization problem for such solids because it is not at all clear as to what would be the TABLE 2 Voxelization Time for Different Supershapes

Objects from top: union, intersection, and subtraction of three spheres; subtraction of a dodecahedron and a sphere. Operations from left: voxelization with no CSG (obj), simple (simp), enhanced (enh), advanced (adv), and special (spec). Upper row: Full voxelization of the model. Lower row: Pure CSG time. Grid resolution: 3003 .

Grid resolution for the tested objects: 3003 .

496

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS,

VOL. 16,

NO. 3,

MAY/JUNE 2010

TABLE 3 Comparison of CSG Operations Using R-Functions (the SDC Method) with Direct CSG on the Voxel Level (the Advanced CSG Technique)

num is the number of voxels in edge and corner areas, i.e., where the density values are different for the trivial and SDC methods, or the simple and advanced CSG methods. For such voxels, difference E between densities obtained by both tested approaches was computed and classified in three ranges.

created at each step of the front propagation. Further, no restriction prevents the propagation of information back to the areas it comes from because no frozen and narrow-band entries are consistent.

Fig. 16. Implicit objects, which cannot be correctly voxelized using the SDC method. (a) Solids with sharp details distributed too densely with respect to the given resolution. (b) Solids with vertices, where the convex edges and concave corners are not “well balanced,” i.e., vertices can protrude out of the surface. (c) Solids with singular vertices through which different parts of the solid are interconnected.

correct solution: to disconnect different parts of the solid and round the edges or create a “bridge” in the vertex area and smoothly interconnect the parts?

5.2.1 Setting of Tolerance Values The SDC method introduced three free parameters. Their appropriate values were estimated experimentally as n ¼ 1:2; d ¼ 0:3, and c ¼ 0:2 by voxelization of objects using different values and visual inspection of the results. If the values n ; d are set too low, the critical area is too large; in the limit case, there would be no transitional voxels, but only inside, outside, and critical ones; and hence, no further extrapolation of smooth areas would be possible. On the other hand, if those values are set too high, not all critical voxels are found; in the limit case, there would be no critical voxels at all; and hence, the result would be identical to that of the trivial voxelization technique. As regards the value c , one extreme case is that all the entries during the front propagation are considered consistent, and hence, the computation in the whole critical area runs as it does in the inflex one. In that case, edges are not properly rounded according to the representability criterion but only approximately smoothed—the sharper the edge, the more visible would be the error. The other extreme case is when all the entries are considered inconsistent, and hence, the information is propagated from each transitional voxel independently. This leads to unlimited computation because new narrow-band entries are

5.3 Voxelization of Implicit CSG Solids If the primitives of a CSG solid are themselves defined by implicit functions, one has an additional option for performing the CSG operation: prior to voxelization, one can create a single implicit CSG solid from the primitives by means of R-functions [12]. The theory of the R-functions offers several possible implementations of R-intersection and R-union. From these, the simplest one based on the min and max functions has been chosen, because it corresponds the CSG operations implemented here with voxelized solids (2), and thus, allows fair comparison and evaluation. To compare these two approaches, various CSG models were voxelized. In the CSG-first approach, each primitive was voxelized using the trivial method3 and then the advanced (or special) CSG operation performed with the voxelized primitives. In the second approach, the SDC method was applied to the implicitly defined CSG model. The results of these experiments are summarized in Table 3 and illustrated in Fig. 17. The results of both options are visually almost the same. Only at high resolutions, slight differences can be noticed in certain areas around vertices. Table 3 presents the differences numerically. The two upper rows represent solids, where the CSG operation introduces only edges. Here, only minor numerical and visually imperceptible differences are observed. In the case of solids with newly created corners, the differences are larger, but visually still not significant. The situation observed here is similar to that observed in voxelization of superobjects by the SDC method—the differences are higher for corners, where convex and concave faces intersect (Fig. 17b, Table 3, last row). 5.4 TDF Representation The memory requirements of the RL representation in dependency on the grid resolution were verified using 3. It was sufficient because only primitives were used with smooth surfaces without sharp details.

 ET AL.: ENHANCED VOXELIZATION AND REPRESENTATION OF OBJECTS WITH SHARP DETAILS IN TRUNCATED DISTANCE... NOVOTNY

Fig. 17. Comparison of CSG operations at different levels. Top row: CSG operations at the level of implicit functions—SDC method used for the voxelization. Bottom row: CSG operations at the voxel level—advanced CSG variant used for performing CSG operations with voxelized solids. Models: (a) Union of three spheres. (b) Union of two spheres minus cylinder. (c) Intersection of sphere, cylinder, and halfspace.

497

distance field, and this is where it differs from other techniques [33], [23] in which the distance field is corrected during the postprocessing phase. One typical class of objects containing edges and other sharp details are solids resulting from CSG operations. A new method for CSG operations with voxelized solids was proposed and implemented, which works on the voxel level without any need for reconstruction of continuous object models. The proposed technique removes the artifacts of straightforward volumetric CSG operations by taking into account the criterion of representability. The solution offered here is to round the edges and other sharp details according to the grid resolution so that their curvature corresponds to the limits set by the sampling theory. The other class of objects studied next was the implicitly defined solids, which may also contain sharp details. For these solids, a voxelization scheme that produces alias-free volumetric data was proposed. Also, similar to CSG operations with voxelized solids, the representability problem was solved here by rounding sharp details according to the grid resolution. Further, a comparative study was made of both the proposed methods using CSG operations of voxelized implicit solids and voxelization of CSG models composed of implicit solids using R-functions. The results were only slightly different and were almost imperceptible in most cases. In implementing CSG operations, it is assumed that both operands are voxelized with the same resolution and no transformations are applied to them. In general, if transformation of an operand is necessary, it should be performed prior to its voxelization. However, the topic of transformation of voxelized objects was not addressed here. If, however, they are voxelized correctly according to the suggestions offered here, no aliasing should appear by translation and rotation. The situation is different in the case of scaling because it is necessary to change the shape of the object to enforce the representability criterion. Here, the level set methods may be instrumental and may form a good topic for further research. This set of algorithms was implemented in the freely available4 vxtRL library, which is an extension of the original vxt package [37].

objects of various complexity. This dependency was found to be similar for all the tested objects and it decreased to the lowest value of about 2 percent of the memory required by an uncompressed volume at resolution 1;5003 . This result was consistent with the observations in similar experiments [27]. Moreover, this compression scheme did not entail significant computational expenses because of its simplicity. Also, an experiment was carried out with a scheme for representing voxelized solids, where the truncated distance field was supplemented in the surface area with normalized gradients and both were stored using different granularity (1, 2, 4 bytes). The extra gradient information was utilized for a more precise reconstruction of the given objects and in the realization of the CSG operations. The analyses showed that the most suitable variant, considering the reconstruction precision and memory demands, was a two-byte representation for both density and gradient components [28].

This work was supported by the Slovak Research and Development Agency under Contract No. APVV-20-056105 and the Fonds zur Fo¨rderung der wissenschaftlichen Forschung (FWF, Austria) under Contract No. L291-N04.

6

REFERENCES

CONCLUSION

This paper addresses the problem of object representability by sampled volume data by means of truncated distance fields. In general, it is not possible to capture objects with sharp details precisely in discrete representations, among which discrete distance fields are a special case. An attempt to represent such objects in spite of this fact results in disturbing artifacts that manifest themselves, for example, as “jaggy” edges visible in rendered images. The essence of the proposed method is the direct generation of a correct

ACKNOWLEDGMENTS

[1] [2] [3]

D. Adalsteinsson and J.A. Sethian, “A Fast Level Set Method for Propagating Interfaces,” J. Computational Physics, vol. 118, no. 2, pp. 269-277, 1995. J.A. Bærentzen, “Octree Based Volume Sculpting,” Proc. IEEE Visualization Conf., C.M. Wittenbrink and A. Varshney, eds., Oct. 1998. J.A. Bærentzen, “Manipulation of Volumetric Solids with Applications to Sculpting,” PhD thesis, IMM, Technical Univ. of Denmark, 2001. 4. https://sourceforge.net/projects/vxt/.

498

[4] [5] [6] [7] [8] [9] [10] [11] [12]

[13]

[14] [15] [16]

[17]

[18] [19] [20] [21] [22] [23] [24] [25]

[26] [27]

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS,

A.H. Barr, “Superquadrics and Angle-Preserving Transformations,” IEEE Computer Graphics and Applications, vol. 1, no. 1, pp. 11-23, Jan. 1981. J.A. Bærentzen and N.J. Christensen, “A Technique for Volumetric CSG Based on Morphology,” Proc. Int’l Workshop Volume Graphics, 2002. D.E. Breen, S. Mauch, and R.T. Whitaker, “3D Scan Conversion of CSG Models into Distance Volumes,” Proc. IEEE Symp. Volume Visualization, pp. 7-14, 1998.  ´ mek, and N.J. Christensen, “A MorpholoJ.A. Bærentzen, M. Sra gical Approach to Voxelization of Solids,” Proc. Eighth Int’l Conf. in Central Europe on Computer Graphics, pp. 44-51, 2000. D.E. Breen and R.T. Whitaker, “A Level-Set Approach for the Metamorphosis of Solid Models,” IEEE Trans. Visualization and Computer Graphics, vol. 7, no. 2, pp. 173-192, Apr.-June 2001. L.-S. Chen, G.T. Herman, R.A. Reynolds, and J.K. Udupa, “Surface Shading in the Cuberille Environment,” IEEE Computer Graphics and Applications, vol. 5, no. 12, pp. 33-43, Dec. 1985. D. Cohen and A. Kaufman, “Scan-Conversion Algorithms for Linear and Quadric Objects,” Volume Visualization, A. Kaufman, ed., pp. 280-300, IEEE CS Press, 1991. D. Cohen-Or and A. Kaufman, “Fundamentals of Surface Voxelization,” Graphical Models and Image Processing: GMIP, vol. 57, no. 6, pp. 453-461, Nov. 1995. Y.D. Fougerolle, A. Gribok, S. Foufou, F. Truchetet, and M.A. Abidi, “Boolean Operations with Implicit and Parametric Representation of Primitives Using R-Functions,” IEEE Trans. Visualization and Computer Graphics, vol. 11, no. 5, pp. 529-539, Sept./Oct. 2005. S.F. Frisken, R.N. Perry, A.P. Rockwood, and T.R. Jones, “Adaptively Sampled Distance Fields: A General Representation of Shape for Computer Graphics,” Proc. ACM SIGGRAPH, pp. 249254, 2000. S.F.F. Gibson, “Using Distance Maps for Accurate Surface Representation in Sampled Volumes,” Proc. IEEE Symp. Volume Visualization (VVS ’98), pp. 23-30, 1998. J. Gielis, “A Generic Geometric Transformation That Unifies a Wide Range of Natural and Abstract Shapes,” Am. J. Botany, vol. 90, pp. 333-338, 2003. J. Huang and R. Crawfis, “Adaptively Represented Complete Distance Field,” Geometric Modelling for Scientific Visualization, G. Brunnet, B. Hamann, and H. Mueller, eds., pp. 225-241, Springer-Verlag, 2003. B. Houston, M.B. Nielsen, C. Batty, O. Nilsson, and K. Museth, “Hierarchical RLE Level Set: A Compact and Versatile Deformable Surface Representation,” ACM Trans. Graphics, vol. 25, no. 1, pp. 151-175, 2006.  ´ mek, “3D Distance Fields: A M. Jones, J.A. Bærentzen, and M. Sra Survey of Techniques and Applications,” IEEE Trans. Visualization and Computer Graphics, vol. 12, no. 4, pp. 581-599, July/Aug. 2006. T. Ju, F. Losasso, S. Schaefer, and J. Warren, “Dual Contouring of Hermite Data,” Proc. 29th Ann. Conf. Computer Graphics and Interactive Techniques, pp. 339-346, 2002. L.P. Kobbelt, M. Botsch, U. Schwanecke, and H.-P. Seidel, “Feature Sensitive Surface Extraction from Volume Data,” Proc. ACM SIGGRAPH, pp. 57-66, 2001. A. Kaufman, D. Cohen, and R. Yagel, “Volume Graphics,” Computer, vol. 26, no. 7, pp. 51-64, July 1993. A. Kaufman and E. Shimony, “3D Scan-Conversion Algorithms for Voxel-Based Graphics,” Proc. Workshop Interactive 3D Graphics, pp. 45-75, 1986. K. Museth, D.E. Breen, R.T. Whitaker, and A.H. Barr, “Level Set Surface Editing Operators,” ACM Trans. Graphics, vol. 21, no. 3, pp. 330-338, 2002. K. Museth, D.E. Breen, R.T. Whitaker, and S. Mauch, “Algorithms for Interactive Editing of Level Set Models,” Computer Graphics Forum, vol. 24, pp. 1-22, 2005. T. Mo¨ller, R. Machiraju, K. Mueller, and R. Yagel, “Evaluation and Design of Filters Using a Taylor Series Expansion,” IEEE Trans. Visualization and Computer Graphics, vol. 3, no. 2, pp. 184-199, Apr.June 1997.  ´ mek, “CSG Operations with P. Novotn y, L.I. Dimitrov, and M. Sra Voxelized Solids,” Proc. Computer Graphics Int’l Conf., pp. 370-373, 2004. M.B. Nielsen and K. Museth, “Dynamic Tubular Grid: An Efficient Data Structure and Algorithms for High Resolution Level Sets,” J. Scientific Computing, vol. 26, no. 3, pp. 261-299, 2006.

VOL. 16,

NO. 3,

MAY/JUNE 2010

[28] P. Novotn y, “Voxelization of Solids with Sharp Details,” Technical Report TR-2008-018, Comenius Univ., http://kedrigern.dcs. fmph.uniba.sk/reports/, 2007.  ´ mek, “Representation of Objects with Sharp [29] P. Novotn y and M. Sra Details in Truncated Distance Fields,” Proc. Int’l Workshop Volume Graphics, pp. 109-116, 2005. [30] R.N. Perry and S.F. Frisken, “Kizamu: A System for Sculpting Digital Images,” Proc. ACM SIGGRAPH, pp. 47-56, 2001. [31] D. Peng, B. Merriman, S. Osher, H.-K. Zhao, and M. Kang, “A PDE-Based Fast Local Level Set Method,” J. Computational Physics, vol. 155, pp. 410-438, 1999. [32] H. Qu, N. Zhang, R. Shao, A. Kaufman, and K. Mueller, “Feature Preserving Distance Fields,” Proc. IEEE/ACM SIGGRAPH Symp. Volume Visualization, pp. 39-46, 2004.  ´ mek, L.I. Dimitrov, and J.A. Bærentzen, “Correction of [33] M. Sra Voxelization Artifacts by Revoxelization,” Proc. Int’l Workshop Volume Graphics, pp. 265-275, 2001. [34] J.A. Sethian, Level Set Methods and Fast Marching Methods. Cambridge Univ. Press, 1999.  ´ mek and A. Kaufman, “Object Voxelization by Filtering,” [35] M. Sra Proc. IEEE Symp. Volume Visualization, pp. 111-118, 1998.  ´ mek and A. Kaufman, “Alias-Free Voxelization of Geo[36] M. Sra metric Objects,” IEEE Trans. Visualization and Computer Graphics, vol. 5, no. 3, pp. 251-266, July 1999.  ´ mek and A. Kaufman, “vxt: A C++ Class Library for [37] M. Sra Object Voxelization,” Volume Graphics, M. Chen, A.E. Kaufman, and R. Yagel, eds., pp. 119-134, Springer Verlag, 2000. [38] S.W. Wang and A. Kaufman, “Volume-Sampled 3D Modelling,” IEEE Computer Graphics and Applications, vol. 14, no. 5, pp. 26-32, Sept. 1994. [39] J. Wu and L. Kobbelt, “Piecewise Linear Approximation of Signed Distance Fields,” Proc. Vision, Modeling, and Visualization, pp. 513520, 2003. [40] R. Yagel, D. Cohen, and A. Kaufman, “Discrete Ray Tracing,” IEEE Computer Graphics and Applications, vol. 12, no. 5, pp. 19-28, Sept. 1992. [41] R. Yagel, D. Cohen, and A. Kaufman, “Normal Estimation in 3D Discrete Space,” The Visual Computer, vol. 8, nos. 5/6, pp. 278-291, June 1992.  received the Mgr (MSc) and Pavol Novotny PhD degrees from the Comenius University in Bratislava, Slovakia, in 2003 and 2008, respectively. Since 2006, he has been working for IBL Software Engineering company as a software developer of meteorological applications. His research interests include voxelization, volume compression, and problems of representability in distance field representation.

Leonid I. Dimitrov received the MSc and PhD degrees from the Technical University of Vienna, Austria, in 1985 and 1994, respectively. Currently, he is with the Commission for Scientific Visualization of the Austrian Academy of Sciences, Vienna. He is a member of the IEEE.

 ´ mek received the Ing (MSc) degree  Sra Milos from the Slovak Technical University, Bratislava, in 1982, and the PhD degree from the Vienna University of Technology, Austria, in 1996. Since 1999, he has been with the Commission for Scientific Visualization of the Austrian Academy of Sciences, Vienna. His research interests include image processing, 2D and 3D data segmentation, voxelization, and volume rendering algorithms.

Suggest Documents