University of Groningen. Point-Based Visualization of Metaballs on a GPU Kooten, Kees van; Bergen, Gino van den; Telea, Alexandru

Size: px
Start display at page:

Download "University of Groningen. Point-Based Visualization of Metaballs on a GPU Kooten, Kees van; Bergen, Gino van den; Telea, Alexandru"

Transcription

1 Unversty of Gronngen Pont-Based Vsualzaton of Metaballs on a GPU Kooten, Kees van; Bergen, Gno van den; Telea, Alexandru Publshed n: EPRINTS-BOOK-TITLE IMPORTANT NOTE: You are advsed to consult the publsher's verson (publsher's PDF) f you wsh to cte from t. Please check the document verson below. Document Verson Publsher's PDF, also known as Verson of record Publcaton date: 2007 Lnk to publcaton n Unversty of Gronngen/UMCG research database Ctaton for publshed verson (APA): Kooten, K. V., Bergen, G. V. D., & Telea, A. (2007). Pont-Based Vsualzaton of Metaballs on a GPU. In EPRINTS-BOOK-TITLE Unversty of Gronngen, Johann Bernoull Insttute for Mathematcs and Computer Scence. Copyrght Other than for strctly personal use, t s not permtted to download or to forward/dstrbute the text or part of t wthout the consent of the author(s) and/or copyrght holder(s), unless the work s under an open content lcense (lke Creatve Commons). Take-down polcy If you beleve that ths document breaches copyrght please contact us provdng detals, and we wll remove access to the work mmedately and nvestgate your clam. Downloaded from the Unversty of Gronngen/UMCG research database (Pure): For techncal reasons the number of authors shown on ths cover page s lmted to 10 maxmum. Download date:

2 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU Kees van Kooten Playlogc Game Factory Gno van den Bergen Playlogc Game Factory Alex Telea Endhoven Unversty of Technology In ths chapter we present a technque for renderng metaballs on state-of-the-art graphcs processors at nteractve rates. Instead of employng the marchng cubes algorthm to generate a lst of polygons, our method samples the metaballs mplct surface by constranng free-movng partcles to ths surface. Our goal s to vsualze the metaballs as a smooth surface by renderng thousands of partcles, wth each partcle coverng a tny surface area. To successfully apply ths pont-based technque on a GPU, we solve three basc problems. Frst, we need to evaluate the metaballs mplct functon and ts gradent per rendered partcle n order to constran the partcles to the surface. For ths purpose, we devsed a novel data structure for quckly evaluatng the mplct functons n a fragment shader. Second, we need to spread the partcles evenly across the surface. We present a fast method for performng a nearest-neghbors search on each partcle that takes two renderng passes on a GPU. Ths method s used for computng the repulson forces accordng to the method of smoothed partcle hydrodynamcs. Thrd, to further accelerate partcle dsperson, we present a method for transferrng partcles from hgh-densty areas to low-densty areas on the surface. 7 Pont-Based Vsualzaton of Metaballs on a GPU 123

3 7.1 Metaballs, Smoothed Partcle Hydrodynamcs, and Surface Partcles The vsualzaton of deformable mplct surfaces s an nterestng topc, as t s amed at representng a whole range of nonrgd objects, rangng from soft bodes to water and gaseous phenomena. Metaballs, a wdely used type of mplct surface nvented by Blnn n the early 1980s (Blnn 1982), are often used for achevng flud-lke appearances. The concept of metaballs s closely related to the concept of smoothed partcle hydrodynamcs (SPH) (Müller et al. 2003), a method used for smulatng fluds as clouds of partcles. Both concepts employ smooth scalar functons that map ponts n space to a mass densty. These scalar functons, referred to as smoothng kernels, bascally represent pont masses that are smoothed out over a small volume of space, smlar to Gaussan blur n 2D mage processng. Furthermore, SPH-smulated fluds are vsualzed qute naturally as metaballs. Ths chapter does not focus on the dynamcs of the metaballs themselves. We are nterested only n the vsualzaton of clouds of metaballs n order to create a flud surface. Nevertheless, the proposed technques for vsualzng metaballs rely heavly on the SPH method. We assume that the metaballs, also referred to as flud atoms, are anmated on the CPU ether by free-form anmaton technques or by physcs-based smulaton. Furthermore, we assume that the dynamcs of the flud atoms are nteractvely determned, so preprocessng of the anmaton sequence of the flud such as n Vroljk et al s not possble n our case. The flud atoms n SPH are bascally a set of partcles, defnng the mplct metaball surface by ts spatal confguraton. To vsualze ths surface, we use a separate set of partcles called surface partcles, whch move around n such a way that they reman on the mplct surface defned by the flud atoms. These partcles can then be rendered as bllboards or orented quads, as an approxmaton of the flud surface A Comparson of Methods The use of surface partcles s not the most conventonal way to vsualze mplct surfaces. More common methodologes are to apply the marchng cubes algorthm (Lorenson and Clne 1987) or employ ray tracng (Parker et al. 1998). Marchng cubes dscretzes the 3D volume nto a grd of cells and calculates for every cell a set of prmtves based on the mplct-functon values of ts corners. These prmtves nterpolate the ntersecton of the mplct surface wth the grd cells. Ray tracng shoots rays from 124 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

4 the vewer at the surface to determne the depth and color of the surface at every pxel. Fgure 7-1 shows a comparson of the three methods. Pont-based methods (Wtkn and Heckbert 1994) have been appled much less frequently for vsualzng mplct surfaces. The most lkely reason for ths s the hgh computatonal cost of processng large numbers of partcles for vsualzaton. Other technques such as ray tracng are computatonally expensve as well but are often easer to mplement on tradtonal CPU-based hardware and therefore a more obvous choce for offlne renderng. Wth the massve growth of GPU processng power, mplct-surface vsualzaton seems lke a good canddate to be offloaded to graphcs hardware. Moreover, the parallel nature of today s GPUs allows for a much faster advancement n processng power over tme, gvng GPU-run methods an edge over CPU-run methods n the future. However, not every mplct-surface vsualzaton technque s easly modfed to work n a parallel envronment. For nstance, the marchng cubes algorthm has a complexty n the order of the entre volume of a metaball object; all grd cells have to be vsted to establsh a surface (Pascucc 2004). An teratve optmzaton that walks over the surface by vstng neghborng grd cells s not sutable for parallelzaton. Its complexty s therefore worse than the pont-based method, whch has to update all surface partcle postons; the number of partcles s lnearly related to the flud surface area. By ther very nature, partcle systems are deal for explotng temporal coherence. Once the postons of surface partcles on a flud surface are establshed at a partcular moment n tme, they have to be moved only a small amount to represent the flud surface a fracton of tme later. Marchng cubes and ray tracng cannot make use of ths characterstc. These technques dentfy the flud surface from scratch every tme agan. (a) (b) (c) Fgure 7-1. Methods of Vsualzng Implct Surfaces (a) Marchng cubes, (b) ray tracng, and (c) the pont-based method. 7.1 Metaballs, Smoothed Partcle Hydrodynamcs, and Surface Partcles 125

5 7.1.2 Pont-Based Surface Vsualzaton on a GPU We propose a method for the vsualzaton of metaballs, usng surface partcles. Our prmary goal s to cover as much of the flud surface as possble wth the surface partcles, n the least amount of tme. We do not focus on the actual renderng of the partcles tself; we wll only brefly treat blendng of partcles and shader effects that create a more convncng surface. Our method runs almost entrely on a GPU. By dong so, we avod a lot of work on the CPU, leavng t free to do other tasks. We stll need the CPU for storng the postons and veloctes of the flud atoms n a form that can be processed effcently by a fragment shader. All other vsualzaton tasks are offloaded to the GPU. Fgure 7-2 gves an overvew of the process. Fgure 7-2. The Flud Smulaton Loop Performed on the CPU Together wth the Flud Vsualzaton Loop Performed on the GPU In essence, the vsualzaton s a smulaton n ts own rght. 126 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

6 Our approach s based on an exstng method by Wtkn and Heckbert (1994). Here, an mplct surface s sampled by constranng partcles to the surface and spreadng them evenly across the surface. To successfully mplement ths concept on GPUs wth at least Shader Model 3.0 functonalty, we need to solve three problems: Frst, we need to effcently evaluate the mplct functon and ts gradent n order to constran the partcles on the flud surface. To solve ths problem, we choose a data structure for quckly evaluatng the mplct functon n the fragment shader. Ths data structure also optonally mnmzes the GPU workload n GPU-bound scenaros. We descrbe ths soluton n Secton 7.2. Second, we need to compute the repulson forces between the partcles n order to obtan a unform dstrbuton of surface partcles. A unform dstrbuton of partcles s of vtal mportance because on the one hand, the amount of overlap between partcles should be mnmzed n order to mprove the speed of renderng. On the other hand, to acheve a hgh vsual qualty, the partcles should cover the complete surface and should not allow for holes or cracks. We solve ths problem by computng repulson forces actng on the surface partcles accordng to the SPH method. The dffculty n performng SPH s queryng the partcle set for nearest neghbors. We provde a novel algorthm for determnng the nearest neghbors of a partcle n the fragment shader. We present the computaton of repulson forces n Secton 7.3. Fnally, we add a second dstrbuton algorthm, because the dstrbuton due to the repulson forces s rather slow, and t fals to dstrbute partcles to dsconnected regons. Ths global dsperson algorthm accelerates the dstrbuton process and s explaned n Secton 7.4. In essence, the behavor of the partcles can be defned as a flud smulaton of partcles movng across an mplct surface. GPUs have been successfully appled for smlar physcs-based smulatons of large numbers of partcles (Latta 2004). However, to our knowledge, GPU-based partcle systems n whch partcles nfluence each other have not yet been publshed. 7.2 Constranng Partcles To constran partcles to an mplct surface generated by flud atoms, we wll restrct the velocty of all partcles such that they wll only move along wth the change of the surface. For the moment, they wll be free to move tangentally to the surface, as long as they do not move away from t. Before defnng the velocty equaton for surface partcles, we wll start wth the defnton of the functon yeldng our mplct surface. 7.2 Constranng Partcles 127

