SOT: Compact Representation for Triangle and Tetrahedral Meshes
|
|
- Dinah O’Connor’
- 5 years ago
- Views:
Transcription
1 SOT: Compac Represenaion for Triangle and Terahedral Meshes Topraj Gurung and Jarek Rossignac School of Ineracive Compuing, College of Compuing, Georgia Insiue of Technology, Alana, GA ABSTRACT The Corner Table (CT) represens a riangle mesh by soring 6 ineger references per riangle (3 verex references in he Verex able and 3 references o opposie corners in he Opposie able, which accelerae access o adjacen riangles). The Compac Half Face (CHF) represenaion exends CT o erahedral meshes, soring 8 references per erahedron (4 in he Verex able and 4 in he Opposie able). We use he erm Verex Opposie Table (VOT) o refer o boh CT and CHF and propose a sored variaion, SVOT, which is inspired by erahedral mesh encoding echniques and which works for boh riangle and erahedral meshes. The SVOT does no require addiional sorage and ye provides, for each verex, a reference o an inciden corner from which he sar (inciden cells) of he verex may be raversed a a consan cos per visied elemen. We use he corner operaors for querying and raversing he riangle meshes while for erahedral meshes, we propose a se of powerful wedge-based operaors. Improving on he SVOT, we propose our Sored Opposie Table (SOT) variaion, which eliminaes he Verex able compleely and hence reduces sorage requiremens by 50% o only 3 references per riangle for riangle meshes and 4 references and 9 bis per erahedron for erahedral meshes, while preserving he verex-o-incidencorner references and supporing he corner operaors and our wedge operaors wih a consan average cos. The SVOT and SOT represenaion work on manifold meshes wih boundaries. Keywords: Modeling, Triangle Meshes, Terahedral Meshes, Daa Srucures, Sorage, Meshing, Polyhedra, Geomery Compression 1. INTRODUCTION 1.1 Problem Unsrucured riangle and erahedral meshes are used in numerous applicaions, including finie elemen analysis [1-3], inerpolaion of samples [4], shape reconsrucion [5], and medical image analysis [6, 7]. A variey of daa srucures and operaors have been proposed [8-13] for soring he conneciviy of riangle and erahedral meshes and for caching addiional informaion ha acceleraes common queries and suppors efficien raversal operaors. In some applicaions, ypical meshes conain millions of riangles or erahedra [14, 15] and his complexiy coninues o increase. In such applicaions, when he amoun of fas-access memory available is limied, i is imporan o reduce he sorage cos associaed wih hese daa srucures. Several riangle and erahedral mesh compression schemes have been proposed [16, 17]. Some suppor progressive refinemens [18] or sreaming [19-21]. Unforunaely, he compressed forma hey offer is no suiable for raversing, analyzing, simplifying [10, 11, 22, 23], refining [24], or improving [25-27] he mesh. Thus, an effecive represenaion scheme is needed ha provides efficien suppor for random access operaors ha raverse he mesh by accessing neighboring elemens and ha may be consruced efficienly from oher (possibly compressed) formas and updaed quickly o reflec mesh modificaions. 1.2 Background To place he proposed represenaions in a broader conex, we briefly discuss a specrum of represenaion schemes. Shapes may be specified procedurally by a sequence of shape creaion, ediing, or merging operaions [28-31]. Soring such a recipe as an implici funcion [32, 33], as a collecion of feaures (swep regions, pockes, prorusions), as an unevaluaed Consrucive Solid Geomery [34] model, or as is non-regularized generalizaion [35] makes i difficul o analyze he resuling shape, even hough fas echniques exis for rendering i direcly from some of hese represenaions [36, 37]. Hence, modeling sysems usually offer algorihms ha evaluae he recipe by convering i ino an explici represenaion, which may be discree or coninuous. Discree represenaions include poin-clouds and ray-represenaions, which do no compleely define he inerior of he shape. Coninuous represenaions decompose he shape ino simple cells. Axis-aligned decomposiions (such as voxels and K-D rees) provide poor approximaions of he shape, unless a prohibiive number of cells are used. A decomposiion of a shape ino a union of possibly curved, no necessarily simply-conneced, and relaively open cells of various dimensions (poins, edges, faces, volumes) may be performed hrough a recursive idenificaion of geomeric singulariies (sharp edges and verices) [Collins, 1976 and Whiney, 1957]. Furhermore, some of he cells may be explicily idenified as being par of he complemen of he shape, hence providing a simple way of specifying shapes ha are no opologically closed and ha may conain cracks, such as a disk wih a scrach (removed inerior edge). Such models may be sored as a Selecive Geomeric Complex (SGC) [38] which is a collecion of cells, each being a subses of a possibly curved manifold and defined implicily by ha manifold, by is bounding cells, and by orienaion flags. For example, a spherical cap may be defined by a sphere, by a bounding circle on ha sphere, and by recording ha he desired cap is o he lef of he circle (where lef is defined by oriening he normal of he circle in he surface). Hence, he represenaion of an SGC sores for each cell a reference o he supporing manifold and a lis of references o is bounding cells, which we call boundary or incidence references. Many boundary represenaions (BReps) follow his principle, alhough for resriced opological and geomeric
2 domains. We say ha a cell b bounds a cell c if b is par of he boundary of c, relaive o he closure of ha manifold [38]. The sar of a cell is he union of he poin ses of he cells i bounds. Resricing he supporing manifolds o linear ones yields he broad family of non-manifold polyhedral modeling schemes, where he supporing manifold of a cell does no need o be represened explicily since i is implicily defined as one ha conains he bounding verices. Resricing he cells o be he convex hulls of heir verices and assuming ha all cells are conained in he shape yields a simplicial complex, which decomposes a shape ino relaively-open cells: 0-cells are he verices, 1-cells are he edges excluding heir bounding verices, 2-cells are he riangular faces excluding heir bounding edges and verices, and 3-cells are ineriors of erahedra excluding heir boundaries. We say ha a cell is inciden upon is bounding cells and ha wo k-cells are adjacen if hey are inciden upon he same (k-1)-cell. One advanage of simplicial complexes over more general complexes [38] is he regulariy of is represenaion: an edge may be represened by 2 verex references, a face by 3, and a erahedron by 4. More generally, a k-cell is defined by k+1 verex references. The k-graph of a simplicial complex has nodes each represening a differen k-cell and has a link beween such wo nodes when he corresponding k-cells are adjacen. We say ha he simplicial complex is a k-mesh, when i saisfied he following condiions: (0) No self-inersecion (proper imbedding): he inersecion of any wo differen cells is empy (remember ha we define cells as relaively open), (1) No dangling cells (dimensional homogeneiy): each m-cell wih m<k is in he boundary of a leas one k-cell, (2) Manifold: he sar of every m-cell wih m<k is conneced. (3) Conneced: he union of he cells is conneced. (4) Orienabiliy: he orienaion of all k-cells is compaible across shared boundaries. The valence of a cell in a k-mesh is he number of k-cells inciden upon i. In his paper, we focus on represenaions of 2-meshes (riangle meshes) and 3-meshes (erahedron meshes). Models involving several conneced componens or ha combine 3-meshes and 2-meshes may be represened as separae k-meshes, bu he proposed represenaion does no suppor an explici represenaion of non-manifold conacs beween hese k-meshes. A k-cell of a k-mesh is inerior if i has n adjacen k-cells. When a k-cell of a k-mesh is he only k-cell inciden on a bounding (k-1)-cell B, we say ha B is a border. An k-mesh wih no inerior k-cell is narrow. We assume ha he verices are numbered from 0 o n V 1 and ha he verex locaions are sored in a geomery able G, where G[v] is he poin where verex number v is locaed. Oher verex aribues (densiy, color, normal) may also be sored, bu are no discussed here. The incidence informaion is ypically sored as an (n+1)-uple of cell-o-bounding-verex references (ineger indices) ha idenify he bounding verices of an k-cell. Selecing an order for lising hese references defines one of wo possible orienaions of he k-cell. For 3- meshes, we pick an orienaion of each erahedron so ha he verices A, B, C, and D of he erahedron are lised in an order for which (AB AC) AD>0. For a 2-mesh, no such global orienaion is defined, bu when he riangle mesh represens he boundary of a solid s, he order (A, B, C) in which he verex references are lised is chosen so ha he vecor AB AC, when placed a (A+B+C)/3 poins ouwards of S. More generally, a riangle mesh is oriened when wo riangles T1 and T2 are inciden upon verices A and B, hen one of hem mus have one of he following 3 sequences of references (A,B,C), (C,A,B), or (B,C,A) and he oher (B,A,D), (D,B,A), or (A,D,B). We assume ha he mesh is orienable (for example ha i is no a Moebius srip) and ha he order of verex references reflecs his orienaion. We use he erm corner when referring o his associaion of he ineger reference of a verex o one of is inciden k-cells. We sore hese references in a single V able. The k+1 references for each k-cell of a k-mesh are sored in consecuive enries in an order ha respecs he orienaion of he k-cell. Hence, he V able has (k+1)* enries, where is he number of riangles in a 2-mesh or he number of erahedra in a 3-mesh. Given an ineger corner ID c, he funcion v(c) reurns he verex ID V[c] associaed wih ha corner and he funcion (c) reurns he ineger ID of he riangle for 2-meshes (or erahedron for 3-meshes) ha conains he corner enry. However, many applicaions ha process riangle or erahedral meshes perform local conneciviy queries. We disinguish hree ypes of local queries: - Adjacency: rerieve a paricular k-cell adjacen o a given k-cell - Sar: rerieve a k-cell inciden upon a given verex - Order: rerieve he nex (k-1)-cell around a (k-2)-cell in a k-cell [39] The G and V ables suffice for represening he k-mesh and o answer hese queries. Unforunaely, he cos of rerieving such answers from he V able alone is linear (O(n T )) in he number n T of k-cells. So, mos popular daa srucures for riangle meshes and for erahedral meshes cache addiional adjacency, sar, and order informaion o suppor hese queries a consan cos. When comparing he meri of differen daa srucures, one considers sorage (how many addiional references per k-cell are cached), performance (how fas are hese queries), and simpliciy (how easy is i o use hese queries when wriing higher-level algorihms ha raverse he mesh o compue various local or global properies). For example, Brisson [40] sores k-uples and for each k-uple, sores a reference o a verex and (k+1) references (called swaps) o oher k-uples. A k-uple is associaed wih each combinaion of a k-cell A wih one of is bounding (k-1)-cell B, wih one of is bounding (k-2)- cell C, and so on. Hence, in a 3-mesh, here are = 24 3-uples and each one is associaed wih 4 references (one o a verex and 3 o oher k-uples). This daa srucure requires 24 4=96 references per erahedron (rp). Brisson s work is furher discussed in Secion 3.1.
3 A more compac represenaion of a k-mesh may sore for each m-cell he m+1 references o is bounding (m 1)-cells which in urn sore references o heir bounding (m-2) cells and so on recursively and may also cache for each k-cell he k+1 references o is adjacen k-cells (se o nil when he adjacen cells do no exis) and also sar references from each verex o all inciden k-cells. Symbolic depicion, of such represenaion for erahedral and riangle meshes are shown in Figure 1, where he number of references per cell is indicaed nex o he corresponding arrow. For example, in a erahedral mesh, a erahedron has 4 references o is faces and 4 references o is adjacen erahedra. A verex has an average of 26 references o inciden erahedra. A face had 3 references o is edges. An edge has 2 references o is verices. Such represenaions would require around 20 references per erahedron (since he number of faces n F is abou wice he number of erahedra n T, he number of verices n V is abou one sixh of n T and he number of edges n E is abou he same as n T. Therefore we require 4n T + 4n T + 3n F + 2n E + 26n V = 20n T ). For he riangle represenaion scheme in Figure 1 (righ) requires abou 12 references per riangle (since he number of verices n V is abou half of number of riangles n T, number of edges n E is abou 3n T /2. Therefore we require 3n T + 3n T + 2n E + 6n V = 12n T ). V E V E 2 2 Figure 1: Number of references required per erahedron (T), face (F), edge (E), verex (V) (lef). Likewise for riangle (T), edge (E), verex (V) (righ). The erahedral scheme requires abou 20 references per erahedron, and he riangle scheme requires abou 12 references per riangle. In conras, we discuss here represenaions ha provide he addiional funcionaliy, ye require only 3 references per riangle for 2-meshes or 4 references (+9 service bis) per erahedron for 3-meshes. 1.3 Conribuions 4 26 T 4 F 3 The represenaions of k-meshes discussed here are based on he concep of a corner, which is he reference of a k-cell o one of is bounding verices. Hence, a k-mesh wih k-cells has (k+1) corners. Each corner of a riangle (resp. erahedral) mesh corresponds o wo (resp. 6) n-uples in Brisson s represenaion. The Corner Table (CT) promoed by Rossignac e al. [41, 42] provides a simple and efficien represenaion of riangle meshes, soring 6 ineger references per riangle (3 verex references in he Verex able and 3 references o opposie corners in he Opposie able). The Compac Half Face (CHF) represenaion proposed by Lage e al. exends CT o erahedral meshes, soring 8 references per erahedron (4 in he Verex able and 4 in he Opposie able). We use he erm Verex Opposie Table (VOT) o refer o boh CT and CHF. For each corner c of each riangle (resp. erahedron), he Verex Opposie Table (VOT) sores he references V[c] o he corresponding verex and he reference O[c] o he opposie corners in an adjacen riangle (resp. erahedron) as shown in Figure 2, if one exiss. I does no sore any references from verices o corners or o inciden riangles (resp. erahedra). v p q c T[0] Figure 2: Lef: The orange edge e(c) is he opposie edge of corner c. Righ: Corners 0 and 3 are opposie corners: O[0] = 3 and O[3] = 0, i.e. opposie edges e(0) and e(3) are he same. 3 6 T 3 T[1] r s G x y z p! " # $ " % " # q x q y q z q r x r y r z r s x s y s z s C V[c] O[c] 0 p 3 1 q 1 2 r 2 3 s 0 4 r 4 5 q 5 T[0] T[1]
4 Table 1: VOT for Figure 2, righ. Geomery able (lef), Verex Opposie able (righ). Since corners 0 and 3 are opposie of each oher, O[0]=3 and O[3] = 0. A corner c wih no opposie corner (red) may be easily idenified because we se O[c] = c. Verex-o-inciden-corner references are imporan in some applicaions because hey provide consan cos access o he consecuive elemens of he sar of a verex. To suppor hem, we inroduce a Sored Verex Opposie Table (SVOT) represenaion, which associaes wih each verex v a reference o one of is inciden corners V(c). Remarkably, SVOT caches his verex-o-inciden-corner reference wihou addiional sorage. This rick is accomplished by rearranging he order in which he n T riangles (resp. erahedra) and heir corners are sored in he VOT: When he mesh has n V verices, for any index v<n V, ineger v idenifies he locaion of one of is inciden corners, namely he firs corner of he v h riangle (resp. erahedron). We provide linear cos algorihms for compuing he O able of he VOT from he V able and an algorihm for convering a VOT ino a SVOT ha has linear ime complexiy. Finally, we propose anoher exension of he VOT, which we call he Sored Opposie Table (SOT). I furher reduces he sorage requiremens o only 3 references per riangle (resp. 4 references and 9 service bis per erahedron), while preserving he direc verexo-inciden-corner access. For riangle meshes, we sore he SOT using 3n T inegers, whereas for erahedral meshes, we hide he service bis in he ineger represenaion of he references and hence sore he SOT using 4n T inegers (9 bis per 4 inegers are used o sore service bis). We eliminae he need for soring he Verex able enirely. The verex references v(c) of a corner is inferred from informaion sored in he Opposie able and he service bis. To suppor he consrucions of our SVOT and SOT and heir use o suppor he raversal of he riangle mesh and he erahedral mesh, we have developed a se of powerful corner operaors for riangle and erahedral meshes and wedges operaors for erahedral meshes ha exend he corner operaors proposed by Rossignac e. al [43] and half-edge operaors proposed by Lage e al. [44]. A wedge is he associaion of an edge wih an inciden erahedron and wih a bounding verex. As hey operae on wedges, a se of our operaors mimic he effec of corresponding riangle-mesh corner operaors (nex, previous, opposie, lef, righ, and swing) ha operae on he riangle-mesh boundary of he sar of he saring verex of a wedge. We include he deails of an efficien implemenaion of hese operaors, which have consan cos for VOT and SVOT, and average consan cos for SOT (where heir expeced cos is proporional o he valence of he base verex). Finally, we provide examples ha demonsrae he ease of use of hese daa srucures and operaors for rerieving a a consan (or average consan for SOT) cos per elemen he erahedra around an edge, he sar of a verex, and he conneced componen of he boundary of he mesh. An iniial version of his work which discusses erahedral meshes only was presened a he SIAM/ACM conference on Solid & Physical Modeling (SPM) [45]. This exended version includes a horough reamen of riangle meshes and several implemenaion deails. 1.4 Srucure of he paper For clariy and simpliciy, we firs discuss our daa srucures and algorihms for riangle meshes in Secion 2. Then, in Secion 3, we explain how o exend hem o erahedral meshes. 2. TRIANGLE MESHES In his secion, we discuss our novel represenaion for riangle meshes. Afer a brief review of prior ar, we review he corner operaors and explain efficien algorihms for consrucing he O-able, hen we inroduce he SVOT, explain is consrucion, and show an example of is usage. Finally, we inroduce he SOT represenaion and discuss is consrucion and usage. 2.1 Prior Ar Several daa srucures for polygonal meshes operae on edge-uses, which are each he associaion of an edge wih a bounding verex and wih an inciden face. Examples include Baumgar s Winged-Edge [46, 47]; Guibas and Solfi s Quad-Edge [12], Manyla s Half-Edge [48], and Lienhard s dar [49]. Exensions of hese schemes o non-manifold and non-regularized complexes include Weiler s Radial-Edge [50]. For addiional discussion on daa srucures for simplicial complexes, we refer he ineresed reader o [51] and [52]. Alhough hese echniques are suiable for represening riangle meshes and suppor efficien query and raversal operaors [19], hey require significanly more sorage [39, 53] han he represenaions presened here, which have been opimized for riangle meshes. For example, he quad-edge sores 3 references per edge-use (1 o a verex and 2 o oher edge-uses), which amouns o 9n T references. More compac represenaions cusomized for riangle meshes include Campagna s e al. Direced Edges [54] and Kallmann and Thalmann s Sar-Verices represenaion [53], which, for each verex, sores only he sored lis of references o is neighbors. For riangle meshes, Sar-Verices sores 4n T references. Oher daa srucures have been inroduced o reduce verex cache misses [55] or o enable efficien raversal of primiives such as edges or riangles [56]. 2.2 Corner Table/ Verex Opposie Table The Corner Table [42, 43, 57], which is he basis of he proposed soluion here, represens he conneciviy of a manifold riangle mesh of n T riangles by wo ables of 3n T inegers each. The V Table liss he riangle/verex incidence, such ha he 3 verices bounding a riangle are consecuive (V[3], V[3+1], V[3+2]) and lised in an order ha is compaible wih a consisen orienaion of he mesh. Hence, each
5 enry o he V[c] able represens a corner c associaing a face (i.e. riangle) f wih a bounding verex. The O Table sores he ineger reference of he opposie corner, where an opposie corner is a corner in an adjacen riangle ha shares he same opposie edge. The call he combinaion of he V Table and O Table he VOT. These ideas have been illusraed in Figure 2 and Table 1. A se of corner operaors provided o help in manipulaion and raversal of he mesh (lised below and illusraed in Figure 3), may be rivially implemened from he informaion conained in hese wo ables: in (in c) {reurn in(c/3);} // riangle of c in v(in c) {reurn V[c];} // verex of c in o(in c) {reurn O[c];} // opposie or self if boundary corner boolean b(in c) {reurn O[c]==c;} // border corner in n(in c) {if ((c%3)==2) reurn c 2; else reurn c+1;}// nex in (c) in p(in c) {reurn n(n(c));} // previous corner in l(in c) {reurn o(n(c));} // ip on lef in r(in c) {reurn o(p(c));} // ip on righ in sr(in c) {reurn p(r(c));} // nex (righ) around v(c) in sl(in c) {reurn n(l(c));} // nex (lef) around v(c) v l sl c sr r p n o Figure 3: The corner operaors for a riangle mesh. For example, he ineger ID of he orange corner n is obained from he ineger ID of corner c by he funcion call n(c) O Table Consrucion The O Table does no need o be archived since i may be recompued in linear ime from he V Table when he V Table is loaded. To do so, for each corner c, we make an enry (v 1, v 2, c), where v 1 =min(v(n(c)),v(p(c)) and v 1 =max(v(n(c)),v(p(c)). We sor hem lexicographically by (v 1, v 2 ). Pairs of consecuive enries, (v 1, v 2, c) and (v 1, v 2, d) idenify opposie corners: O[c]=d and O[d]=c. Soring may be performed in expeced linear ime using hashing on (v 1, v 2 ). as demonsraed by Lage e al. [44] or in linear space and ime using buckes [58], as proposed by Ueng and Sikorski [21, 59], where he enries are firs sored by v 1 ino n buckes and hen, one bucke a a ime, using a emporary able of n sub-buckes, sored by v 2. A similar approach was used by Rossignac and Borrel [RoBo93] o idenify dangling edges in simplified meshes. 2.3 Improvemen over VOT In he following subsecions, we discuss hree improvemens o VOT. (i) Verex o corner access: To provide a consan cos access, we reorder he riangles so ha for he firs n V riangles, he firs corner of he i h riangle corresponds o he i h verex (see Figure 8). We call his daa srucure he Sored Verex Opposie Table (SVOT). We discuss his in sub-secion 2.4. (ii) 3 references per riangle: To furher reduce sorage, we discard he V Table. The resuling Sored Opposie Table (SOT) sores only 3 references per riangle. We discuss his in sub-secion 2.5. (iii) Consan ime operaors: We use he same operaors as he original corner able, excep for he v operaor (verex operaor). We discuss his in secion v v v v Figure 4: Our daa srucure provides direc access o: i) adjacen riangle neighbors (lef), ii) verex references for a riangle (cener), and iii) riangles inciden on a verex (righ), in average consan ime (per rerieved elemen)
6 2.4 Sored Verex Opposie Table (SVOT) Moivaion Various operaions such as compuing normals or curvaure may be easily expressed by looping hrough or manipulaing riangles or corners. For example, one may find all riangles ha lie inside a given ball by visiing all riangles and accessing heir corners and esing he corresponding verices for inclusion in he ball. Temporary flags could be used o avoid esing he same verex more han once. Similarly, one may find he riangle wih he sharpes corner by looping hrough all riangles and for each one, by looping hrough is hree corners. However, some developers prefer o have direc access from a verex o is sar (inciden riangles), because some of heir algorihms operae direcly on verices (no hrough corners) or because some of heir auxiliary daa srucures refer direcly o verices. A naural soluion [44] is o add a verex-o-corner lookup able C, such ha C[v] conains he index of corner c, such ha V[c]=v. This approach requires soring addiional n V references. The SVOT soluion described below provides he same informaion hough a consan cos funcion call c(v) and avoids soring he C able Proposed SVOT soluion To provide consan cos access o a corner c(v) for each verex v, and his wihou addiional sorage, we reorder he riangles and heir corners in he VOT so he corner c(v) inciden upon verex v may be simply compued as 3v. This mapping works for mos meshes. However, for meshes wih narrow componens, we may need a slighly more complex special mapping, as shown in Figure 5 which we discuss in Secion An edge-conneced componen of a mesh is narrow if each riangle in he componen has a leas one border verex. A border verex is a verex ha lies on he boundary of a mesh SVOT consrucion algorihm We explain here how o compue SVOT from he VOT in linear ime. The process involves 2 seps: 1) Verex o Triangle Mapping: Esablish a mapping, M()=v, beween each riangle and a bounding verex v so ha no wo riangles map o he same verex. 2) V Table Soring: Reorder he VOT based on he mapping. G C V O G C V O G[0] G[1] 0 V[0] O[0] 1 V[1] O[1] T[0] G[0] G[1] 0 V[0] O[0] 1 V[1] O[1] T[0] G[2] 2 V[2] O[2] G[2] 2 V[2] O[2] G[3] 3 V[3] O[3] 4 V[4] O[4] T[1] G[3] 3 V[3] O[3] 4 V[4] O[4] T[1] 5 V[5] O[5] 5 V[5] O[5] Figure 5: Lef: General SVOT mapping. Righ: Special mapping. Afer he soring, he V able may be discarded o obain he SOT Verex o Triangle Mapping The mapping phase involves hree seps: (i) Iniializaion, (ii) Traversal, and (iii) Terminaion. To represen he mapping M() compued in he mapping phase, we use a emporary able M which sores he verex number M[] associaed wih riangle. We use hree arrays of auxiliary ables: visiedv[v] keeps rack of visied verices v, visiedt[] keeps rack of visied riangles, whichcorner[] sores he corner c in riangle such ha M[(c)]=v(c). We process an edge-conneced componen of he mesh. We raverse he Triangle Spanning Tree (TST). The TST is he se of riangles visied in deph firs order from an iniial riangle. As we ener a new riangle hrough an edge e, we associae wih he reference o is ip verex (he verex in riangle no bounding edge e), unless ha verex has already been associaed wih anoher riangle. This idea is similar o he associaion of he ip verex of each ype-c riangle in he Edgebreaker compression scheme [42] for riangle meshes. Unforunaely, unless we ake special precauions, his simple idea may no always work, because he raversal may associae each riangle inciden upon a verex v wih a verex oher han v, leaving some verices unmapped o any riangle. To eliminae he possibiliy of unmapped verices, we perform a special iniializaion sep, which guaranees ha his approach produces a correc mapping. A correc mapping is one where all verices are mapped o riangles such ha each verex is associaed wih a unique riangle.
7 0 1 K J L I A H S B G E C F D Figure 6: Deph firs raversal of riangle mesh saring from seed riangle S. Red arrows represen raversal order, blue arrows represen mapping of verices o riangles. Noice verices 6 and 3 are marked as visied in he iniializaion sep. Also because a non-border seed riangle S is chosen (i.e. all is verices are inerior), riangles E and I are unmapped. K J L I A H S B 6 7 G E C F D 10 Figure 7: A porion of Figure 6. In Figure 6, verices 3 and 6 are unmapped, and riangles E and I are unmapped oo. We inroduce mappings (6,E) and (3,I). Due o he naure of deph firs raversal, and a inernal riangle S, his mapping is always possible. (i) Iniializaion: During he iniializaion sep, we pick a seed riangle S so ha none of is verices bound a border edge. Le c be he firs corner of he seed riangle S. We se all enries in M[] o be -1 denoing unmached riangles. We se M[S]=v(c) and mark (as visied) all verices of S. In Figure 6, he seed riangle S is he dark gray riangle wih label S. S is bounded by verices 7, 6 and 3 and Verex 7 is v(c). Verices 7, 6, 3 are marked as visied and M[S] = 7. Noe ha his approach assumes ha a suiable seed exiss. Finding S, when i exiss is rivial. The approach proposed above works for edge-conneced componens of meshes ha are no narrow. I picks as seed a riangle wih no border verex. For narrow componens of meshes, we use a slighly modified soluion in secion For muliple edge-conneced componens, we need muliple seed riangles. Afer selecing a seed riangle S, we mark S and sar a deph firs raversal of he riangle spanning ree wih S as roo and (l(c)) as he firs child, where c is he firs corner of S. In he iniializaion sep, in Figure 6, visiedv[7], visiedv[6], visiedv[3] and visiedt[s] are se o as TRUE. E.g., if he corner of S bounded by verex 7 was 30 hen whichcorner[s] would be assigned 30. (ii) Traversal: During he raversal sep, in our deph firs order raversal, we reach a new unvisied riangle by arriving from a paren riangle hrough he opposie edge e(b) of a corner b (of riangle ). We mark as visied. If he verex v(b) has no ye been visied, we mark i as visied, se M[]=v(b), and sore in whichcorner[(b)] corner b. For example, in Figure 6, he firs riangle visied afer riangle S is riangle A. We arrive a riangle A hrough edge (3,7). Le b be he corner bounded by verex 4. Since verex 4 was previous no visied, herefore, M[A] = 4 and whichcorner[a] = b. (iii) Terminaion: We mach he wo riangles E and I Figure 7 inciden upon seed S (which are (l(c)) such ha c is no he firs corner of S) wih 2 verices 6 and 3 of S (which are v(c) such ha c is no he firs corner of S), as shown in Figure 7. Given he precauion we ook wih he selecion of he seed riangle as an inernal riangle, hen S has hree adjacen riangles, he oher 2 riangles E and I adjacen o S have been reached while coming from riangles oher han S and hence will no be associaed wih a verex (since heir ip verex 6 and 3 was mapped o S during iniializaion and is no longer available o be associaed wih hem). Since we perform a deph-firs raversal saring from S, we visi all edge-conneced riangles, which implies ha we visi all he verices. Oher han he seed riangle S and is inciden verices, which we addressed above, each ime we visi a verex, we map i o he visiing riangle. Therefore each verex is mapped o a unique riangle.
8 7 1 A 3 V IDs vid=1 CornerID 1*3+0=3 1*3+1=4 V vid=4 1*3+2=5 7 B 4*3+0= *3+1=13 2 4*3+2=14 9 Figure 8: Verices 1 and 4 are mapped o riangles A and B. Triangle A consiss of verices (1,3,7) and riangle B of (4,2,9). Afer soring in SVOT, riangle A is defined by corners (3,4,5) and riangle B by corners (12,13,14) as verex 1 maps o riangle a 1 s locaion and verex 4 maps o riangle a 4 h locaion Soring he V Table We wrie he sored riangle ino a new copy of he V able ensuring ha riangle M[]=v is lised as riangle number v and performing a cyclic permuaion of he corners of each riangle so ha he remembered corner sored in whichcorner[] is lised as he firs corner of. Since we have changed he ordering of he enries of he V able, he O able references need o be updaed, so we re-compue he O Table as explained in secion Figure 8 illusraes he resuling SVOT. The soring discussed above requires O(n T ) ime and O(n T +n V ) emporary space for marking riangles and verices. The soring needs o be performed only once, since is resul (i.e. he sored V-able) may be archived for fuure uses. This soring requires O(n T ) ime insead of he radiional O(n T logn T ) ha is associaed wih soring, as his soring is a permuaion where each elemen knows he locaion of he bin i wans o be in he sored order Special cases of narrow componens For each edge-conneced narrow componen, we choose any riangle as he seed S. We place S as he firs riangle in he V able. Le he hree verex references for S be v 0, v 1 and v 2. We swap he verices in he geomery able. We swap verex v 0 wih he 0 h enry in he geomery able, verex v 1 wih he 1 s enry in he geomery able and likewise for v 2. We hen reorder he res of he riangles as described in he consrucion secion for he general case. Now, he verex-o-corner mapping is as follows: for i<3, he i h verex maps o he i h corner. For i 3, he i h verex maps o he ((i-2)*3) h corner. Correspondingly, for meshes wih m narrow edge-conneced componens, we can place each seed riangle for each componen as he firs m riangles in he V Table. This mapping has been shown in Figure 5, righ Traversing he sar Given an ineger reference v o a verex, he SVOT gives us direc access o he corresponding corner c(v), using: in c(in v) {reurn v*3;} //for riangle meshes The i h verex is mapped o he 3*i h corner in he SVOT. Noice, in Figure 8, in he SVOT, verex 1 is locaed in he corner locaion 3*1=3, and verex 4 is locaed in he corner locaion 3*4=12. To visi he sar of he i h verex, we simply call sar(3*i) and we can raverse all inciden riangles on a verex by ieraively using he swing righ and swing lef corner operaors. The sar(c) funcion, which assumes ha verex v(c) is inerior, is lised below. void sar(in c) { //sar raversal in sc = c; //saring corner do { c = sr(c); //visi swing righ corner process((c)); //process he riangle } while(c!=sc); } //back o saring corner When v(c) maybe a border verex, we need o keep rack of boundary corners and use he swing lef corner operaor oo. void sar(in c) { //sar raversal in sc = c; //saring corner process((sc)); //process he saring riangle
9 do { c = sr(c); //visi swing righ corner if(c==sc c==- 1) break; //if boundary or saring corner process((c)); //process he riangle } while(rue); //loop if(c==- 1) { //if boundary corner c = sc; //visi swing righ corner do { c = sl(c); //visi swing lef corner if(c==sc c==- 1) break; //if boundary or saring corner process((c)); //process he riangle } while(rue); }} //loop The corner operaors for he Corner Table work wihou modificaion on he SVOT. 2.5 Sored Opposie Table (SOT) The VOT and our SVOT variaion each sore 6 references per riangle (3 o verices, 3 o opposie corners). We discuss here an approach o reduce his sorage o 3 references per riangle Consrucion of SOT: To consruc he SOT, we firs consruc he SVOT. We hen obain he SOT by eliminaing he V Table in he SVOT. Noe ha he SOT mainains he propery of he SVOT where he i h verex v i maps o he i h riangle T i and he corner c i =3*i is inciden on he verex v i High level descripion The Sored Opposie Table (SOT) uses he same O Table as he one produced in SVOT, bu does no sore he V able a all. Consequenly, he resuling SOT conains no references o verices. How hen is i possible o find verex references v(c) of a corner c? The soluion comes from a combinaion of hree ideas. 1) Because he O Table is sored in he SVOT, o each verex v corresponds a maching riangle V =v of which he firs corner is inciden on v. Noe ha such riangles are easily recognized because heir index is less han he number n V of verices. A slighly modified mapping relaion is used for narrow componens (See Secion for narrow componens). 2) By consrucion of he SVOT, in he sar of every verex v, here is a maching riangle V = v. 3) Saring from any corner c, we can use he sar funcion provided above o visi he sar of is verex v(c), even hough we do no ye know he index of v. The idea is o raverse he sar (see secion 2.4.5) of v(b) o deermine he corners b i inciden on v(b). We mus do ha of course wihou knowing v(b), since v(b) is he desired resul. Traversing he sar is possible by using he swing righ and swing lef corner operaors as hese corner operaors require only he O Table (i.e. conneciviy informaion, no he V Table) of he SOT. The raversal sops when we find a maching riangle T<n V. Finding he verex reference can require ha we visi a mos d riangles, where d is he valence of he verex v. Since he valence of a verex on a riangle mesh is, on average, 6, herefore, we need o visi, on average, 3.5 riangles Corner operaors on SOT The implemenaion of all corner operaors from he VOT remain he same in SOT, excep for v(). The v() operaor in SOT raverses he sar of verex v(c) wihou knowing v(c) o deermine he verex reference. The code for he v(c) funcion is lised below. in v(in c) { //verex id in sc = c; //save saring corner do { if((c)<n V && c%3==0) reurn (c); //firs corner of riangle in cc = c; //curren corner c = sr(c); //visi swing righ corner } while(c!=sc c!=cc); //back o saring or boundary corner c = sc; //resars from saring corner do { if(c/3<n V && c%3==0) break; //firs corner of riangle in cc = c; //curren corner
10 c = sl(c); //visi swing lef corner } while(c!=cc); //boundary corner reurn (c);} //error, no verex id found Saring from a corner c, v() pivos clockwise and hen, if necessary, counerclockwise around v(c) using he sr(c) and sl(c) corner operaors. I sops and reurns (c) if i finds a corner c such ha (c) < n V. The small overhead cos of he new v() funcion, deailed below is ofen jusified by he reducion of sorage, and hence of page fauls. Our verex operaor uses he O Table and he sar raversal idea explained in secion v 4 0 v Figure 9: To deermine he verex ID of he verex v, we raverse he inciden riangles by using he swing corner operaor, sr or sl. In he SOT, one of he inciden riangles has he i h verex mapped o he i h riangle s firs corner (yellow verex and orange arrow) Special cases of narrow componens The special cases of narrow meshes generalizes from he SVOT (Secion 2.4.4) o he SOT. For narrow meshes, he verex references of a corner is found by raversing he sar of a corner unil a verex-o-corner mapping is found. The mapping provides he verex reference as defined in Secion Summary We have provided a linear cos consrucion algorihm ha sars wih he popular riangle-verex-incidence informaion sored in he V able. And hen compues he O ables, sors he V and O ables o provide consan cos access o he sar of each verex and finally discards he V able o provide he he SOT represenaion, which sores only 3n references. 3. TETRAHEDRAL MESHES We exend he SVOT and SOT for riangle meshes o erahedral meshes. Mos of he ideas developed above for riangle meshes exend rivially o erahedral meshes. The VOT srucure, which he SVOT and SOT rely on, requires 8 references (4 for verex references, 4 for opposie references) for erahedral meshes as opposed o 6 references (3 for Verex references, 3 for Opposie references) for riangle meshes. To accommodae he raversal of erahedral mesh elemens, we inroduce he wedge operaors. 3.1 Prior Ar Designing a se of low level operaors on he cells of a erahedral mesh is no rivial, because simple queries, such as wha is he nex erahedron or wha is he nex face need a conex: nex around wha?. Tha conex is usually more complex han a single elemen. For example, i is no clear wha face is he nex face afer face f in an inciden erahedron. Nor is i clear wha face is he nex face afer face f around a bounding edge. The noion of a verex-use or edge-use (which suffice o disambiguae such queries for oriened riangle meshes) may help, bu sill lacks specificiy and generaliy. For example, an edge is used by is wo verices, by is k inciden faces, and by is m inciden erahedra. Brisson [40] has provided an elegan ool for disinguishing all such cell-uses and for specifying unambiguously he nex operaor hrough which he ordering informaion is obained. Brisson s work was aimed a complexes in arbirary dimension. The resricion of his approach o erahedral meshes is based on 4-uples, which each lis 4 cells, one of each dimension, so ha each cell in a 4-uple is inciden upon all cells of inferior dimension. Hence, one such 4-uple, say (v,e,f,), is defined by he references o a paricular verex, v, o an edge e inciden on v, o a face f inciden on e, and o a erahedron inciden on all hree. Given such a 4-uple, Brisson defines four nex operaors, one per dimension. Each one is is own inverse. Hence he calls hem swap operaors. Le us examine hem one by one. 0) swap 0 (v,e,f,) reurns he 4-uple (v,e,f,), which is unique, since here are only wo verices, v and v, wih he same hree inciden cells (e,f,). Hence, swap 0 may be used o swap beween he wo end-verices of an edge. 1) swap 1 (v,e,f,) reurns he 4-uple (v,e,f,), which is unique, since here are only wo edges, e and e, ha share a bonding verex v and have he same wo inciden cells (f,). Hence, swap 1 may be used o swap beween adjacen edges of a face. By cascading swap 0 and swap 1 calls, one may walk around he boundary of a face f. The choice of which inciden erahedron is used defines he direcion of he circular walk and hence endows f wih an orienaion. 2) swap 2 (v,e,f,) reurns he 4-uple (v,e,f,), which is unique, since here are only wo faces, f and f, ha share a bounding edge e and are
11 bounding he same erahedron. Combinaions of swap 0, swap 1 and swap 2 provide a ool for visiing all of he faces of a erahedron. 3) swap 3 (v,e,f,) reurns he 4-uple (v,e,f, ), which is unique, since here are only wo erahedra, and, ha share a bounding face f. Combinaions of swap 2 and swap 3 roae around edge e. The direcion of roaion is defined by he choice of verex v. Unforunaely, here are 24n T such 4-uples in a mesh of n T erahedra and we would need o sore for each one of hem he verex references and 4 oher IDs (one per swap operaor) o define he resuls of he swaps. Hence he oal sorage cos for he 4-uples and heir swap references would be 120n T references (ypically inegers). Noe ha no all cell-references are required o provide he conex needed for a swap. For insance, swap 0 requires only V and E; swap 1 requires only V and F; swap 2 requires only E and T; and swap 3 requires only F. In general, swap d swaps cell of dimension d and only needs as conex he cells of dimension d 1 and d+1, when hey exis. Based on his observaion, Rossignac [Ros94] proposed a more compac represenaion called NAIL (abbreviaion for Nex cell Around cell In cell Lis), which associaes wih each cell a able (one dimensional able for verices and erahedral and wo-dimensional able for edges and faces), which, uses his reduced conex as index and provides he corresponding cell reurned by Brisson s swap. Several daa srucures cusomized for erahedral meshes [3, 8, 9, 12, 13, 60-64] provide a more compac represenaion. They, or heir variaions, have been used for mesh generaion and processing [65-70]. Several echniques were proposed for compressing erahedral meshes [16, 17, 71], for sreaming hem [20, 27, 72], and for ransferring refinemens or simplificaions [18, 23, 73]. Bu random access operaors ha raverse he compressed mesh (such as hose developed for riangle meshes [74]) are no suppored in hese approaches. Several represenaion schemes were developed o suppor muli-resoluion erahedral meshes [22, 52, 75-81]. In more direc relevance o our work, Szymczak and Rossignac [82] propose he Grow&Fold compression algorihm for erahedral meshes. They compue a Terahedron Spanning Tree (TST) and encode i using 3 bis per erahedron. Excep a he roo, he raversal of he TST eners a erahedron T by a face f. Each one of he 3 bis associaed wih T corresponds o a differen face of T (excluding f) and indicaes wheher T has a child in he TST inciden upon ha face. Because he TST does no encode he complee conneciviy, hey also sore wo bis per border face of he TST o conrol a folding process ha reconsrucs he full conneciviy. These bis indicae wheher he face is a border face of he mesh and, when no, selec one of is edges for folding. Since here are roughly 2n T such border faces, heir scheme requires abou 7n T bis o encode he conneciviy of he mesh. I is impracical o require a full raversal of he TST o idenify he paren of a erahedron and o require he execuing of he folding algorihm o recover he references of he oher wo adjacen erahedra. Hence, hese references mus be cached. Furhermore, a erahedron may have 0, 1, 2, or 3 children in he TST. We mus be able o locae hese children in consan ime, wihou having o raverse he res of he TST. Thus, we canno use heir compressed forma. Weiler e al. [83] encode erahedral meshes in srips. Using a greedy sripificaion algorihm, hey obain an average of 4.3 erahedra per srip. They also discuss a variaion ha builds longer srips by allowing duplicae verex enries in a srip. A erahedral srip is sored as an ordered lis of verex references such ha any 4-uple of consecuive verices in a srip bound a erahedron. Each erahedron in a srip is face-adjacen o is predecessor and successor in he srip (when hey exis). A srip wih k erahedra has 3+k enries in V (one per verex) and has 2+2k exernal faces, for which hey sore opposies in he O-able. Hence, o produce a regular srucure, hey use 3 ables, each of size (3+k), one for he verices, and wo for he opposies, resuling in sorage cos of 3(3+k) per srip, which resuls in 3n T + 9n S oal sorage, where n T is he number of erahedra and n S is he number of srips. Since here are 2+2k exernal faces, bu 6+2k locaions in he opposies able, 4 locaions in he opposies able do no conain any informaion. A bi per corner is used o idenify he beginning and ending of srips. Assuming 4.3 erahedra per srip, he oal sorage cos is (3n T +9(n T /4.3))= 5.1n T, i.e. an average of 5.1 references per erahedron. Their variaion ha allows repeiion of verices requires 4.6 references per erahedron. 3.2 Corner Table Exension (VOT) The Corner Table has been exended by Bischoff and Rossignac [27] and by Lage e al. Compac Half Faces (CHF) [44] o erahedral meshes. The VOT requires 8 references per erahedron (4 for verex references and 4 for opposie corners). An index o hese ables idenifies a paricular corner of a paricular erahedron. Therefore, he V and O ables each have 4n T enries. As was done for he riangle meshes, he corners of each erahedron are consecuive in he VOT (he 4 corners for he i h erahedron are sored a enries 4i+j, where j = 0,1,2,3) and are lised in an order ha is consisen wih he orienaion of he erahedron (he verices of corners j=1,2,3 appear couner-clockwise from he verex of corner j=0). The order is imporan because he nex wedge operaor requires a consisen orienaion. Figure 10 (lef) illusraes he corners and he orienaion of a erahedron. When wo erahedra share a face, he wo corners, b and c, ha do no lie on he shared face are opposie and we cache his relaion: O[b]=c and O[c]=b. We illusrae he VOT on a mesh of wo erahedra in Figure 10 (righ), where we have numbered he corners. The corner pairs (1,5), (2,7) and (3,6) each share he same verices b, c and d respecively. Corners 0 and 4 are opposies of each oher as hey share he same opposie face (b,c,d). The oher corners do no have opposies. For each such border corner c, we se O[c]=c.
12 a 0 2 c 1 7 b d 4 e Figure 10: The corners are shown as small green erahedra. Lef: The yellow face f(0) is he opposie face of corner 0. Corners 1, 2 and 3 are assumed o be counerclockwise orienaion relaive o corner 0. Righ: Corners 0 and 4 are opposies: O[0]=4 and O[4]=0. The wo erahedra have been slighly shrunk for clariy, bu are in fac adjacen o each oher: f(0)=f(4). G x y z a! " # $ " # % " # b x b y b z b c x c y c z c d! & # $ & % & # e x e y e z e C V[c] O[c] 0 a 4 1 b 1 2 c 2 3 d 3 4 e 0 5 b 5 6 d 6 7 c 7 T[0] T[1] Table 2: VOT for Figure 10, righ. Geomery Table (lef), Verex Opposie Table (righ), O[0]=4 and O[4] = 0. Corners wih no opposie corners (red) are idenified by O[c] == c. For clariy, we use characers (a, b, c, ) here o represen verex IDs which are in fac posiive inegers (0, 1, 2, ) O Table Consrucion The consrucion of he O Table follows he one presened in Secion bu here, we use four-uples {v 1,v 2,v 3,c} compued as follows, s=v(n(c)), =v(n(n(c))), u = v(n(n(n(c)))) and {v 1,v 2,v 3 } = sored {s,,u}. Hashing [44] or bucke sor [59] maybe used o sor he ubles and provide opposie pairs. The bucke sor requires hree levels here, bu sill has linear cos. 3.3 Corner Operaors We use upper case for erahedral mesh corner operaors. in T(in c) {reurn d4(c);} // erahedron of c in N(in c) {reurn fc(c)+m4(m4(c)+1);} // nex corner in T(c) in P(in c) {reurn fc(c)+m4(m4(c)+3);} // previous corner in V(in c) {reurn V[c];} // verex of c in O(in c) {reurn O[c];} // opposie corner boolean B(in c) {reurn O(c)==c;} // f(c) is a border face They are based on he following auxiliary bi-manipulaion operaors (similar o [44]) boolean even(in c) {reurn ((c&1)==0);} // c is even in m4(in c) {reurn c&0x3;} // c modulo 4 in d4(in c) {reurn c>>2;} // c divided by 4 in x4(in ) {reurn <<2;} // muliplied by 4 in fc(in c) {reurn x4(d4(c));} // firs corner of (c) 3.4 Wedge Operaors To raverse he mesh and o access he various elemens (verices, edges, faces, and erahedra) and heir neighbors in an orderly fashion, we use he concep of a wedge, which is he associaion of a base verex v wih an inciden edge e and an inciden erahedron. I corresponds o a he half-edge [44]. In our figures, a wedge w defined by he riple (v,e,) is shown as a colored arrow along poining e away from v. For simpliciy, w.a denoes he saring corner of w and w.b is ending corner. We define 10 wedge operaors (Figure 11) and use lower case names for hem. Consider an inerior verex v. The boundary of is sar is a riangle mesh M homeomorphic o a sphere. To each wedge w=(v,e,) corresponds a corner c of M. We have named some of our wedge
13 operaors so ha hey preserve his correspondence. For example, as shown in Figure 11 (op righ), n(w) (in green) corresponds o n(c), p(w) (in blue) corresponds o p(c). The riangle corners are no shown o avoid cluer, bu are on he face o which he corresponding wedge arrow poins. Similarly, as shown in Figure 11 (boom righ), o(w) (in dark gray) corresponds o o(c), l(w) (in cyan) corresponds o l(c) and r(w) (in magena) corresponds o r(c). Noe ha in his ex, we differeniae beween riangle mesh corner operaors and he corresponding erahedral mesh wedge operaors by he conex or he ype of he parameer, i.e. c (corner) or w (wedge) (even hough in our implemenaion, boh are inegers). Several wedge operaors do no have corresponding corner operaors. The mirror wedge m(w) reurns Brisson s swap 0. The cross wedge operaor k(w) reurns he wedge whose edge is no adjacen o he edge of w, and ha appears o go lef, when seen from an observer aligned wih (he arrow used o show) w. We do no sore wedges explicily, since soring hem would require a significan amoun of memory. Insead, we represen a curren wedge w by an ordered pair (w.a, w.b) of wo references o corners of he same erahedron. In Figure 11 (op lef), he red wedge is defined by he green corners (a,b). Clearly, such an ordered pair of corners defines he riple (v,e,) of a saring verex v, a supporing edge e, and an inciden erahedron. b i. ii. curren m iii. a v f l n p r iv. k v. p n sr sl o Figure 11: Wedge w is shown as a red arrow. (i) red wedge (a,b) goes from corner a o corner b. (ii) nex wedge n(w) in green, previous wedge p(w) in blue, mirror (reversed) wedge m(w) in magena. (iii) cross wedge k(w) in black (back), forward wedge f(w) in yellow. (iv) swing righ wedge sr(w) in blue, swing lef wedge sl(w) in green. (iv) opposie wedge o(w) in dark gray, lef wedge l(w) in cyan, righ wedge r(w) in magena, nex wedge in green, previous edge in blue. Our nex, mirror and opposie wedge operaors have he same funcionaliy as he nex, mae, and radial half-edge operaors respecively provided by Lage e al. [44]. We use he following funcion o creae a wedge (objec). Wedge w(in a, in b) {reurn new Wedge(a,b);} We use he following hree basic wedge operaors shown in Figure 11 (op righ and boom righ): Wedge m(wedge w) {reurn w(w.b,w.a);} Wedge n(wedge w) { in nc=m4(m4(w.b)+(even(w.a)?3:1)); if(nc==m4(w.a)) {nc=m4(m4(w.b)+2);}; reurn w(w.a,fc(w.a)+nc);} Wedge o(wedge w) { in na; in oc=o(w.b); if(oc==c) {reurn null;}; if(v(n(oc))==v(w.a)) {na=n(oc);} else if(v(p(oc))==v(w.a)) {na=p(oc);} else {na=n(n(oc));}; reurn w(na,oc);}; // mirror // nex // opposie The mirror wedge operaor m() simply reverses he saring and ending corner indices.
14 The nex wedge operaor n(), based on wheher corner w.a is odd or even, reurns he proper nex wedge. If we represen a erahedron by he corners 0, 1, 2 and 3, hen by consrucion and our adoped erahedron orienaion, (1,2,3) looks couner-clockwise from 0, (0,2,3) looks clockwise from 1, (0,1,3) looks couner-clockwise from 2 and (0,1,2) looks clockwise from 3. Hence, we can see ha even corners c e view face f(c e ) as couner-clockwise and odd corners c o view face f(c o ) as clockwise. The n() operaor reurns he nex couner-clockwise wedge, i.e. corner n(w).b is couner-clockwise relaive o corner w.b when viewed from corner w.a. The opposie wedge operaor o() uses he corner operaor O(w.b) o idenify he corner b opposie o w.b in an adjacen erahedron. However, here are hree wedges having b as he saring verex. We reurn he edge whose end-corner is a a verex ha is no bounding he erahedron of w. We could accelerae o() by caching he roaion number (Secion 3.6.2) indicaing which of he hree wedges has b as saring verex. Alhough we do no cache he roaion number for he VOT and SVOT, we will cache ha roaion number for he SOT, as discussed in Secion 3.6. Also noe ha o() reurns null when he wedge has no opposie. This sofware engineering decision faciliaes he implemenaion of derived wedge operaors by deferring he esing of border condiions. Our implemenaion of he m(), n() and o() operaors (no shown here) reurns null if a null wedge is received as inpu. From hese hree basic wedge operaors, we consruc seven convenien derived wedge operaors lised below and shown in Figure 11. For pracice, we encourage he reader o visually verify heir implemenaion using Figure 11. Wedge p(wedge w) {reurn n(n(w));} Wedge l(wedge w) {reurn o(n(w));} Wedge r(wedge w) {reurn o(p(w));} Wedge k(wedge w) {reurn n(m(p(w)));} Wedge f(wedge w) {reurn o(m(w));} Wedge sl(wedge w) {reurn n(l(w));} Wedge sr(wedge w) {reurn p(r(w));} Using wedge operaors // previous wedge // lef wedge // righ wedge // cross wedge // forward wedge // swing lef wedge // swing righ wedge To demonsrae he use of he wedge operaor, we discuss here he VOT implemenaion of Brisson s swaps and of hree common algorihms Brisson s swaps using wedge operaors Alhough we do no use Brissons s swap operaors in our algorihms, we provide heir implemenaion below in order o demonsrae he power and ease of use of our wedge operaors. The 4-uple (V,E,F,T) which was used above as conex for Brisson's swaps defines an ordered lis of 3 corners (a,b,c) of T such ha V(a)=V, V(b) is he oher verex of E (oher hen V(a)), and V(c) is he hird verex of F. swap 0 and swap 1 are fairly sraighforward. swap 2 reurns he face sharing edge (V(a),V(b)) by uilizing he nex and previous wedge operaors o idenify he corner in he erahedron which is no a, b or c. swap 3 reurns he adjacen erahedron by uilizing he nex, swing lef and swing righ wedge operaors o idenify he face conneced erahedron. class Triple{in a, b, c;} Triple 3(in a, in b, in c) {reurn new Triple(a,b,c);} Triple swap0(in a,in b,in c){reurn 3(b,a,c);} Triple swap1(in a,in b,in c){reurn 3(a,c,b);} Triple swap2(in a,in b,in c){ Wedge w=w(a,b); if(n(w).b==c){reurn 3(a, b, p(w).b);} else reurn 3(a, b, n(w).b);} Triple swap3(in a,in b,in c){ Wedge w=w(a,b); if(n(w).b==c){reurn 3(sr(w).a,sr(w).b,p(sr(w)).b);} else reurn 3(sl(w).a, sl(w).b, n(sl(w)).b);} Swinging around an edge Here, we explain how o visi all erahedra inciden on an edge. Given a wedge w, we ieraively use he swing lef operaor unil we reurn o w or reach a null wedge (meaning, we are ouside of he mesh). If we reach he w, we are done. If we reach a null wedge, we repea he process, bu swinging righ. The wedges we visi idenify he erahedra inciden on he given wedge and provide a saring reference for processing hem. Wedge swing(wedge w) { Wedge sw = w(w.a, w.b); process(w); while(w!=null){ if(eqw(sw, w)) break; w = sl(w); process(w);} //swing around wedge //sar wedge //process wedge //no a boundary wedge //reached sar wedge //swing lef //process wedge
15 if(w==null) { w = w(sw.a, sw.b); while(w!=null){ w = sr(w); process(w);}}} //resar from saring wedge //swing righ //process wedge boolean eqw(wedge u, Wedge w) { reurn (u.a==w.a && u.b==w.b);} //equal wedges //u and w equal? Visiing componens of he boundary Here, we explain how o raverse conneced componens of he boundary of a erahedral mesh using he VOT wihou building any auxiliary riangle mesh or oher represenaion of ha boundary. Such a raversal was exploied in esreamer [27] o raverse he riangulaed surface separaing he encoded erahedral from he ohers. We can raverse a shell (conneced manifold componen) of a riangle mesh by saring from a corner c and recursively walking o neighboring riangles using he l(c) and r(c) Corner Table operaors. We can eiher mark he visied riangles and use recursive calls, or mark visied verices and riangles o avoid mos recursive calls, as done in he Edgebreaker raversal [41]. The recursive version is lised below. void visishell(in c){ //visi shell if(!visied((c))){ //visied riangle? sevisied((c)); //se riangle as visied visishell(l(c)); //visi lef riangle visishell(r(c));}} //visi righ riangle Noe ha o each corner b of a border riangle of a erahedron mesh corresponds a unique wedge w=wedge(a,b). Using he analogy beween wedge and corner operaors, we can execue he above raversal algorihm and visi he faces of he conneced componen of he boundary of he mesh. All we need is he wedge counerpars lc(w) of he l(c) corner operaor, where lc(w) implies he lef corner operaor on he boundary of he erhedral mesh. Likewise, rc(w) and oc(w) for r(c) and o(c) corner operaors respecively. We provide he implemenaion of he lc(w), rc(w) and oc(w) operaors below. Wedge rc(wedge w){reurn swing(p(m(w)));} //righ boundary Wedge lc(wedge w){reurn swing(n(k(w)));} //lef boundary Wedge oc(wedge w){reurn swing(m(k(w)));} //opposie Wedge swing(wedge w){ //swing around w unil we while(rue){ if(b(k(w).a) break; w = sr(w);} // hi boundary reurn k(w);} //reurn proper wedge Visiing he TST Here we describe how o visi a Terahedron Spanning Tree for erahedral meshes, which is used in several compression echniques [16, 82]. We use he righ, lef, opposie and forward wedge operaors. A emporary array of bis or flags is mainained o record he visied saus of all erahedra. (We use he mos significan bi of he Verex Table o sore hem). The recursive version of he code is provided below. void dfs(wedge w) { //deph firs raversal if(w!=null &&!VisiedT(T(w.a))) { //if e no visied sevisiedt(t(w.a), rue); //se visied saus dfs(r(w)); dfs(l(w)); //visi righ and lef es dfs(o(w)); dfs(f(w));} //visi opposie and forward es 3.5 Sored Verex Opposie Table (SVOT) Moivaion Various operaions such as compuing he average of he scalar values of he neighboring verices off a given verex requires accessing he sar of he given verex. As menioned in Secion for riangle meshes, as suggesed by Lage e al [44], one could sore a verex-ocorner lookup able which requires addiional sorage. As we did for riangle meshes, we sor he VOT o provide a direc access from each verex o one of is corners wihou addiional sorage Proposed SVOT soluion The idea of he Sored Verex Opposie Table presened in Secion for riangle meshes exends rivially o erahedral meshes. For erahedral meshes, corner c(v) inciden upon verex v is 4*v. Narrow meshes are addressed in Secion
16 3.5.3 SVOT consrucion algorihm The consrucion of he SVOT follows he one presened in Secion We map each verex o a unique erahedron and sor he V Table based on he mapping. G C V O G C V O G[0] 0 V[0] O[0] G[0] 0 V[0] O[0] G[1] G[2] 1 V[1] O[1] 2 V[2] O[2] T[0] G[1] G[2] 1 V[1] O[1] 2 V[2] O[2] T[0] G[3] 3 V[3] O[3] G[3] 3 V[3] O[3] G[4] 4 V[4] O[4] G[4] 4 V[4] O[4] 5 V[5] O[5] 6 V[6] O[6] T[1] 5 V[5] O[5] 6 V[6] O[6] T[1] 7 V[7] O[7] 7 V[7] O[7] Figure 12: The SVOT for erahedral meshes Verex o Terahedron Mapping We exend he mapping algorihm lised in Secion o erahedral meshes. In he iniializaion sep, wih S as roo erahedron, we choose T(l(w).b) as he firs child erahedron, where w is he wedge from he firs corner c o corner N(c) of S. We map V(c) o T(c) (roo erahedron) and V(l(w).b) o T(l(w).b) (firs child erahedron). We mark all verices of S as visied. In he erminaion sep, we mach he remaining hree erahedra inciden upon seed S (erahedra oher han he firs child erahedron) wih 3 verices of S (verices oher han V(c)), as in shown in Figure 14. These 3 erahedra will no be mapped o any verex prior o he erminaion sep. The reason being ha we marked all verices of S as being visied in he iniializaion sep, and he 3 inciden erahedra have been reached while coming from erahedra oher han S hence will no be associaed wih a verex (since heir ip verex was mapped o S during iniializaion and is no longer available o be associaed wih hem). 1 V IDs CornerID V 7 A vid=1 vid=4 1*4+0=4 1*4+1=5 1*4+2=6 1*4+3= B 2 0 4*4+0=16 4*4+1=17 4*4+2= *4+3=19 0 Figure 13: Verices 1 and 4 are mapped o erahedra A and B. Terahedron A consiss of verices (1,3,7,5) and erahedron B of (4,2,9,0). Afer soring in SVOT, erahedron A is defined by corners (4,5,6,7) and erahedron B by corners (16,17,18,19) as verex 1 maps o erahedron a 1 s locaion and verex 4 maps o erahedron a 4 h locaion. Figure 14: The seed erahedron S (shown in green) wih he corner c (shown as a green circle), is firs neighbor T(l(w)) (shown in yellow), and he oher hree adjacen neighbors of S (shown in red, blue and magena). Each erahedron shown is mached wih a verex of he same color. The oher erahedra in he mesh are no shown.
Implementing Ray Casting in Tetrahedral Meshes with Programmable Graphics Hardware (Technical Report)
Implemening Ray Casing in Terahedral Meshes wih Programmable Graphics Hardware (Technical Repor) Marin Kraus, Thomas Erl March 28, 2002 1 Inroducion Alhough cell-projecion, e.g., [3, 2], and resampling,
More informationRepresenting Non-Manifold Shapes in Arbitrary Dimensions
Represening Non-Manifold Shapes in Arbirary Dimensions Leila De Floriani,2 and Annie Hui 2 DISI, Universiy of Genova, Via Dodecaneso, 35-646 Genova (Ialy). 2 Deparmen of Compuer Science, Universiy of Maryland,
More informationA Matching Algorithm for Content-Based Image Retrieval
A Maching Algorihm for Conen-Based Image Rerieval Sue J. Cho Deparmen of Compuer Science Seoul Naional Universiy Seoul, Korea Absrac Conen-based image rerieval sysem rerieves an image from a daabase using
More informationConstant-Work-Space Algorithms for Shortest Paths in Trees and Simple Polygons
Journal of Graph Algorihms and Applicaions hp://jgaa.info/ vol. 15, no. 5, pp. 569 586 (2011) Consan-Work-Space Algorihms for Shores Pahs in Trees and Simple Polygons Tesuo Asano 1 Wolfgang Mulzer 2 Yajun
More information4. Minimax and planning problems
CS/ECE/ISyE 524 Inroducion o Opimizaion Spring 2017 18 4. Minima and planning problems ˆ Opimizing piecewise linear funcions ˆ Minima problems ˆ Eample: Chebyshev cener ˆ Muli-period planning problems
More informationEECS 487: Interactive Computer Graphics
EECS 487: Ineracive Compuer Graphics Lecure 7: B-splines curves Raional Bézier and NURBS Cubic Splines A represenaion of cubic spline consiss of: four conrol poins (why four?) hese are compleely user specified
More informationSpline Curves. Color Interpolation. Normal Interpolation. Last Time? Today. glshademodel (GL_SMOOTH); Adjacency Data Structures. Mesh Simplification
Las Time? Adjacency Daa Srucures Spline Curves Geomeric & opologic informaion Dynamic allocaion Efficiency of access Mesh Simplificaion edge collapse/verex spli geomorphs progressive ransmission view-dependen
More informationSTRING DESCRIPTIONS OF DATA FOR DISPLAY*
SLAC-PUB-383 January 1968 STRING DESCRIPTIONS OF DATA FOR DISPLAY* J. E. George and W. F. Miller Compuer Science Deparmen and Sanford Linear Acceleraor Cener Sanford Universiy Sanford, California Absrac
More informationOptimal Crane Scheduling
Opimal Crane Scheduling Samid Hoda, John Hooker Laife Genc Kaya, Ben Peerson Carnegie Mellon Universiy Iiro Harjunkoski ABB Corporae Research EWO - 13 November 2007 1/16 Problem Track-mouned cranes move
More informationCAMERA CALIBRATION BY REGISTRATION STEREO RECONSTRUCTION TO 3D MODEL
CAMERA CALIBRATION BY REGISTRATION STEREO RECONSTRUCTION TO 3D MODEL Klečka Jan Docoral Degree Programme (1), FEEC BUT E-mail: xkleck01@sud.feec.vubr.cz Supervised by: Horák Karel E-mail: horak@feec.vubr.cz
More informationCurves & Surfaces. Last Time? Today. Readings for Today (pick one) Limitations of Polygonal Meshes. Today. Adjacency Data Structures
Las Time? Adjacency Daa Srucures Geomeric & opologic informaion Dynamic allocaion Efficiency of access Curves & Surfaces Mesh Simplificaion edge collapse/verex spli geomorphs progressive ransmission view-dependen
More informationImage Content Representation
Image Conen Represenaion Represenaion for curves and shapes regions relaionships beween regions E.G.M. Perakis Image Represenaion & Recogniion 1 Reliable Represenaion Uniqueness: mus uniquely specify an
More informationPART 1 REFERENCE INFORMATION CONTROL DATA 6400 SYSTEMS CENTRAL PROCESSOR MONITOR
. ~ PART 1 c 0 \,).,,.,, REFERENCE NFORMATON CONTROL DATA 6400 SYSTEMS CENTRAL PROCESSOR MONTOR n CONTROL DATA 6400 Compuer Sysems, sysem funcions are normally handled by he Monior locaed in a Peripheral
More informationGauss-Jordan Algorithm
Gauss-Jordan Algorihm The Gauss-Jordan algorihm is a sep by sep procedure for solving a sysem of linear equaions which may conain any number of variables and any number of equaions. The algorihm is carried
More informationSTEREO PLANE MATCHING TECHNIQUE
STEREO PLANE MATCHING TECHNIQUE Commission III KEY WORDS: Sereo Maching, Surface Modeling, Projecive Transformaion, Homography ABSTRACT: This paper presens a new ype of sereo maching algorihm called Sereo
More informationSam knows that his MP3 player has 40% of its battery life left and that the battery charges by an additional 12 percentage points every 15 minutes.
8.F Baery Charging Task Sam wans o ake his MP3 player and his video game player on a car rip. An hour before hey plan o leave, he realized ha he forgo o charge he baeries las nigh. A ha poin, he plugged
More informationData Structures and Algorithms. The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 2
Daa Srucures and Algorihms The maerial for his lecure is drawn, in par, from The Pracice of Programming (Kernighan & Pike) Chaper 2 1 Moivaing Quoaion Every program depends on algorihms and daa srucures,
More information4.1 3D GEOMETRIC TRANSFORMATIONS
MODULE IV MCA - 3 COMPUTER GRAPHICS ADMN 29- Dep. of Compuer Science And Applicaions, SJCET, Palai 94 4. 3D GEOMETRIC TRANSFORMATIONS Mehods for geomeric ransformaions and objec modeling in hree dimensions
More informationCENG 477 Introduction to Computer Graphics. Modeling Transformations
CENG 477 Inroducion o Compuer Graphics Modeling Transformaions Modeling Transformaions Model coordinaes o World coordinaes: Model coordinaes: All shapes wih heir local coordinaes and sies. world World
More informationMORPHOLOGICAL SEGMENTATION OF IMAGE SEQUENCES
MORPHOLOGICAL SEGMENTATION OF IMAGE SEQUENCES B. MARCOTEGUI and F. MEYER Ecole des Mines de Paris, Cenre de Morphologie Mahémaique, 35, rue Sain-Honoré, F 77305 Fonainebleau Cedex, France Absrac. In image
More informationComputer representations of piecewise
Edior: Gabriel Taubin Inroducion o Geomeric Processing hrough Opimizaion Gabriel Taubin Brown Universiy Compuer represenaions o piecewise smooh suraces have become vial echnologies in areas ranging rom
More informationMIC2569. Features. General Description. Applications. Typical Application. CableCARD Power Switch
CableCARD Power Swich General Descripion is designed o supply power o OpenCable sysems and CableCARD hoss. These CableCARDs are also known as Poin of Disribuion (POD) cards. suppors boh Single and Muliple
More informationShortest Path Algorithms. Lecture I: Shortest Path Algorithms. Example. Graphs and Matrices. Setting: Dr Kieran T. Herley.
Shores Pah Algorihms Background Seing: Lecure I: Shores Pah Algorihms Dr Kieran T. Herle Deparmen of Compuer Science Universi College Cork Ocober 201 direced graph, real edge weighs Le he lengh of a pah
More informationREDUCTIONS BBM ALGORITHMS DEPT. OF COMPUTER ENGINEERING ERKUT ERDEM. Bird s-eye view. May. 12, Reduction.
BBM 0 - ALGORITHMS DEPT. OF COMPUTER ENGINEERING ERKUT ERDEM REDUCTIONS May., 0 Bird s-eye view Desideraa. Classify problems according o compuaional requiremens. complexiy order of growh examples linear
More informationToday. Curves & Surfaces. Can We Disguise the Facets? Limitations of Polygonal Meshes. Better, but not always good enough
Today Curves & Surfaces Moivaion Limiaions of Polygonal Models Some Modeling Tools & Definiions Curves Surfaces / Paches Subdivision Surfaces Limiaions of Polygonal Meshes Can We Disguise he Faces? Planar
More informationLast Time: Curves & Surfaces. Today. Questions? Limitations of Polygonal Meshes. Can We Disguise the Facets?
Las Time: Curves & Surfaces Expeced value and variance Mone-Carlo in graphics Imporance sampling Sraified sampling Pah Tracing Irradiance Cache Phoon Mapping Quesions? Today Moivaion Limiaions of Polygonal
More informationCOMP26120: Algorithms and Imperative Programming
COMP26120 ecure C3 1/48 COMP26120: Algorihms and Imperaive Programming ecure C3: C - Recursive Daa Srucures Pee Jinks School of Compuer Science, Universiy of Mancheser Auumn 2011 COMP26120 ecure C3 2/48
More informationMATH Differential Equations September 15, 2008 Project 1, Fall 2008 Due: September 24, 2008
MATH 5 - Differenial Equaions Sepember 15, 8 Projec 1, Fall 8 Due: Sepember 4, 8 Lab 1.3 - Logisics Populaion Models wih Harvesing For his projec we consider lab 1.3 of Differenial Equaions pages 146 o
More informationCoded Caching with Multiple File Requests
Coded Caching wih Muliple File Requess Yi-Peng Wei Sennur Ulukus Deparmen of Elecrical and Compuer Engineering Universiy of Maryland College Park, MD 20742 ypwei@umd.edu ulukus@umd.edu Absrac We sudy a
More informationLecture 18: Mix net Voting Systems
6.897: Advanced Topics in Crypography Apr 9, 2004 Lecure 18: Mix ne Voing Sysems Scribed by: Yael Tauman Kalai 1 Inroducion In he previous lecure, we defined he noion of an elecronic voing sysem, and specified
More informationChapter 4 Sequential Instructions
Chaper 4 Sequenial Insrucions The sequenial insrucions of FBs-PLC shown in his chaper are also lised in secion 3.. Please refer o Chaper, "PLC Ladder diagram and he Coding rules of Mnemonic insrucion",
More informationThe Impact of Product Development on the Lifecycle of Defects
The Impac of Produc Developmen on he Lifecycle of Rudolf Ramler Sofware Compeence Cener Hagenberg Sofware Park 21 A-4232 Hagenberg, Ausria +43 7236 3343 872 rudolf.ramler@scch.a ABSTRACT This paper invesigaes
More informationPrecise Voronoi Cell Extraction of Free-form Rational Planar Closed Curves
Precise Voronoi Cell Exracion of Free-form Raional Planar Closed Curves Iddo Hanniel, Ramanahan Muhuganapahy, Gershon Elber Deparmen of Compuer Science Technion, Israel Insiue of Technology Haifa 32000,
More informationRule-Based Multi-Query Optimization
Rule-Based Muli-Query Opimizaion Mingsheng Hong Dep. of Compuer cience Cornell Universiy mshong@cs.cornell.edu Johannes Gehrke Dep. of Compuer cience Cornell Universiy johannes@cs.cornell.edu Mirek Riedewald
More informationAn Improved Square-Root Nyquist Shaping Filter
An Improved Square-Roo Nyquis Shaping Filer fred harris San Diego Sae Universiy fred.harris@sdsu.edu Sridhar Seshagiri San Diego Sae Universiy Seshigar.@engineering.sdsu.edu Chris Dick Xilinx Corp. chris.dick@xilinx.com
More informationNEWTON S SECOND LAW OF MOTION
Course and Secion Dae Names NEWTON S SECOND LAW OF MOTION The acceleraion of an objec is defined as he rae of change of elociy. If he elociy changes by an amoun in a ime, hen he aerage acceleraion during
More informationBI-TEMPORAL INDEXING
BI-TEMPORAL INDEXING Mirella M. Moro Uniersidade Federal do Rio Grande do Sul Poro Alegre, RS, Brazil hp://www.inf.ufrgs.br/~mirella/ Vassilis J. Tsoras Uniersiy of California, Rierside Rierside, CA 92521,
More informationScheduling. Scheduling. EDA421/DIT171 - Parallel and Distributed Real-Time Systems, Chalmers/GU, 2011/2012 Lecture #4 Updated March 16, 2012
EDA421/DIT171 - Parallel and Disribued Real-Time Sysems, Chalmers/GU, 2011/2012 Lecure #4 Updaed March 16, 2012 Aemps o mee applicaion consrains should be done in a proacive way hrough scheduling. Schedule
More informationChapter 8 LOCATION SERVICES
Disribued Compuing Group Chaper 8 LOCATION SERVICES Mobile Compuing Winer 2005 / 2006 Overview Mobile IP Moivaion Daa ransfer Encapsulaion Locaion Services & Rouing Classificaion of locaion services Home
More informationAML710 CAD LECTURE 11 SPACE CURVES. Space Curves Intrinsic properties Synthetic curves
AML7 CAD LECTURE Space Curves Inrinsic properies Synheic curves A curve which may pass hrough any region of hreedimensional space, as conrased o a plane curve which mus lie on a single plane. Space curves
More informationA non-stationary uniform tension controlled interpolating 4-point scheme reproducing conics
A non-saionary uniform ension conrolled inerpolaing 4-poin scheme reproducing conics C. Beccari a, G. Casciola b, L. Romani b, a Deparmen of Pure and Applied Mahemaics, Universiy of Padova, Via G. Belzoni
More informationDefinition and examples of time series
Definiion and examples of ime series A ime series is a sequence of daa poins being recorded a specific imes. Formally, le,,p be a probabiliy space, and T an index se. A real valued sochasic process is
More informationLAMP: 3D Layered, Adaptive-resolution and Multiperspective Panorama - a New Scene Representation
Submission o Special Issue of CVIU on Model-based and Image-based 3D Scene Represenaion for Ineracive Visualizaion LAMP: 3D Layered, Adapive-resoluion and Muliperspecive Panorama - a New Scene Represenaion
More informationQuick Verification of Concurrent Programs by Iteratively Relaxed Scheduling
Quick Verificaion of Concurren Programs by Ieraively Relaxed Scheduling Parick Mezler, Habib Saissi, Péer Bokor, Neeraj Suri Technische Univerisä Darmsad, Germany {mezler, saissi, pbokor, suri}@deeds.informaik.u-darmsad.de
More information4 Error Control. 4.1 Issues with Reliable Protocols
4 Error Conrol Jus abou all communicaion sysems aemp o ensure ha he daa ges o he oher end of he link wihou errors. Since i s impossible o build an error-free physical layer (alhough some shor links can
More informationSimple Network Management Based on PHP and SNMP
Simple Nework Managemen Based on PHP and SNMP Krasimir Trichkov, Elisavea Trichkova bsrac: This paper aims o presen simple mehod for nework managemen based on SNMP - managemen of Cisco rouer. The paper
More informationAxiomatic Foundations and Algorithms for Deciding Semantic Equivalences of SQL Queries
Axiomaic Foundaions and Algorihms for Deciding Semanic Equivalences of SQL Queries Shumo Chu, Brendan Murphy, Jared Roesch, Alvin Cheung, Dan Suciu Paul G. Allen School of Compuer Science and Engineering
More informationQuantitative macro models feature an infinite number of periods A more realistic (?) view of time
INFINIE-HORIZON CONSUMPION-SAVINGS MODEL SEPEMBER, Inroducion BASICS Quaniaive macro models feaure an infinie number of periods A more realisic (?) view of ime Infinie number of periods A meaphor for many
More informationA Principled Approach to. MILP Modeling. Columbia University, August Carnegie Mellon University. Workshop on MIP. John Hooker.
Slide A Principled Approach o MILP Modeling John Hooer Carnegie Mellon Universiy Worshop on MIP Columbia Universiy, Augus 008 Proposal MILP modeling is an ar, bu i need no be unprincipled. Slide Proposal
More informationVideo Content Description Using Fuzzy Spatio-Temporal Relations
Proceedings of he 4s Hawaii Inernaional Conference on Sysem Sciences - 008 Video Conen Descripion Using Fuzzy Spaio-Temporal Relaions rchana M. Rajurkar *, R.C. Joshi and Sananu Chaudhary 3 Dep of Compuer
More informationMotor Control. 5. Control. Motor Control. Motor Control
5. Conrol In his chaper we will do: Feedback Conrol On/Off Conroller PID Conroller Moor Conrol Why use conrol a all? Correc or wrong? Supplying a cerain volage / pulsewidh will make he moor spin a a cerain
More informationOutline. EECS Components and Design Techniques for Digital Systems. Lec 06 Using FSMs Review: Typical Controller: state
Ouline EECS 5 - Componens and Design Techniques for Digial Sysems Lec 6 Using FSMs 9-3-7 Review FSMs Mapping o FPGAs Typical uses of FSMs Synchronous Seq. Circuis safe composiion Timing FSMs in verilog
More informationImage segmentation. Motivation. Objective. Definitions. A classification of segmentation techniques. Assumptions for thresholding
Moivaion Image segmenaion Which pixels belong o he same objec in an image/video sequence? (spaial segmenaion) Which frames belong o he same video sho? (emporal segmenaion) Which frames belong o he same
More informationOptics and Light. Presentation
Opics and Ligh Presenaion Opics and Ligh Wha comes o mind when you hear he words opics and ligh? Wha is an opical illusion? Opical illusions can use color, ligh and paerns o creae images ha can be
More informationNRMI: Natural and Efficient Middleware
NRMI: Naural and Efficien Middleware Eli Tilevich and Yannis Smaragdakis Cener for Experimenal Research in Compuer Sysems (CERCS), College of Compuing, Georgia Tech {ilevich, yannis}@cc.gaech.edu Absrac
More informationLandmarks: A New Model for Similarity-Based Pattern Querying in Time Series Databases
Lmarks: A New Model for Similariy-Based Paern Querying in Time Series Daabases Chang-Shing Perng Haixun Wang Sylvia R. Zhang D. So Parker perng@cs.ucla.edu hxwang@cs.ucla.edu Sylvia Zhang@cle.com so@cs.ucla.edu
More informationA Formalization of Ray Casting Optimization Techniques
A Formalizaion of Ray Casing Opimizaion Techniques J. Revelles, C. Ureña Dp. Lenguajes y Sisemas Informáicos, E.T.S.I. Informáica, Universiy of Granada, Spain e-mail: [jrevelle,almagro]@ugr.es URL: hp://giig.ugr.es
More informationCS 152 Computer Architecture and Engineering. Lecture 7 - Memory Hierarchy-II
CS 152 Compuer Archiecure and Engineering Lecure 7 - Memory Hierarchy-II Krse Asanovic Elecrical Engineering and Compuer Sciences Universiy of California a Berkeley hp://www.eecs.berkeley.edu/~krse hp://ins.eecs.berkeley.edu/~cs152
More informationAnalysis of Various Types of Bugs in the Object Oriented Java Script Language Coding
Indian Journal of Science and Technology, Vol 8(21), DOI: 10.17485/ijs/2015/v8i21/69958, Sepember 2015 ISSN (Prin) : 0974-6846 ISSN (Online) : 0974-5645 Analysis of Various Types of Bugs in he Objec Oriened
More informationAlgorithm for image reconstruction in multi-slice helical CT
Algorihm for image reconsrucion in muli-slice helical CT Kasuyuki Taguchi a) and Hiroshi Aradae Medical Engineering Laboraory, Toshiba Corporaion, 1385 Shimoishigami, Oawara, Tochigi 324-855, Japan Received
More informationLearning in Games via Opponent Strategy Estimation and Policy Search
Learning in Games via Opponen Sraegy Esimaion and Policy Search Yavar Naddaf Deparmen of Compuer Science Universiy of Briish Columbia Vancouver, BC yavar@naddaf.name Nando de Freias (Supervisor) Deparmen
More informationEvaluation and Improvement of Region-based Motion Segmentation
Evaluaion and Improvemen of Region-based Moion Segmenaion Mark Ross Universiy Koblenz-Landau, Insiue of Compuaional Visualisics, Universiässraße 1, 56070 Koblenz, Germany Email: ross@uni-koblenz.de Absrac
More informationNURBS rendering in OpenSG Plus
NURS rering in OpenSG Plus F. Kahlesz Á. alázs R. Klein Universiy of onn Insiue of Compuer Science II Compuer Graphics Römersrasse 164. 53117 onn, Germany Absrac Mos of he indusrial pars are designed as
More informationThe University of Sheffield Department of Computer Science. Indexing XML Databases: Classifications, Problems Identification and a New Approach
The Universiy of Sheffield Deparmen of Compuer Science Indexing XML Daabases: Classificaions, Problems Idenificaion and a New Approach Research Memorandum CS-7-5 Mohammed Al-Badawi Compuer Science Dep
More informationSchedule. Curves & Surfaces. Questions? Last Time: Today. Limitations of Polygonal Meshes. Acceleration Data Structures.
Schedule Curves & Surfaces Sunday Ocober 5 h, * 3-5 PM *, Room TBA: Review Session for Quiz 1 Exra Office Hours on Monday (NE43 Graphics Lab) Tuesday Ocober 7 h : Quiz 1: In class 1 hand-wrien 8.5x11 shee
More informationLemonia Ragia and Stephan Winter 1 CONTRIBUTIONS TO A QUALITY DESCRIPTION OF AREAL OBJECTS IN SPATIAL DATA SETS
D. Frisch, M. Englich & M. Seser, eds, 'IAPRS', Vol. 32/, ISPRS Commission IV Symposium on GIS - Beween Visions and Applicaions, Sugar, Germany. Lemonia Ragia and Sephan Winer 1 CONTRIBUTIONS TO A QUALITY
More informationX-Splines : A Spline Model Designed for the End-User
X-Splines : A Spline Model Designed for he End-User Carole Blanc Chrisophe Schlic LaBRI 1 cours de la libéraion, 40 alence (France) [blancjschlic]@labri.u-bordeaux.fr Absrac his paper presens a new model
More informationBOUNDARY REPRESENTATION MODELLING WITH LOCAL TOLERANCES
BOUNDARY REPRESENTATON MODELLNG WTH LOCAL TOLERANCES David J. Jackson Parasolid Business Uni EDS Unigraphics Parker s House 6 Regen!Sree! Cambridge England ABSTRACT Convenional boundary represenaion (b-rep)
More informationIn Proceedings of CVPR '96. Structure and Motion of Curved 3D Objects from. using these methods [12].
In Proceedings of CVPR '96 Srucure and Moion of Curved 3D Objecs from Monocular Silhouees B Vijayakumar David J Kriegman Dep of Elecrical Engineering Yale Universiy New Haven, CT 652-8267 Jean Ponce Compuer
More informationAn Adaptive Spatial Depth Filter for 3D Rendering IP
JOURNAL OF SEMICONDUCTOR TECHNOLOGY AND SCIENCE, VOL.3, NO. 4, DECEMBER, 23 175 An Adapive Spaial Deph Filer for 3D Rendering IP Chang-Hyo Yu and Lee-Sup Kim Absrac In his paper, we presen a new mehod
More informationFeature-Preserving Reconstruction of Singular Surfaces
Eurographics Symposium on Geomery Processing 2012 Eian Grinspun and Niloy Mira (Gues Ediors) Volume 31 (2012), Number 5 Feaure-Preserving Reconsrucion of Singular Surfaces T. K. Dey 1 and X. Ge 1 and Q.
More informationNetwork management and QoS provisioning - QoS in Frame Relay. . packet switching with virtual circuit service (virtual circuits are bidirectional);
QoS in Frame Relay Frame relay characerisics are:. packe swiching wih virual circui service (virual circuis are bidirecional);. labels are called DLCI (Daa Link Connecion Idenifier);. for connecion is
More informationData Structures and Algorithms
Daa Srucures and Algorihms The maerial for his lecure is drawn, in ar, from The Pracice of Programming (Kernighan & Pike) Chaer 2 1 Goals of his Lecure Hel you learn (or refresh your memory) abou: Common
More informationFIELD PROGRAMMABLE GATE ARRAY (FPGA) AS A NEW APPROACH TO IMPLEMENT THE CHAOTIC GENERATORS
FIELD PROGRAMMABLE GATE ARRAY (FPGA) AS A NEW APPROACH TO IMPLEMENT THE CHAOTIC GENERATORS Mohammed A. Aseeri and M. I. Sobhy Deparmen of Elecronics, The Universiy of Ken a Canerbury Canerbury, Ken, CT2
More informationVoltair Version 2.5 Release Notes (January, 2018)
Volair Version 2.5 Release Noes (January, 2018) Inroducion 25-Seven s new Firmware Updae 2.5 for he Volair processor is par of our coninuing effors o improve Volair wih new feaures and capabiliies. For
More informationExperiments in Generalizing Geometry Theorems Stephen B. Gray
Experimens in Generalizing Geomery Theorems Sephen B. Gray. INTRODUCTION: THE PDN THEOREM Well-known advances in geomery have been made wih experimenal, or compueraided echniques. The irs was he proo o
More informationSimultaneous Precise Solutions to the Visibility Problem of Sculptured Models
Simulaneous Precise Soluions o he Visibiliy Problem of Sculpured Models Joon-Kyung Seong 1, Gershon Elber 2, and Elaine Cohen 1 1 Universiy of Uah, Sal Lake Ciy, UT84112, USA, seong@cs.uah.edu, cohen@cs.uah.edu
More informationDynamic Route Planning and Obstacle Avoidance Model for Unmanned Aerial Vehicles
Volume 116 No. 24 2017, 315-329 ISSN: 1311-8080 (prined version); ISSN: 1314-3395 (on-line version) url: hp://www.ijpam.eu ijpam.eu Dynamic Roue Planning and Obsacle Avoidance Model for Unmanned Aerial
More informationA GRAPHICS PROCESSING UNIT IMPLEMENTATION OF THE PARTICLE FILTER
A GRAPHICS PROCESSING UNIT IMPLEMENTATION OF THE PARTICLE FILTER ABSTRACT Modern graphics cards for compuers, and especially heir graphics processing unis (GPUs), are designed for fas rendering of graphics.
More informationCOSC 3213: Computer Networks I Chapter 6 Handout # 7
COSC 3213: Compuer Neworks I Chaper 6 Handou # 7 Insrucor: Dr. Marvin Mandelbaum Deparmen of Compuer Science York Universiy F05 Secion A Medium Access Conrol (MAC) Topics: 1. Muliple Access Communicaions:
More informationHandling uncertainty in semantic information retrieval process
Handling uncerainy in semanic informaion rerieval process Chkiwa Mounira 1, Jedidi Anis 1 and Faiez Gargouri 1 1 Mulimedia, InfoRmaion sysems and Advanced Compuing Laboraory Sfax Universiy, Tunisia m.chkiwa@gmail.com,
More informationEffects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Fall 2012)
Foundaions of ompuer Graphics (Fall 2012) S 184, Lecure 16: Ray Tracing hp://ins.eecs.berkeley.edu/~cs184 Effecs needed for Realism (Sof) Shadows Reflecions (Mirrors and Glossy) Transparency (Waer, Glass)
More informationProjection & Interaction
Projecion & Ineracion Algebra of projecion Canonical viewing volume rackball inerface ransform Hierarchies Preview of Assignmen #2 Lecure 8 Comp 236 Spring 25 Projecions Our lives are grealy simplified
More informationRao-Blackwellized Particle Filtering for Probing-Based 6-DOF Localization in Robotic Assembly
MITSUBISHI ELECTRIC RESEARCH LABORATORIES hp://www.merl.com Rao-Blackwellized Paricle Filering for Probing-Based 6-DOF Localizaion in Roboic Assembly Yuichi Taguchi, Tim Marks, Haruhisa Okuda TR1-8 June
More informationMotion Level-of-Detail: A Simplification Method on Crowd Scene
Moion Level-of-Deail: A Simplificaion Mehod on Crowd Scene Absrac Junghyun Ahn VR lab, EECS, KAIST ChocChoggi@vr.kais.ac.kr hp://vr.kais.ac.kr/~zhaoyue Recen echnological improvemen in characer animaion
More informationPROCESS AUTOMATION MANUAL TIMER RELAY KF**-DU-EX1.D ISO9001
PROCESS AUTOMATION MANUAL TIMER RELAY KF**-DU-EX1.D ISO9001 Wih regard o he supply of producs, he curren issue of he following documen is applicable: The general erms of delivery for producs and services
More informationVideo-Based Face Recognition Using Probabilistic Appearance Manifolds
Video-Based Face Recogniion Using Probabilisic Appearance Manifolds Kuang-Chih Lee Jeffrey Ho Ming-Hsuan Yang David Kriegman klee10@uiuc.edu jho@cs.ucsd.edu myang@honda-ri.com kriegman@cs.ucsd.edu Compuer
More informationA time-space consistency solution for hardware-in-the-loop simulation system
Inernaional Conference on Advanced Elecronic Science and Technology (AEST 206) A ime-space consisency soluion for hardware-in-he-loop simulaion sysem Zexin Jiang a Elecric Power Research Insiue of Guangdong
More informationRestorable Dynamic Quality of Service Routing
QOS ROUTING Resorable Dynamic Qualiy of Service Rouing Murali Kodialam and T. V. Lakshman, Lucen Technologies ABSTRACT The focus of qualiy-of-service rouing has been on he rouing of a single pah saisfying
More informationA METHOD OF MODELING DEFORMATION OF AN OBJECT EMPLOYING SURROUNDING VIDEO CAMERAS
A METHOD OF MODELING DEFORMATION OF AN OBJECT EMLOYING SURROUNDING IDEO CAMERAS Joo Kooi TAN, Seiji ISHIKAWA Deparmen of Mechanical and Conrol Engineering Kushu Insiue of Technolog, Japan ehelan@is.cnl.kuech.ac.jp,
More informationScattering at an Interface: Normal Incidence
Course Insrucor Dr. Raymond C. Rumpf Office: A 337 Phone: (915) 747 6958 Mail: rcrumpf@uep.edu 4347 Applied lecromagneics Topic 3f Scaering a an Inerface: Normal Incidence Scaering These Normal noes Incidence
More informationA Fast Non-Uniform Knots Placement Method for B-Spline Fitting
2015 IEEE Inernaional Conference on Advanced Inelligen Mecharonics (AIM) July 7-11, 2015. Busan, Korea A Fas Non-Uniform Knos Placemen Mehod for B-Spline Fiing T. Tjahjowidodo, VT. Dung, and ML. Han Absrac
More informationarxiv: v1 [cs.na] 11 May 2017
Cache-oblivious Marix Muliplicaion for Exac Facorisaion arxiv:175.487v1 [cs.na] 11 May 217 Faima K. Abu Salem 1 Compuer Science Deparmen, American Universiy of Beiru, P. O. Box 11-236, Riad El Solh, Beiru
More informationBEST DYNAMICS NAMICS CRM A COMPILATION OF TECH-TIPS TO HELP YOUR BUSINESS SUCCEED WITH DYNAMICS CRM
DYNAMICS CR A Publicaion by elogic s fines Microsof Dynamics CRM Expers { ICS CRM BEST OF 2014 A COMPILATION OF TECH-TIPS TO HELP YOUR BUSINESS SUCCEED WITH DYNAMICS CRM NAMICS CRM { DYNAMICS M INTRODUCTION
More informationIt is easier to visualize plotting the curves of cos x and e x separately: > plot({cos(x),exp(x)},x = -5*Pi..Pi,y = );
Mah 467 Homework Se : some soluions > wih(deools): wih(plos): Warning, he name changecoords has been redefined Problem :..7 Find he fixed poins, deermine heir sabiliy, for x( ) = cos x e x > plo(cos(x)
More informationTest - Accredited Configuration Engineer (ACE) Exam - PAN-OS 6.0 Version
Tes - Accredied Configuraion Engineer (ACE) Exam - PAN-OS 6.0 Version ACE Exam Quesion 1 of 50. Which of he following saemens is NOT abou Palo Alo Neworks firewalls? Sysem defauls may be resored by performing
More informationQuerying Moving Objects in SECONDO
Querying Moving Objecs in SECONDO Vicor Teixeira de Almeida, Ralf Harmu Güing, and Thomas Behr LG Daenbanksyseme für neue Anwendungen Fachbereich Informaik, Fernuniversiä Hagen D-58084 Hagen, Germany {vicor.almeida,
More informationMichiel Helder and Marielle C.T.A Geurts. Hoofdkantoor PTT Post / Dutch Postal Services Headquarters
SHORT TERM PREDICTIONS A MONITORING SYSTEM by Michiel Helder and Marielle C.T.A Geurs Hoofdkanoor PTT Pos / Duch Posal Services Headquarers Keywords macro ime series shor erm predicions ARIMA-models faciliy
More informationPartition-based document identifier assignment (PBDIA) algorithm. (long queries)
( ) Pariion-based documen idenifier assignmen (PBDIA) algorihm PBDIA (long queries) (parallel IR) :,,,, d-gap Compressing an invered file can grealy improve query performance of an informaion rerieval
More informationLocation. Electrical. Loads. 2-wire mains-rated. 0.5 mm² to 1.5 mm² Max. length 300 m (with 1.5 mm² cable). Example: Belden 8471
Produc Descripion Insallaion and User Guide Transiser Dimmer (454) The DIN rail mouned 454 is a 4channel ransisor dimmer. I can operae in one of wo modes; leading edge or railing edge. All 4 channels operae
More information