7 7.2.1 Defnng the Implct Surface For all of the followng sectons, we defne a set of flud atoms {j: 1 j m} the metaballs smulated on the CPU wth postons a j, and a set of surface partcles {: 1 n} wth postons p. The flud atoms defne a flud surface, whch we are gong to vsualze usng the flud partcles. The surface s computed as an sosurface of a flud densty functon F ( xq, ). The functon depends on the evaluaton poston x and a state vector q representng the concatenaton of all flud atom postons. Followng the SPH model of Müller et al. 2003, the flud densty s gven by usng smoothng kernels W a (r, h a ) to dstrbute densty around every atom poston by a scalng factor s a. The smoothng kernel takes a vector r to ts center, and a radus h a n whch t has a nonzero contrbuton to the densty feld. Equaton 1 s the sum of these smoothng kernels wth ther centers placed at dfferent postons. The actual smoothng kernel functon can take dfferent forms; the followng s the one we chose, whch s taken from Müller et al and llustrated n Fgure 7-3. W ( r, h)= poly 6 9 m F( x, q)= s W x a, h, 2 2 ( ) 3 < 315 h r 64πh 0 ( ) a a j a j= 1 f r h, wth h = 1. otherwse (1) W(r,h) r Fgure 7-3. The Smoothng Kernel The Velocty Constrant Equaton To vsualze the flud sosurface descrbed n Secton 7.2.1, we wll use the pont-based method of Wtkn and Heckbert Ths method proposes both an equaton for movng partcles along wth the surface and an equaton for movng the surface along 128 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

8 wth the partcles. We requre only the former, shown here as Equaton 2. Ths equaton yelds the constraned velocty of a surface partcle; the velocty wll always be tangent to the flud surface as the surface changes. p x q F D + F q + φf x = D F x x, (2) F F where ṗ s the constraned velocty of partcle obtaned by applcaton of the equaton; D s a desred velocty that we may choose; q s the concatenaton of all flud atom veloctes; F s the densty feld F(x, q) evaluated at partcle poston p ; and F x, q F are the dervatves of the densty feld F(x, q) wth respect to x and q, respectvely, evaluated at partcle poston p as well. We choose the desred velocty D n such a way that partcles stay at a fxed poston on the flud surface as much as possble. The drecton and sze of changes n the flud surface at a certan poston x depend on both the velocty of the flud atoms nfluencng the densty feld at x, as well as the gradent magntude of ther smoothng kernel at x. Ths results n the defnton of D, shown n Equaton 3. We denote ths component of D by D env, because we wll add another component to D n Secton 7.3. D env m j = = 0 m j= 0 w a j w j j, (3) wth F aj equals w j aj F f p a j < h =. 0 otherwse evaluated at partcle poston p, whch equals W F ( x, q) a j ( x a, h ) x a j a 7.2 Constranng Partcles 129

9 evaluated at p (omttng s a ). Ths s smply the negatve gradent of a sngle smoothng env kernel centered at a j, evaluated at p. Summarzng, D s a weghted sum of atom veloctes ȧ wth ther weght determned by the length of F aj j,. To put the precedng result n perspectve: In our smulaton of partcle movement, the velocty of the partcles wll be defned by Equaton 2. The equaton depends on the mplct functon wth ts gradents at partcle postons and a desred velocty D, whch env n turn conssts of a number of components, D and D rep. These components are nfluenced by flud atom veloctes and surface partcle repulson forces, respectvely. The frst component s defned by Equaton 3; the second component s dscussed n Secton 7.3. The mplementaton of the algorthm appears n Lstng 7-1. Lstng 7-1. Implementaton Part 1: Pseudocode of a Fragment Program Smulatng the Velocty of a Surface Partcle vod manvel() { //Perform two lookups to fnd the partcle poston and velocty //n the correspondng textures. poston = f3tex2d(pos_texture, partcle_coord); velocty = f3tex2d(vel_texture, partcle_coord); //Compute the terms of Equatons 2 and 3. for each flud atom //See Lstng 7-2. { flud_atom_pos, flud_atom_vel; //See Lstng 7-2 for data lookup. r = poston - flud_atom_pos; f r wthn atomradus { //Compute densty F. densty += NORM_SMOOTHING_NORM * (atomradus - r * r )^3; //The gradent Fx gradent_term = 6 * NORM_SMOOTHING_NORM * r * (atomradus r * r )^2; gradent -= gradent_term; //The dot product of atom velocty wth //the gradent dot(fq,q ) atomvelgradent += dot(gradent_term, flud_atom_vel); //The envronment velocty wj*aj vel_env_weght += gradent_term ; vel_envronment += vel_env_weght * flud_atom_vel; } } 130 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

10 Lstng 7-1 (contnued). Implementaton Part 1 //Compute fnal envronment velocty. vel_envronment /= vel_env_weght; //Compute repulson velocty (ncorporates velocty). //See Lstng 7-4 for queryng the repulson force hash. //Compute desred velocty. vel_desred = vel_envronment + vel_repulson; //Compute the velocty constrant from Equaton 2. terms = - dot(gradent, vel_desred) //dot(fx,d) - atomvelgradent //dot(fq,q ) - 0.5f * densty; //ph * F newvelocty = terms / dot(gradent, gradent) * gradent; } //Output the velocty, gradent, and densty Computng the Densty Feld on the GPU Now that we have establshed a velocty constrant on partcles wth Equaton 2, we wll dscuss a way to calculate ths equaton effcently on the GPU. Frst, note that the functon can be reconstructed usng only flud atom postons and flud atom veloctes the former apples to terms F, F x, F q, and D env ; the latter to q and D env. Therefore, only atom postons and veloctes have to be sent from the SPH smulaton on the CPU to the GPU. Second, nstead of evaluatng every flud atom poston or velocty to compute Equaton 1 and ts dervatves translatng nto expensve texture lookups on the GPU we am to explot the fact that atoms contrbute nothng to the densty feld outsde ther nfluence radus h a. For fndng all neghborng atoms, we choose to use the spatal hash data structure descrbed n Teschner et al An advantage of a spatal hash over tree-based spatal data structures s the constant access tme when queryng the structure. A tree traversal requres vstng nodes possbly not adjacent n vdeo memory, whch would make the procedure unnecessarly expensve. In the followng, we present two enhancements of the hash structure of Teschner et al n order to make t sutable for applcaton on a GPU. We modfy the hash functon for use wth floatng-pont arthmetc, and we adopt a dfferent way of constructng and queryng the hash. 7.2 Constranng Partcles 131

11 7.2.4 Choosng the Hash Functon Frst, the spatal hash structure we use s dfferent n the choce of the hash functon. Because we have desgned ths technque to work on Shader Model 3.0 hardware, we cannot rely on real nteger arthmetc, as n Shader Model 4.0. As a result, we are restrcted to usng the 23 bts of the floatng-pont mantssa. Therefore, we use the hash functon from Equaton 4. wth ( ) H( x, y, z)= pb ( x, y, z)+ p B ( x, y, z)+ p B ( x, y, z) mod hs, (4) 1 x 2 y 3 z B( x, y, z)= ( ( x + c) s, ( y + c) s, ( z + c) s ), where the three-vector of ntegers B(x, y, z) s the dscretzaton of the pont (x, y, z) nto grd cells, wth B x, B y, and B z ts x, y, and z components, and s the grd cell sze. We have added the constant term c to elmnate symmetry around the orgn. The hash functon H(x, y, z) maps three-component vectors to an nteger representng the ndex nto an array of hash buckets, wth hs beng the hash sze and p 1, p 2, and p 3 large prmes. We choose prmes 11,113, 12,979, and 13,513 to make sure that the world sze could stll be reasonably large wthout exceedng the 23 bts avalable whle calculatng the hash functon Constructng and Queryng the Hash Before hghlghtng the second dfference of our hash method, an overvew of constructng and queryng the hash s n order. We use the spatal hash to carry both the flud atom postons and the veloctes, whch have to be sent from the flud smulaton on the CPU to the flud vsualzaton on the GPU. We therefore perform ts constructon on the CPU, whle queryng happens on the GPU. The mplementaton of the spatal hash conssts of two components: a hash ndex table and atom attrbute pools. The hash ndex table of sze hs ndexes the atom attrbute pools storng the flud atoms postons and veloctes. Every entry e n the hash ndex table corresponds to hash bucket e, and the nformaton n the hash ndex table ponts to the bucket s frst attrbute element n the atom attrbute pools, together wth the number of elements present n that bucket. Because the spatal hash s used to send atom postons and veloctes from the CPU to the GPU, we perform constructon on the CPU, whle queryng happens on the GPU. Fgure 7-4 demonstrates the procedure of queryng ths data structure on the GPU. 132 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

12 Hash Index Table Atom Attrbute Pool H(x,y,z) (s,t),n (x,y,z) Fgure 7-4. Queryng the Hash Table When the GPU wants to query the hash table on the bass of a surface partcle poston (x, y, z), t calculates a hash value H(x, y, z) used as an ndex nto the hash ndex table. Because for every bucket the data n the atom attrbute pool forms a contguous block, t can then be read by the GPU wth the obtaned poston (s, t) and number of elements n returned by the hash ndex table. We wll now descrbe the second dfference compared to Teschner et al. 2003, relatng to the method of hash constructon. The tradtonal method of constructng a spatal hash adds every flud atom to the hash table once, namely to the hash bucket to whch ts poston maps. When the resultng structure s used to fnd neghbors, the tradtonal method would perform multple queres per flud atom: one for every grd cell ntersectng a sphere around ts poston wth the radus of the flud atoms. Ths yelds all flud atoms nfluencng the densty feld at ts poston. However, we use an nverted hash method: the flud atom s added to the hash multple tmes, for every grd cell ntersectng ts nfluence area. Then, the GPU has to query a hash bucket only once to fnd all atoms ntersectng or encapsulatng the grd cell. The methods are llustrated n Fgure 7-5. Lstng 7-2 contans the pseudocode. Performance-wse, the nverted hash method has the beneft of requrng only a sngle query on the GPU, ndependent of the chosen grd cell sze. When decreasng the hash cell sze, we can accomplsh a better approxmaton of a grd cell wth respect to the flud atoms that nfluence the postons nsde t. These two aspects combned mnmze the number of data lookups a GPU has to perform n texture memory. However, constructon tme on the CPU ncreases wth smaller grd cell szes, because the more grd cells ntersect a flud atom s nfluence radus, the hgher the number of addtons of a sngle atom to the hash. The tradtonal hash method works the other way around: a decreasng grd cell sze mples more queres for the GPU, whle an atom wll always be added to the hash only once by the CPU. Hardware confguratons bottlenecked by the GPU should therefore opt for the nverted hash method, whle confguratons bottlenecked by the CPU should opt for the tradtonal hash method. 7.2 Constranng Partcles 133

13 Fgure 7-5. Comparng Hash Methods Left: The tradtonal hash method. Rght: The nverted hash method. The whte dot represents a flud atom, the black dot a surface partcle. The red squares and green rounded squares encapsulate the dashed grd cells that are vsted for addton of the flud atom and the surface partcle s hash query, respectvely. The area of these squares s determned by the sze of the crcular nfluence area around ether a surface partcle or a flud atom, dependng on the hash method. For example, the large square n the tradtonal method shows multple addtons of a flud atom, whle for the nverted method, t shows multple queres of the surface partcle. Lstng 7-2. Implementaton Part 2: Pseudocode for Queryng the Hash float hash(float3 pont) { float3 dscrete = (pont ) * INV_CELL_SIZE; dscrete = floor(dscrete) * float3( f, f, f); float result = abs(dscrete.x + dscrete.y + dscrete.z); return fmod(result, NUM_BUCKETS); } vod manvel(... const unform float hashndex_dm, //Wdth of texrect const unform float hashdata_dm, const unform samplerrect hsh_dx_tex : TEXUNIT4, const unform samplerrect hsh_dta_tex_pos : TEXUNIT5, const unform samplerrect hsh_dta_tex_vel : TEXUNIT6,... ) { //Other parts of ths program dscussed n Secton Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

14 Lstng 7-2 (contnued). Implementaton Part 2 //Compute densty F, ts gradent Fx, and dot(fq,q ). //Calculate hashvalue; atomrange stores length and 1D ndex //nto data table. float hashvalue = hash(poston); float2 hsh_dx_coords = float2(fmod(hashvalue, hashndex_dm), hashvalue / hashndex_dm); float4 atomrange = texrect(hsh_dx_texture, hsh_dx_coords); float2 hashdata = float2(fmod(atomrange.y, hashdata_dm), atomrange.y / hashdata_dm); //For each flud atom for(nt = 0; < atomrange.x; ++) { //Get the flud atom poston and velocty from the hash. float3 flud_atom_pos = f3texrect(hsh_dta_texture_pos, hashdata); float3 flud_atom_vel = f3texrect(hsh_dta_texture_vel, hashdata); } } //See Lstng 7-1 for the contents of the loop. 7.3 Local Partcle Repulson On top of constranng partcles to the flud surface, we requre them to cover the entre surface area. To obtan a unform dstrbuton of partcles over the flud surface, we adopt the concept of repulson forces proposed n Wtkn and Heckbert The paper defnes repulson forces actng on two ponts n space by ther dstance; the larger the dstance, the smaller the repulson force. Partcles on the flud surface have to react to these repulson forces. Thus they are not free to move to every poston on the surface anymore The Repulson Force Equaton We alter the repulson functon from Wtkn and Heckbert 1994 slghtly, for we would lke partcles to have a bounded regon n whch they nfluence other partcles. To ths end, we employ the smoothng kernels from SPH (Müller et al. 2003) once agan, whch have been used smlarly for the flud densty feld of Equaton 1. Our new functon s defned by Equaton 5 and yelds a densty feld that s the bass for the generaton of repulson forces. 7.3 Local Partcle Repulson 135

15 where W p s the smoothng kernel chosen for surface partcles, h p s the radus of the smoothng kernel n whch t has a nonzero contrbuton to the densty feld, and s p s a scalng factor for surface partcles. Our choce for W p s agan taken from Müller et al and presented n the equaton below, and n Fgure 7-6. We can use ths smoothng kernel to calculate both denstes and repulson forces, because t has a nonnegatve gradent as well. W spky The repulson force feld. at a partcle poston p s the negatve gradent of the densty rep f ( p )= σ ( p )= s W p p, h. ( r, h)= f rep 15 πh 6 n σ()= x s W x p, h, ( h r) 0 f r < h h = 1 otherwse, wth. p j p j= 1 To combne the repulson forces wth our velocty constrant equaton, the repulson force s ntegrated over tme to form a desred repulson velocty D rep. We can use smple Euler ntegraton: 3 ( ) p p p = 1 n ( ) (5) (6) where Δt = t new t old. rep D ( t ) = D ( t )+ f Δ t, (7) new rep old rep W(r,h) Kernel Kernel gradent toward center r Fgure 7-6. The Smoothng Kernel Used for Surface Partcles The thck lne shows the kernel, and the thn lne shows ts gradent n the drecton toward the center. 136 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

16 The fnal velocty D s obtaned by addng and D rep : The total desred velocty D s calculated and used n Equaton 2 every tme the surface partcle velocty s constraned on the GPU Nearest Neghbors on a GPU D = D + D. (8) env Now that we have defned the repulson forces actng on surface partcles wth Equaton 6, we are once agan facng the challenge of calculatng them effcently on the GPU. Just as we dd wth flud atoms nfluencng a densty feld, we wll explot the fact that a partcle nfluences the densty feld n only a small neghborhood around t. A global data structure wll not be a practcal soluton n ths case; constructon would have to take place on the GPU, not on the CPU. The constructon of such a structure would rely on sortng or smlar knds of nterdependent output, whch s detrmental to the executon tme of the vsualzaton. For example, the constructon of a data structure lke the spatal hash n Secton would consst of more than one pass on the GPU, because t requres varable-length hash buckets. Our way around the lmtaton of havng to construct a data structure s to use a render target on the vdeo card tself. We use t to store floatng-pont data elements, wth constructon beng performed by the transformaton ppelne. By renderng certan prmtves at specfc postons whle usng shader programs, nformaton from the render target can be quered and used durng the calculaton of repulson forces. The algorthm works n two steps: Frst Pass 1. Set up a transformaton matrx M representng an orthogonal projecton, wth a vewport encompassng every surface partcle, and a float4 render target. 2. Render surface partcles to the sngle pxel to whch ther center maps. 3. Store ther world-space coordnate at the pxel n the frame buffer. 4. Save the render target as texture Image 1, as shown n Fgure 7-7a. Second Pass 1. Enable addtve blendng, and keep a float4 render target Render a quad around every surface partcle encapsulatng the projecton of ther nfluence area n mage space, as shown n Fgure 7-7b. D env rep 1. On many GPUs, 32-bt floatng-pont blendng s not supported, so blendng wll be performed wth 16-bt floatng-pont numbers. However, the GeForce 8800 can do ether. 7.3 Local Partcle Repulson 137

17 3. Execute the fragment program, whch compares the world-space poston of the partcle stored at the center of the quad wth the world-space poston of a possble neghbor partcle stored n Image 1 at the pxel of the processed fragment, and then outputs a repulson force. See Fgure 7-7c. The repulson force s calculated accordng to Equaton Save the render target as texture Image 2, as shown n Fgure 7-7d. When two partcles overlap durng the frst step, the frontmost partcle s stored and the other one dscarded. By choosng a suffcent vewport resoluton, we can keep ths (a) (b) (c) (d) Fgure 7-7. The Repulson Algorthm (a) The partcles (n black) are mapped to the screen pxels (the dashed lnes), and ther world postons are stored. (b) A quad s drawn around a partcle; for every pxel wthn a certan radus (the dsk), a poston s read and a repulson force s calculated. (c) The collecton of forces after all quads are rendered. (d) The forces that reman after addtve blendng. 138 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

18 loss of nformaton to a mnmum. However, losng a partcle poston does not harm our vsualzaton; because the top partcle moves away from the crowded area due to repulson forces, the bottom partcle wll resurface. The second step works because a partcle s nfluence area s a sphere. Ths sphere becomes a dsk whose boundng box can be represented by a quad. Ths quad then contans all projected partcle postons wthn the sphere, and that s what we draw to perform the nearest-neghbor search on the data stored n the frst step. Queryng the generated mage of repulson forces s performed wth the same transformaton matrx M as the one actve durng executon of the two-pass repulson algorthm. To query the desred repulson force for a certan partcle, transform ts world-space poston by usng the transformaton matrx to obtan a pxel locaton, and read the mage contanng the repulson forces at the obtaned pxel. We execute ths algorthm, whch results n an mage of repulson forces, separately from the partcle smulaton loop, as demonstrated n Lstng 7-3. Its results wll be quered before we determne a partcle s velocty. Lstng 7-3. Fragment Shader of Pass 2 of the Nearest-Neghbor Algorthm vod pass2man( n float4 screenpos : WPOS, n float4 partcle_pos, out float4 color : COLOR0, const unform float rep_radus, const unform samplerrect neghbour_texture : TEXUNIT0 ) { //Read fragment poston. float4 neghbour_pos = texrect(neghbour_texture, screenpos.xy); //Calculate repulson force. float3 posdff = neghbour_pos.xyz - IN.partcle_pos.xyz; float2 dstsq_repsq = float2(dot(posdff, posdff), rep_radus * rep_radus); f(dstsq_repsq.x < 1.0e-3 dstsq_repsq.x > dstsq_repsq.y) dscard; float dst = sqrt(dstsq_repsq.x); float e1 = rep_radus - dst; 7.3 Local Partcle Repulson 139

19 Lstng 7-3 (contnued). Fragment Shader of Pass 2 of the Nearest-Neghbor Algorthm } float resultdens = e1*e1/dstsq_repsq.y; float3 resultforce = 5.0 * resultdens * posdff / dst; //Output the repulson force. color = float4(resultforce, resultdens); 7.4 Global Partcle Dsperson To accelerate the partcle dstrbuton process descrbed n Secton 7.3, we ntroduce a partcle dsperson method. Ths method acts mmedately on the poston of the surface partcles smulated by the GPU. We change the poston of partcles based on ther partcle densty defned n Equaton 5 whch can be calculated wth the same nearest-neghbors algorthm used for calculaton of repulson forces. Partcles from hghdensty areas are removed and placed at postons n areas wth low densty. To ths end, we compare the denstes of a base partcle and a comparson partcle to a certan threshold T. When the densty of the comparson partcle s lowest and the densty dfference s above the threshold, the poston of the base partcle wll change n order to ncrease densty at the comparson poston and decrease t at the base poston. The base partcle wll be moved to a random locaton on the edge of the nfluence area of the comparson partcle, as shown n Fgure 7-8, n order to mnmze fluctuatons n densty at the poston of the comparson partcle. Such fluctuatons would brng about even more partcle relocatons, whch could make the flud surface restless. It s nfeasble to have every partcle search the whole pool of surface partcles for places of low densty on the flud surface at every teraton of the surface partcle smulaton. Therefore, for each partcle, the GPU randomly selects a comparson partcle n the pool every t seconds, by usng a texture wth random values generated on the CPU. The value of t can be chosen arbtrarly. Here s the algorthm: For each surface partcle: 1. Determne f t s tme for the partcle to swtch poston. 2. If so, choose the comparson poston and compare denstes at the two postons. 3. If the densty at ths partcle s hgher than the densty at the comparson partcle, wth a dfference larger than threshold T, change the poston to a random locaton at the comparson partcle s nfluence border. 140 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

20 Fgure 7-8. The Dsperson of Partcles The black dots are surface partcles, and the crcles represent ther nfluence areas. Dashed crcles are neghborng partcles nfluence areas. On the left s surface partcle x, wth ts densty hgher than surface partcle y on the rght. Therefore x mght move to the edge of y s nfluence area. To determne the threshold T, we use a heurstc, mnmzng the dfference n denstes between the two orgnal partcle postons. Ths heurstc takes as nput the partcle postons p and q, wth ther denstes before any poston change σ p0 and σ q0. It then determnes f a poston change of the partcle orgnally at p ncreases the densty dfference between the nput postons. The denstes at the (fxed) postons p and q after the partcle poston change are σ p1 and σ q1, respectvely. Equaton 9 s used by the heurstc to determne f there s a decrease n densty dfference after a poston change, thereby yeldng the decson for a change of poston of the partcle orgnally located at p. ( σ σ ) < ( σ σ ). (9) 2 2 p1 q1 p0 q0 Because the orgnal partcle would move to the edge of nfluence of the comparson partcle as you can see n Fgure 7-8 the followng equatons hold n the case of a poston change. σ σ = σ k p1 p0 = σ, q1 q0 (10) 7.4 Global Partcle Dsperson 141

21 where k s the value at the center of the partcle smoothng kernel, s p W p (0, h p ). Usng Equaton 9, substtutng Equaton 10, and solvng for the ntal densty dfference, we obtan Equaton 11: 1 σ σ k < ( σ σ ) = ( σ σ )> k. (11) p0 q0 p0 q0 p0 q0 Equaton 11 gves us the soluton for our threshold T: 1 T 2 spwp 0, hp. (12) = ( ) Stll, t depends on the applcaton of the dsperson algorthm f ths threshold s enough to keep the flud surface steady. Especally n cases where all partcles can decde at the same tme to change ther postons, a hgher threshold mght be desred to keep the partcles from changng too much. The effect of our partcle dstrbuton methods s vsble n Fgure 7-9. Both sdes of the fgure show a flud smulaton based on SPH, but n the sequence on the left, only partcle repulson s enabled, and on the rght, both repulson and dsperson are enabled. The partcles sample a cylndrcal flud surface durng a three-second perod, startng from a bad ntal dstrbuton. Fgure 7-9 shows that our partcle dsperson mechansm mproves upon the standard repulson behavor consderably. We can even adapt the partcle sze based on the partcle densty, to fll gaps even faster. (You ll see proof of ths later, n Fgure 7-11.) No matter how optmally the partcle dstrbuton algorthm performs, t can be aded by selectng reasonable startng locatons for the partcles. Because we do not know where the surface wll be located for an arbtrary collecton of flud atoms, we try to guess the surface by postonng flud partcles on a sphere around every flud atom. If we use enough surface partcles, the ntal dstrbuton wll make the surface look lke a blobby object already. We assgn an equal amount of surface partcles to every flud atom at the start of our smulaton, and dstrbute them by usng polar coordnates (r, θ) for every partcle, varyng θ and the z coordnate of r lnearly over the number of surface partcles assgned to a sngle atom. Because partcle dsperson acts on the postons of partcles, we should query partcle denstes and change postons based on those denstes durng the poston calculaton pass n Fgure 7-2. Lstng 7-4 demonstrates a query on the repulson force texture to obtan the surface partcle densty at a certan poston Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

22 Fgure 7-9. The Dstrbuton Methods at Work: Surface Partcles Spread over a Group of Flud Atoms n the Form of a Cylnder Every second a snapshot s taken. The left seres uses only the repulson mechansm, whle the seres on the rght also uses dstrbuton. Apart from the dstrbuton speed, the dsperson method also has the advantage that surface partcles do not move around volently due to extreme partcle repulson forces. 7.4 Global Partcle Dsperson 143

23 Lstng 7-4. Excerpt from a Fragment Program Smulatng the Poston of a Surface Partcle vod manpos(... n float4 partcle : TEXCOORD0, out float4 color : COLOR0, const unform float tme_step, const unform samplerrect rep_texture : TEXUNIT5, const unform float4x4 ModelVewProj) { //ModelVewProj s the same as durng repulson calculaton //n Lstng 7-3. } //oldpos and velocty passed through va textures float3 newposton; float normalntegraton = 1.0; //Perform the query. float4 transformedpos = mul(modelvewproj, oldpos); transformedpos /= transformedpos.w; transformedpos.xy = transformedpos.xy * ; transformedpos.xy = float2(transformedpos.x * screen_wdth, transformedpos.y * screen_heght); float4 rep_densty1 = texrect(rep_texture, transformedpos.xy); //1. If t s tme to compare partcles (determne va a texture or // unform parameter) //2. Make a query to obtan rep_densty2 for another // partcle (determne randomly va texture). //3. If the densty dfference s greater than our threshold, // set newposton to edge of comparson partcle boundary // (normalntegraton becomes false). f(normalntegraton) newposton = oldpos + velocty*tme_step; //Output the newposton. color.xyz = newposton; color.a = 1.0; 144 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

24 7.5 Performance The performance of our fnal applcaton s nfluenced by many dfferent factors. Fgure 7-2 shows three stages that could create a bottleneck on the GPU: the partcle repulson stage, the constraned partcle velocty calculaton, and the partcle dsperson algorthm. We have taken the scenaro of water n a glass from Fgure 7-10 n order to analyze the performance of the three dfferent parts. We found that most of the calculaton tme of our applcaton was spent n two areas. The frst of these bottlenecks s the calculaton of constraned partcle veloctes. To constran partcle veloctes, each partcle has to terate over a hash structure of flud atom postons, performng multple texture lookups and dstance calculatons at each teraton. To maxmze performance, we have mnmzed the number of hash collsons by ncreasng the number of hash buckets. We have also chosen smaller grd cell szes to decrease the number of redundant neghbors vsted by a surface partcle; the grd cell sze s a thrd to a ffth of a flud atom s dameter. The second bottleneck s the calculaton of the repulson forces. The performance of the algorthm s manly determned by the query sze around a surface partcle. A smaller sze wll result n less overdraw and faster performance. However, choosng a small query sze may decrease partcle repulson too much. The deal sze wll therefore depend on the requrements of the applcaton. To gve a rough mpresson of the actual number of frames per second our algorthm can obtan, we have run our applcaton a number of tmes on a GeForce 6800, choosng dfferent query szes for 16,384 surface partcles. The query szes are vsualzed by quads, as shown n Fgure Fgure Surface Partcle Query Area Vsualzed for a Glass of Water, Usng 16,384 Partcles Blendng s used to show the amount of overdraw, wth a whte pxel correspondng to 30 or more overlappng partcles. The brght quads at the lower rght corner represent the quered area for a sngle partcle. The performance ncreases from 40 frames/sec n the leftmost scenaro to 65 frames/sec n the mddle, and 80 frames/sec on the rght. 7.5 Performance 145

25 7.6 Renderng To demonstrate the level of realsm achevable wth our vsualzaton method, Fgure 7-10 shows examples of a flud surface rendered wth lghtng, blendng, surface normal curvature, and reflecton and refracton. To render a smooth transparent surface, we have used a blendng method that keeps only the frontmost partcles and dscards the partcles behnd others. The challenge les n separatng the partcles on another part of the surface that should be dscarded, from overlappng partcles on the same part of the surface that should be kept for blendng. To solve the problem of determnng the frontmost partcles, we perform a depth pass to render the partcles as orented quads, and calculate the projectve-space poston of the quad at every generated fragment. We store the mnmum-depth fragment at every pxel n a depth texture. When renderng the flud surface as orented quads, we query the depth buffer only at the partcle s poston: the center of the quad. Usng an offset equal to the flud atom s radus, we determne f a partcle can be consdered frontmost or not. We render those partcles that pass the test. Ths way, we allow multple overlappng quads to be rendered at a sngle pxel. We perform blendng by frst assgnng an alpha value to every poston on a quad, based on the dstance to the center of the quad. We accumulate these alpha values n an alpha pass before the actual renderng takes place. Durng renderng, we can determne the contrbuton of a quad to the overall pxel color based on the alpha value of the fragment and the accumulated alpha value stored durng the alpha pass. Fnally, we use a normal perturbaton technque to ncrease detal and mprove blendng of the flud surface. Whle renderng the surface as orented quads, we perturb the normal at every fragment slghtly. The normal perturbaton s based on the curvature of the flud densty feld at the partcle poston used for renderng the quad. The curvature of the densty feld can be calculated when we calculate the gradent and densty feld durng the velocty constrant pass. Usng the gradent, we can obtan a vector the sze of our rendered quad, tangent to the flud surface. Ths vector s multpled by the curvature, a 3 3 matrx, to obtan the change n normal over the tangent vector. We only store the change n normal projected onto the tangent vector usng a dot product, resultng n a scalar. Ths s the approxmaton of the dvergence at the partcle poston (whle n realty t consttutes only a part of the dvergence). Ths scalar value s stored, and durng surface renderng t s used together wth the reconstructed tangent vector to form a perturbaton vector for our quad s normal. 146 Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

26 7.7 Concluson We have presented a soluton for effcently and effectvely mplementng the pontbased mplct surface vsualzaton method of Wtkn and Heckbert 1994 on the GPU, to render metaballs whle mantanng nteractve frame rates. Our soluton combnes three components: calculatng the constrant veloctes, repulson forces, and partcle denstes for achevng near-unform partcle dstrbutons. The latter two components nvolve a novel algorthm for a GPU partcle system n whch partcles nfluence each other. The last component of our soluton also enhances the orgnal method by acceleratng the dstrbuton of partcles on the flud surface and enablng dstrbuton among dsconnected surfaces n order to prevent gaps. Our soluton has a clear performance advantage compared to marchng cubes and ray-tracng methods, as ts complexty depends on the flud surface area, whereas the other two methods have a complexty dependng on the flud volume. Stll, not all problems have been solved by the presented method. Future adaptatons of the algorthm could nvolve adaptve partcle szes, n order to fll temporarly orgnatng gaps n the flud surface more quckly. Also, newly created dsconnected surface components do not always have partcles on ther surface, whch means they are not lkely to receve any as long as they reman dsconnected. The bggest problem, however, les n dealng wth small parts of flud that are located far apart. Because the repulson algorthm requres a clp space encapsulatng every partcle, the lmted resoluton of the vewport wll lkely cause multple partcles to map to the same pxel, mplyng data loss. A fnal research drecton nvolves renderng the surface partcles to acheve varous vsual effects, of whch Fgure 7-11 s an example. Fgure Per-Pxel Lt, Textured, and Blended Flud Surfaces Left: A blobby object n a zero-gravty envronment. Rght: Water n a glass. 7.7 Concluson 147

27 7.8 References Blnn, James F A Generalzaton of Algebrac Surface Drawng. In ACM Transactons on Graphcs 1(3), pp Latta, Lutz Buldng a Mllon Partcle System. Presentaton at Game Developers Conference Avalable onlne at Lorensen, Wllam E., and Harvey E. Clne Marchng Cubes: A Hgh Resoluton 3D Surface Constructon Algorthm. In Proceedngs of the 14th Annual Conference on Computer Graphcs and Interactve Technques, pp Müller, Matthas, Davd Charypar, and Markus Gross Partcle-Based Flud Smulaton for Interactve Applcatons. In Proceedngs of the 2003 ACM SIGGRAPH/Eurographcs Symposum on Computer Anmaton, pp Parker, Steven, Peter Shrley, Yarden Lvnat, Charles Hansen, and Peter-Pke Sloan Interactve Ray Tracng for Isosurface Renderng. In Proceedngs of the Conference on Vsualzaton 98, pp Pascucc, V Isosurface Computaton Made Smple: Hardware Acceleraton, Adaptve Refnement and Tetrahedral Strppng. In Proceedngs of Jont EUROGRAPHICS3 IEEE TCVG Symposum on Vsualzaton Teschner, M., B. Hedelberger, M. Mueller, D. Pomeranets, and M. Gross Optmzed Spatal Hashng for Collson Detecton of Deformable Objects. In Proceedngs of Vson, Modelng, Vsualzaton Vroljk, Benjamn, Charl P. Botha, and Frts H. Post Fast Tme-Dependent Isosurface Extracton and Renderng. In Proceedngs of the 20th Sprng Conference on Computer Graphcs, pp Wtkn, Andrew P., and Paul S. Heckbert Usng Partcles to Sample and Control Implct Surfaces. In Proceedngs of the 21st Annual Conference on Computer Graphcs and Interactve Technques, pp Chapter 7 Pont-Based Vsualzaton of Metaballs on a GPU

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz Compler Desgn Sprng 2014 Regster Allocaton Sample Exercses and Solutons Prof. Pedro C. Dnz USC / Informaton Scences Insttute 4676 Admralty Way, Sute 1001 Marna del Rey, Calforna 90292 pedro@s.edu Regster

More information

An Optimal Algorithm for Prufer Codes *

An Optimal Algorithm for Prufer Codes * J. Software Engneerng & Applcatons, 2009, 2: 111-115 do:10.4236/jsea.2009.22016 Publshed Onlne July 2009 (www.scrp.org/journal/jsea) An Optmal Algorthm for Prufer Codes * Xaodong Wang 1, 2, Le Wang 3,

More information

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes SPH3UW Unt 7.3 Sphercal Concave Mrrors Page 1 of 1 Notes Physcs Tool box Concave Mrror If the reflectng surface takes place on the nner surface of the sphercal shape so that the centre of the mrror bulges

More information

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching A Fast Vsual Trackng Algorthm Based on Crcle Pxels Matchng Zhqang Hou hou_zhq@sohu.com Chongzhao Han czhan@mal.xjtu.edu.cn Ln Zheng Abstract: A fast vsual trackng algorthm based on crcle pxels matchng

More information

User Authentication Based On Behavioral Mouse Dynamics Biometrics

User Authentication Based On Behavioral Mouse Dynamics Biometrics User Authentcaton Based On Behavoral Mouse Dynamcs Bometrcs Chee-Hyung Yoon Danel Donghyun Km Department of Computer Scence Department of Computer Scence Stanford Unversty Stanford Unversty Stanford, CA

More information

Simplification of 3D Meshes

Simplification of 3D Meshes Smplfcaton of 3D Meshes Addy Ngan /4/00 Outlne Motvaton Taxonomy of smplfcaton methods Hoppe et al, Mesh optmzaton Hoppe, Progressve meshes Smplfcaton of 3D Meshes 1 Motvaton Hgh detaled meshes becomng

More information

A Binarization Algorithm specialized on Document Images and Photos

A Binarization Algorithm specialized on Document Images and Photos A Bnarzaton Algorthm specalzed on Document mages and Photos Ergna Kavalleratou Dept. of nformaton and Communcaton Systems Engneerng Unversty of the Aegean kavalleratou@aegean.gr Abstract n ths paper, a

More information

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Parallelism for Nested Loops with Non-uniform and Flow Dependences Parallelsm for Nested Loops wth Non-unform and Flow Dependences Sam-Jn Jeong Dept. of Informaton & Communcaton Engneerng, Cheonan Unversty, 5, Anseo-dong, Cheonan, Chungnam, 330-80, Korea. seong@cheonan.ac.kr

More information

Steps for Computing the Dissimilarity, Entropy, Herfindahl-Hirschman and. Accessibility (Gravity with Competition) Indices

Steps for Computing the Dissimilarity, Entropy, Herfindahl-Hirschman and. Accessibility (Gravity with Competition) Indices Steps for Computng the Dssmlarty, Entropy, Herfndahl-Hrschman and Accessblty (Gravty wth Competton) Indces I. Dssmlarty Index Measurement: The followng formula can be used to measure the evenness between

More information

Helsinki University Of Technology, Systems Analysis Laboratory Mat Independent research projects in applied mathematics (3 cr)

Helsinki University Of Technology, Systems Analysis Laboratory Mat Independent research projects in applied mathematics (3 cr) Helsnk Unversty Of Technology, Systems Analyss Laboratory Mat-2.08 Independent research projects n appled mathematcs (3 cr) "! #$&% Antt Laukkanen 506 R ajlaukka@cc.hut.f 2 Introducton...3 2 Multattrbute

More information

Lecture 5: Multilayer Perceptrons

Lecture 5: Multilayer Perceptrons Lecture 5: Multlayer Perceptrons Roger Grosse 1 Introducton So far, we ve only talked about lnear models: lnear regresson and lnear bnary classfers. We noted that there are functons that can t be represented

More information

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces Range mages For many structured lght scanners, the range data forms a hghly regular pattern known as a range mage. he samplng pattern s determned by the specfc scanner. Range mage regstraton 1 Examples

More information

Some Tutorial about the Project. Computer Graphics

Some Tutorial about the Project. Computer Graphics Some Tutoral about the Project Lecture 6 Rastersaton, Antalasng, Texture Mappng, I have already covered all the topcs needed to fnsh the 1 st practcal Today, I wll brefly explan how to start workng on

More information

S1 Note. Basis functions.

S1 Note. Basis functions. S1 Note. Bass functons. Contents Types of bass functons...1 The Fourer bass...2 B-splne bass...3 Power and type I error rates wth dfferent numbers of bass functons...4 Table S1. Smulaton results of type

More information

Fitting: Deformable contours April 26 th, 2018

Fitting: Deformable contours April 26 th, 2018 4/6/08 Fttng: Deformable contours Aprl 6 th, 08 Yong Jae Lee UC Davs Recap so far: Groupng and Fttng Goal: move from array of pxel values (or flter outputs) to a collecton of regons, objects, and shapes.

More information

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration Improvement of Spatal Resoluton Usng BlockMatchng Based Moton Estmaton and Frame Integraton Danya Suga and Takayuk Hamamoto Graduate School of Engneerng, Tokyo Unversty of Scence, 6-3-1, Nuku, Katsuska-ku,

More information

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data A Fast Content-Based Multmeda Retreval Technque Usng Compressed Data Borko Furht and Pornvt Saksobhavvat NSF Multmeda Laboratory Florda Atlantc Unversty, Boca Raton, Florda 3343 ABSTRACT In ths paper,

More information

Active Contours/Snakes

Active Contours/Snakes Actve Contours/Snakes Erkut Erdem Acknowledgement: The sldes are adapted from the sldes prepared by K. Grauman of Unversty of Texas at Austn Fttng: Edges vs. boundares Edges useful sgnal to ndcate occludng

More information

Computer Animation and Visualisation. Lecture 4. Rigging / Skinning

Computer Animation and Visualisation. Lecture 4. Rigging / Skinning Computer Anmaton and Vsualsaton Lecture 4. Rggng / Sknnng Taku Komura Overvew Sknnng / Rggng Background knowledge Lnear Blendng How to decde weghts? Example-based Method Anatomcal models Sknnng Assume

More information

Cluster Analysis of Electrical Behavior

Cluster Analysis of Electrical Behavior Journal of Computer and Communcatons, 205, 3, 88-93 Publshed Onlne May 205 n ScRes. http://www.scrp.org/ournal/cc http://dx.do.org/0.4236/cc.205.350 Cluster Analyss of Electrcal Behavor Ln Lu Ln Lu, School

More information

CMPS 10 Introduction to Computer Science Lecture Notes

CMPS 10 Introduction to Computer Science Lecture Notes CPS 0 Introducton to Computer Scence Lecture Notes Chapter : Algorthm Desgn How should we present algorthms? Natural languages lke Englsh, Spansh, or French whch are rch n nterpretaton and meanng are not

More information

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour 6.854 Advanced Algorthms Petar Maymounkov Problem Set 11 (November 23, 2005) Wth: Benjamn Rossman, Oren Wemann, and Pouya Kheradpour Problem 1. We reduce vertex cover to MAX-SAT wth weghts, such that the

More information

3D vector computer graphics

3D vector computer graphics 3D vector computer graphcs Paolo Varagnolo: freelance engneer Padova Aprl 2016 Prvate Practce ----------------------------------- 1. Introducton Vector 3D model representaton n computer graphcs requres

More information

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Learning the Kernel Parameters in Kernel Minimum Distance Classifier Learnng the Kernel Parameters n Kernel Mnmum Dstance Classfer Daoqang Zhang 1,, Songcan Chen and Zh-Hua Zhou 1* 1 Natonal Laboratory for Novel Software Technology Nanjng Unversty, Nanjng 193, Chna Department

More information

The Shortest Path of Touring Lines given in the Plane

The Shortest Path of Touring Lines given in the Plane Send Orders for Reprnts to reprnts@benthamscence.ae 262 The Open Cybernetcs & Systemcs Journal, 2015, 9, 262-267 The Shortest Path of Tourng Lnes gven n the Plane Open Access Ljuan Wang 1,2, Dandan He

More information

S.P.H. : A SOLUTION TO AVOID USING EROSION CRITERION?

S.P.H. : A SOLUTION TO AVOID USING EROSION CRITERION? S.P.H. : A SOLUTION TO AVOID USING EROSION CRITERION? Célne GALLET ENSICA 1 place Emle Bloun 31056 TOULOUSE CEDEX e-mal :cgallet@ensca.fr Jean Luc LACOME DYNALIS Immeuble AEROPOLE - Bat 1 5, Avenue Albert

More information

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields 17 th European Symposum on Computer Aded Process Engneerng ESCAPE17 V. Plesu and P.S. Agach (Edtors) 2007 Elsever B.V. All rghts reserved. 1 A mathematcal programmng approach to the analyss, desgn and

More information

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision SLAM Summer School 2006 Practcal 2: SLAM usng Monocular Vson Javer Cvera, Unversty of Zaragoza Andrew J. Davson, Imperal College London J.M.M Montel, Unversty of Zaragoza. josemar@unzar.es, jcvera@unzar.es,

More information

Modeling, Manipulating, and Visualizing Continuous Volumetric Data: A Novel Spline-based Approach

Modeling, Manipulating, and Visualizing Continuous Volumetric Data: A Novel Spline-based Approach Modelng, Manpulatng, and Vsualzng Contnuous Volumetrc Data: A Novel Splne-based Approach Jng Hua Center for Vsual Computng, Department of Computer Scence SUNY at Stony Brook Talk Outlne Introducton and

More information

Parallel matrix-vector multiplication

Parallel matrix-vector multiplication Appendx A Parallel matrx-vector multplcaton The reduced transton matrx of the three-dmensonal cage model for gel electrophoress, descrbed n secton 3.2, becomes excessvely large for polymer lengths more

More information

High-Boost Mesh Filtering for 3-D Shape Enhancement

High-Boost Mesh Filtering for 3-D Shape Enhancement Hgh-Boost Mesh Flterng for 3-D Shape Enhancement Hrokazu Yagou Λ Alexander Belyaev y Damng We z Λ y z ; ; Shape Modelng Laboratory, Unversty of Azu, Azu-Wakamatsu 965-8580 Japan y Computer Graphcs Group,

More information

Fast Computation of Shortest Path for Visiting Segments in the Plane

Fast Computation of Shortest Path for Visiting Segments in the Plane Send Orders for Reprnts to reprnts@benthamscence.ae 4 The Open Cybernetcs & Systemcs Journal, 04, 8, 4-9 Open Access Fast Computaton of Shortest Path for Vstng Segments n the Plane Ljuan Wang,, Bo Jang

More information

Programming in Fortran 90 : 2017/2018

Programming in Fortran 90 : 2017/2018 Programmng n Fortran 90 : 2017/2018 Programmng n Fortran 90 : 2017/2018 Exercse 1 : Evaluaton of functon dependng on nput Wrte a program who evaluate the functon f (x,y) for any two user specfed values

More information

CS 534: Computer Vision Model Fitting

CS 534: Computer Vision Model Fitting CS 534: Computer Vson Model Fttng Sprng 004 Ahmed Elgammal Dept of Computer Scence CS 534 Model Fttng - 1 Outlnes Model fttng s mportant Least-squares fttng Maxmum lkelhood estmaton MAP estmaton Robust

More information

Private Information Retrieval (PIR)

Private Information Retrieval (PIR) 2 Levente Buttyán Problem formulaton Alce wants to obtan nformaton from a database, but she does not want the database to learn whch nformaton she wanted e.g., Alce s an nvestor queryng a stock-market

More information

Module Management Tool in Software Development Organizations

Module Management Tool in Software Development Organizations Journal of Computer Scence (5): 8-, 7 ISSN 59-66 7 Scence Publcatons Management Tool n Software Development Organzatons Ahmad A. Al-Rababah and Mohammad A. Al-Rababah Faculty of IT, Al-Ahlyyah Amman Unversty,

More information

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique //00 :0 AM Outlne and Readng The Greedy Method The Greedy Method Technque (secton.) Fractonal Knapsack Problem (secton..) Task Schedulng (secton..) Mnmum Spannng Trees (secton.) Change Money Problem Greedy

More information

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS Proceedngs of the Wnter Smulaton Conference M E Kuhl, N M Steger, F B Armstrong, and J A Jones, eds A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS Mark W Brantley Chun-Hung

More information

Array transposition in CUDA shared memory

Array transposition in CUDA shared memory Array transposton n CUDA shared memory Mke Gles February 19, 2014 Abstract Ths short note s nspred by some code wrtten by Jeremy Appleyard for the transposton of data through shared memory. I had some

More information

Parallel Numerics. 1 Preconditioning & Iterative Solvers (From 2016)

Parallel Numerics. 1 Preconditioning & Iterative Solvers (From 2016) Technsche Unverstät München WSe 6/7 Insttut für Informatk Prof. Dr. Thomas Huckle Dpl.-Math. Benjamn Uekermann Parallel Numercs Exercse : Prevous Exam Questons Precondtonng & Iteratve Solvers (From 6)

More information

Mathematics 256 a course in differential equations for engineering students

Mathematics 256 a course in differential equations for engineering students Mathematcs 56 a course n dfferental equatons for engneerng students Chapter 5. More effcent methods of numercal soluton Euler s method s qute neffcent. Because the error s essentally proportonal to the

More information

Image Representation & Visualization Basic Imaging Algorithms Shape Representation and Analysis. outline

Image Representation & Visualization Basic Imaging Algorithms Shape Representation and Analysis. outline mage Vsualzaton mage Vsualzaton mage Representaton & Vsualzaton Basc magng Algorthms Shape Representaton and Analyss outlne mage Representaton & Vsualzaton Basc magng Algorthms Shape Representaton and

More information

Multi-view 3D Position Estimation of Sports Players

Multi-view 3D Position Estimation of Sports Players Mult-vew 3D Poston Estmaton of Sports Players Robbe Vos and Wlle Brnk Appled Mathematcs Department of Mathematcal Scences Unversty of Stellenbosch, South Afrca Emal: vosrobbe@gmal.com Abstract The problem

More information

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS ARPN Journal of Engneerng and Appled Scences 006-017 Asan Research Publshng Network (ARPN). All rghts reserved. NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS Igor Grgoryev, Svetlana

More information

FEATURE EXTRACTION. Dr. K.Vijayarekha. Associate Dean School of Electrical and Electronics Engineering SASTRA University, Thanjavur

FEATURE EXTRACTION. Dr. K.Vijayarekha. Associate Dean School of Electrical and Electronics Engineering SASTRA University, Thanjavur FEATURE EXTRACTION Dr. K.Vjayarekha Assocate Dean School of Electrcal and Electroncs Engneerng SASTRA Unversty, Thanjavur613 41 Jont Intatve of IITs and IISc Funded by MHRD Page 1 of 8 Table of Contents

More information

Simulation Based Analysis of FAST TCP using OMNET++

Simulation Based Analysis of FAST TCP using OMNET++ Smulaton Based Analyss of FAST TCP usng OMNET++ Umar ul Hassan 04030038@lums.edu.pk Md Term Report CS678 Topcs n Internet Research Sprng, 2006 Introducton Internet traffc s doublng roughly every 3 months

More information

Analysis on the Workspace of Six-degrees-of-freedom Industrial Robot Based on AutoCAD

Analysis on the Workspace of Six-degrees-of-freedom Industrial Robot Based on AutoCAD Analyss on the Workspace of Sx-degrees-of-freedom Industral Robot Based on AutoCAD Jn-quan L 1, Ru Zhang 1,a, Fang Cu 1, Q Guan 1 and Yang Zhang 1 1 School of Automaton, Bejng Unversty of Posts and Telecommuncatons,

More information

Support Vector Machines

Support Vector Machines /9/207 MIST.6060 Busness Intellgence and Data Mnng What are Support Vector Machnes? Support Vector Machnes Support Vector Machnes (SVMs) are supervsed learnng technques that analyze data and recognze patterns.

More information

Overview. Basic Setup [9] Motivation and Tasks. Modularization 2008/2/20 IMPROVED COVERAGE CONTROL USING ONLY LOCAL INFORMATION

Overview. Basic Setup [9] Motivation and Tasks. Modularization 2008/2/20 IMPROVED COVERAGE CONTROL USING ONLY LOCAL INFORMATION Overvew 2 IMPROVED COVERAGE CONTROL USING ONLY LOCAL INFORMATION Introducton Mult- Smulator MASIM Theoretcal Work and Smulaton Results Concluson Jay Wagenpfel, Adran Trachte Motvaton and Tasks Basc Setup

More information

Load-Balanced Anycast Routing

Load-Balanced Anycast Routing Load-Balanced Anycast Routng Chng-Yu Ln, Jung-Hua Lo, and Sy-Yen Kuo Department of Electrcal Engneerng atonal Tawan Unversty, Tape, Tawan sykuo@cc.ee.ntu.edu.tw Abstract For fault-tolerance and load-balance

More information

PHYSICS-ENHANCED L-SYSTEMS

PHYSICS-ENHANCED L-SYSTEMS PHYSICS-ENHANCED L-SYSTEMS Hansrud Noser 1, Stephan Rudolph 2, Peter Stuck 1 1 Department of Informatcs Unversty of Zurch, Wnterthurerstr. 190 CH-8057 Zurch Swtzerland noser(stuck)@f.unzh.ch, http://www.f.unzh.ch/~noser(~stuck)

More information

Lecture #15 Lecture Notes

Lecture #15 Lecture Notes Lecture #15 Lecture Notes The ocean water column s very much a 3-D spatal entt and we need to represent that structure n an economcal way to deal wth t n calculatons. We wll dscuss one way to do so, emprcal

More information

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following. Complex Numbers The last topc n ths secton s not really related to most of what we ve done n ths chapter, although t s somewhat related to the radcals secton as we wll see. We also won t need the materal

More information

Accounting for the Use of Different Length Scale Factors in x, y and z Directions

Accounting for the Use of Different Length Scale Factors in x, y and z Directions 1 Accountng for the Use of Dfferent Length Scale Factors n x, y and z Drectons Taha Soch (taha.soch@kcl.ac.uk) Imagng Scences & Bomedcal Engneerng, Kng s College London, The Rayne Insttute, St Thomas Hosptal,

More information

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers IOSR Journal of Electroncs and Communcaton Engneerng (IOSR-JECE) e-issn: 78-834,p- ISSN: 78-8735.Volume 9, Issue, Ver. IV (Mar - Apr. 04), PP 0-07 Content Based Image Retreval Usng -D Dscrete Wavelet wth

More information

CSCI 104 Sorting Algorithms. Mark Redekopp David Kempe

CSCI 104 Sorting Algorithms. Mark Redekopp David Kempe CSCI 104 Sortng Algorthms Mark Redekopp Davd Kempe Algorthm Effcency SORTING 2 Sortng If we have an unordered lst, sequental search becomes our only choce If we wll perform a lot of searches t may be benefcal

More information

Efficient Distributed File System (EDFS)

Efficient Distributed File System (EDFS) Effcent Dstrbuted Fle System (EDFS) (Sem-Centralzed) Debessay(Debsh) Fesehaye, Rahul Malk & Klara Naherstedt Unversty of Illnos-Urbana Champagn Contents Problem Statement, Related Work, EDFS Desgn Rate

More information

Problem Set 3 Solutions

Problem Set 3 Solutions Introducton to Algorthms October 4, 2002 Massachusetts Insttute of Technology 6046J/18410J Professors Erk Demane and Shaf Goldwasser Handout 14 Problem Set 3 Solutons (Exercses were not to be turned n,

More information

Querying by sketch geographical databases. Yu Han 1, a *

Querying by sketch geographical databases. Yu Han 1, a * 4th Internatonal Conference on Sensors, Measurement and Intellgent Materals (ICSMIM 2015) Queryng by sketch geographcal databases Yu Han 1, a * 1 Department of Basc Courses, Shenyang Insttute of Artllery,

More information

Monte Carlo Rendering

Monte Carlo Rendering Monte Carlo Renderng Last Tme? Modern Graphcs Hardware Cg Programmng Language Gouraud Shadng vs. Phong Normal Interpolaton Bump, Dsplacement, & Envronment Mappng Cg Examples G P R T F P D Today Does Ray

More information

Real-time Motion Capture System Using One Video Camera Based on Color and Edge Distribution

Real-time Motion Capture System Using One Video Camera Based on Color and Edge Distribution Real-tme Moton Capture System Usng One Vdeo Camera Based on Color and Edge Dstrbuton YOSHIAKI AKAZAWA, YOSHIHIRO OKADA, AND KOICHI NIIJIMA Graduate School of Informaton Scence and Electrcal Engneerng,

More information

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points; Subspace clusterng Clusterng Fundamental to all clusterng technques s the choce of dstance measure between data ponts; D q ( ) ( ) 2 x x = x x, j k = 1 k jk Squared Eucldean dstance Assumpton: All features

More information

Concurrent Apriori Data Mining Algorithms

Concurrent Apriori Data Mining Algorithms Concurrent Apror Data Mnng Algorthms Vassl Halatchev Department of Electrcal Engneerng and Computer Scence York Unversty, Toronto October 8, 2015 Outlne Why t s mportant Introducton to Assocaton Rule Mnng

More information

The Codesign Challenge

The Codesign Challenge ECE 4530 Codesgn Challenge Fall 2007 Hardware/Software Codesgn The Codesgn Challenge Objectves In the codesgn challenge, your task s to accelerate a gven software reference mplementaton as fast as possble.

More information

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009. Farrukh Jabeen Algorthms 51 Assgnment #2 Due Date: June 15, 29. Assgnment # 2 Chapter 3 Dscrete Fourer Transforms Implement the FFT for the DFT. Descrbed n sectons 3.1 and 3.2. Delverables: 1. Concse descrpton

More information

Brave New World Pseudocode Reference

Brave New World Pseudocode Reference Brave New World Pseudocode Reference Pseudocode s a way to descrbe how to accomplsh tasks usng basc steps lke those a computer mght perform. In ths week s lab, you'll see how a form of pseudocode can be

More information

Meta-heuristics for Multidimensional Knapsack Problems

Meta-heuristics for Multidimensional Knapsack Problems 2012 4th Internatonal Conference on Computer Research and Development IPCSIT vol.39 (2012) (2012) IACSIT Press, Sngapore Meta-heurstcs for Multdmensonal Knapsack Problems Zhbao Man + Computer Scence Department,

More information

Scan Conversion & Shading

Scan Conversion & Shading Scan Converson & Shadng Thomas Funkhouser Prnceton Unversty C0S 426, Fall 1999 3D Renderng Ppelne (for drect llumnaton) 3D Prmtves 3D Modelng Coordnates Modelng Transformaton 3D World Coordnates Lghtng

More information

Topology Design using LS-TaSC Version 2 and LS-DYNA

Topology Design using LS-TaSC Version 2 and LS-DYNA Topology Desgn usng LS-TaSC Verson 2 and LS-DYNA Wllem Roux Lvermore Software Technology Corporaton, Lvermore, CA, USA Abstract Ths paper gves an overvew of LS-TaSC verson 2, a topology optmzaton tool

More information

Simulation and Animation of Fire

Simulation and Animation of Fire Smulaton and Anmaton of Fre Overvew Presentaton n Semnar on Motvaton Methods for smulaton of fre Physcally-based Methods for 3D-Games and Medcal Applcatons Dens Stenemann partcle-based flud-based flame-based

More information

Scan Conversion & Shading

Scan Conversion & Shading 1 3D Renderng Ppelne (for drect llumnaton) 2 Scan Converson & Shadng Adam Fnkelsten Prnceton Unversty C0S 426, Fall 2001 3DPrmtves 3D Modelng Coordnates Modelng Transformaton 3D World Coordnates Lghtng

More information

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1) Secton 1.2 Subsets and the Boolean operatons on sets If every element of the set A s an element of the set B, we say that A s a subset of B, or that A s contaned n B, or that B contans A, and we wrte A

More information

Machine Learning. Support Vector Machines. (contains material adapted from talks by Constantin F. Aliferis & Ioannis Tsamardinos, and Martin Law)

Machine Learning. Support Vector Machines. (contains material adapted from talks by Constantin F. Aliferis & Ioannis Tsamardinos, and Martin Law) Machne Learnng Support Vector Machnes (contans materal adapted from talks by Constantn F. Alfers & Ioanns Tsamardnos, and Martn Law) Bryan Pardo, Machne Learnng: EECS 349 Fall 2014 Support Vector Machnes

More information

COMPARISON OF TWO MODELS FOR HUMAN EVACUATING SIMULATION IN LARGE BUILDING SPACES. University, Beijing , China

COMPARISON OF TWO MODELS FOR HUMAN EVACUATING SIMULATION IN LARGE BUILDING SPACES. University, Beijing , China COMPARISON OF TWO MODELS FOR HUMAN EVACUATING SIMULATION IN LARGE BUILDING SPACES Bn Zhao 1, 2, He Xao 1, Yue Wang 1, Yuebao Wang 1 1 Department of Buldng Scence and Technology, Tsnghua Unversty, Bejng

More information

CHAPTER 2 PROPOSED IMPROVED PARTICLE SWARM OPTIMIZATION

CHAPTER 2 PROPOSED IMPROVED PARTICLE SWARM OPTIMIZATION 24 CHAPTER 2 PROPOSED IMPROVED PARTICLE SWARM OPTIMIZATION The present chapter proposes an IPSO approach for multprocessor task schedulng problem wth two classfcatons, namely, statc ndependent tasks and

More information

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization Problem efntons and Evaluaton Crtera for Computatonal Expensve Optmzaton B. Lu 1, Q. Chen and Q. Zhang 3, J. J. Lang 4, P. N. Suganthan, B. Y. Qu 6 1 epartment of Computng, Glyndwr Unversty, UK Faclty

More information

Hermite Splines in Lie Groups as Products of Geodesics

Hermite Splines in Lie Groups as Products of Geodesics Hermte Splnes n Le Groups as Products of Geodescs Ethan Eade Updated May 28, 2017 1 Introducton 1.1 Goal Ths document defnes a curve n the Le group G parametrzed by tme and by structural parameters n the

More information

Related-Mode Attacks on CTR Encryption Mode

Related-Mode Attacks on CTR Encryption Mode Internatonal Journal of Network Securty, Vol.4, No.3, PP.282 287, May 2007 282 Related-Mode Attacks on CTR Encrypton Mode Dayn Wang, Dongda Ln, and Wenlng Wu (Correspondng author: Dayn Wang) Key Laboratory

More information

Load Balancing for Hex-Cell Interconnection Network

Load Balancing for Hex-Cell Interconnection Network Int. J. Communcatons, Network and System Scences,,, - Publshed Onlne Aprl n ScRes. http://www.scrp.org/journal/jcns http://dx.do.org/./jcns.. Load Balancng for Hex-Cell Interconnecton Network Saher Manaseer,

More information

Quality Improvement Algorithm for Tetrahedral Mesh Based on Optimal Delaunay Triangulation

Quality Improvement Algorithm for Tetrahedral Mesh Based on Optimal Delaunay Triangulation Intellgent Informaton Management, 013, 5, 191-195 Publshed Onlne November 013 (http://www.scrp.org/journal/m) http://dx.do.org/10.36/m.013.5601 Qualty Improvement Algorthm for Tetrahedral Mesh Based on

More information

An Entropy-Based Approach to Integrated Information Needs Assessment

An Entropy-Based Approach to Integrated Information Needs Assessment Dstrbuton Statement A: Approved for publc release; dstrbuton s unlmted. An Entropy-Based Approach to ntegrated nformaton Needs Assessment June 8, 2004 Wllam J. Farrell Lockheed Martn Advanced Technology

More information

Isosurface Extraction in Time-varying Fields Using a Temporal Hierarchical Index Tree

Isosurface Extraction in Time-varying Fields Using a Temporal Hierarchical Index Tree Isosurface Extracton n Tme-varyng Felds Usng a Temporal Herarchcal Index Tree Han-We Shen MRJ Technology Solutons / NASA Ames Research Center Abstract Many hgh-performance sosurface extracton algorthms

More information

THE PULL-PUSH ALGORITHM REVISITED

THE PULL-PUSH ALGORITHM REVISITED THE PULL-PUSH ALGORITHM REVISITED Improvements, Computaton of Pont Denstes, and GPU Implementaton Martn Kraus Computer Graphcs & Vsualzaton Group, Technsche Unverstät München, Boltzmannstraße 3, 85748

More information

Real-Time Guarantees. Traffic Characteristics. Flow Control

Real-Time Guarantees. Traffic Characteristics. Flow Control Real-Tme Guarantees Requrements on RT communcaton protocols: delay (response s) small jtter small throughput hgh error detecton at recever (and sender) small error detecton latency no thrashng under peak

More information

Reducing Frame Rate for Object Tracking

Reducing Frame Rate for Object Tracking Reducng Frame Rate for Object Trackng Pavel Korshunov 1 and We Tsang Oo 2 1 Natonal Unversty of Sngapore, Sngapore 11977, pavelkor@comp.nus.edu.sg 2 Natonal Unversty of Sngapore, Sngapore 11977, oowt@comp.nus.edu.sg

More information

Outline. Discriminative classifiers for image recognition. Where in the World? A nearest neighbor recognition example 4/14/2011. CS 376 Lecture 22 1

Outline. Discriminative classifiers for image recognition. Where in the World? A nearest neighbor recognition example 4/14/2011. CS 376 Lecture 22 1 4/14/011 Outlne Dscrmnatve classfers for mage recognton Wednesday, Aprl 13 Krsten Grauman UT-Austn Last tme: wndow-based generc obect detecton basc ppelne face detecton wth boostng as case study Today:

More information

Implementation of a Dynamic Image-Based Rendering System

Implementation of a Dynamic Image-Based Rendering System Implementaton of a Dynamc Image-Based Renderng System Nklas Bakos, Claes Järvman and Mark Ollla 3 Norrköpng Vsualzaton and Interacton Studo Lnköpng Unversty Abstract Work n dynamc mage based renderng has

More information

LS-TaSC Version 2.1. Willem Roux Livermore Software Technology Corporation, Livermore, CA, USA. Abstract

LS-TaSC Version 2.1. Willem Roux Livermore Software Technology Corporation, Livermore, CA, USA. Abstract 12 th Internatonal LS-DYNA Users Conference Optmzaton(1) LS-TaSC Verson 2.1 Wllem Roux Lvermore Software Technology Corporaton, Lvermore, CA, USA Abstract Ths paper gves an overvew of LS-TaSC verson 2.1,

More information

Video Proxy System for a Large-scale VOD System (DINA)

Video Proxy System for a Large-scale VOD System (DINA) Vdeo Proxy System for a Large-scale VOD System (DINA) KWUN-CHUNG CHAN #, KWOK-WAI CHEUNG *# #Department of Informaton Engneerng *Centre of Innovaton and Technology The Chnese Unversty of Hong Kong SHATIN,

More information

Chapter 6 Programmng the fnte element method Inow turn to the man subject of ths book: The mplementaton of the fnte element algorthm n computer programs. In order to make my dscusson as straghtforward

More information

Intro. Iterators. 1. Access

Intro. Iterators. 1. Access Intro Ths mornng I d lke to talk a lttle bt about s and s. We wll start out wth smlartes and dfferences, then we wll see how to draw them n envronment dagrams, and we wll fnsh wth some examples. Happy

More information

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation 17 th European Symposum on Computer Aded Process Engneerng ESCAPE17 V. Plesu and P.S. Agach (Edtors) 2007 Elsever B.V. All rghts reserved. 1 An Iteratve Soluton Approach to Process Plant Layout usng Mxed

More information

K-means and Hierarchical Clustering

K-means and Hierarchical Clustering Note to other teachers and users of these sldes. Andrew would be delghted f you found ths source materal useful n gvng your own lectures. Feel free to use these sldes verbatm, or to modfy them to ft your

More information

Simulation of a Ship with Partially Filled Tanks Rolling in Waves by Applying Moving Particle Semi-Implicit Method

Simulation of a Ship with Partially Filled Tanks Rolling in Waves by Applying Moving Particle Semi-Implicit Method Smulaton of a Shp wth Partally Flled Tanks Rollng n Waves by Applyng Movng Partcle Sem-Implct Method Jen-Shang Kouh Department of Engneerng Scence and Ocean Engneerng, Natonal Tawan Unversty, Tape, Tawan,

More information

Radial Basis Functions

Radial Basis Functions Radal Bass Functons Mesh Reconstructon Input: pont cloud Output: water-tght manfold mesh Explct Connectvty estmaton Implct Sgned dstance functon estmaton Image from: Reconstructon and Representaton of

More information

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search Sequental search Buldng Java Programs Chapter 13 Searchng and Sortng sequental search: Locates a target value n an array/lst by examnng each element from start to fnsh. How many elements wll t need to

More information

Obstacle-Aware Routing Problem in. a Rectangular Mesh Network

Obstacle-Aware Routing Problem in. a Rectangular Mesh Network Appled Mathematcal Scences, Vol. 9, 015, no. 14, 653-663 HIKARI Ltd, www.m-hkar.com http://dx.do.org/10.1988/ams.015.411911 Obstacle-Aware Routng Problem n a Rectangular Mesh Network Norazah Adzhar Department

More information

Analysis of 3D Cracks in an Arbitrary Geometry with Weld Residual Stress

Analysis of 3D Cracks in an Arbitrary Geometry with Weld Residual Stress Analyss of 3D Cracks n an Arbtrary Geometry wth Weld Resdual Stress Greg Thorwald, Ph.D. Ted L. Anderson, Ph.D. Structural Relablty Technology, Boulder, CO Abstract Materals contanng flaws lke nclusons

More information

TPL-Aware Displacement-driven Detailed Placement Refinement with Coloring Constraints

TPL-Aware Displacement-driven Detailed Placement Refinement with Coloring Constraints TPL-ware Dsplacement-drven Detaled Placement Refnement wth Colorng Constrants Tao Ln Iowa State Unversty tln@astate.edu Chrs Chu Iowa State Unversty cnchu@astate.edu BSTRCT To mnmze the effect of process

More information

VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES

VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES UbCC 2011, Volume 6, 5002981-x manuscrpts OPEN ACCES UbCC Journal ISSN 1992-8424 www.ubcc.org VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES

More information