Model Clipping Triangle Strips and Quad Meshes.

Size: px
Start display at page:

Download "Model Clipping Triangle Strips and Quad Meshes."

Transcription

1 Model Clppng Trangle Strps and Quad Meshes. Patrc-Glles Mallot Sun Mcrosystems, Inc Garca Avenue, Mountan Vew, CA Abstract Ths paper descrbes an orgnal software mplementaton of 3D homogeneous Model Clppng for Trangle Strps and Quadrlateral Meshes. After a defnton of these graphcs enttes, and a study of ther geometrcal characterstcs, the dfferent possble stuatons when clppng trangles s presented. The detaled descrpton of the ernel of the algorthm, optmzed for clppng trangle strps s made, followed by the specfc cases that can be found when dealng wth quadrlateral meshes. Precsons are gven concernng memory usage of the proposed method, and a complete mplementaton of the algorthm for trangle strps n the C language follows. The concluson ncludes some performance numbers that can be expected from the gven algorthm. CR categores and Subect Descrptors: I.3.3 [Computer Graphcs]: Pcture/Image Generaton, Dsplay algorthms, Vewng algorthms; Addtonal Key Words and Phrases: 3D Polygon Clppng, Trangle Strps, Quadrlateral Meshes.

2 Model Clppng Trangle Strps and Quad Meshes. Introducton. One can easly fnd n the lterature 1, 2, 4 some nformaton on how to perform clppng of general 3D graphcs prmtves, such as lnes and polygons. Wth the graphcs system archtectures currently avalable, the term polygon often refers to trangles or quads paced together n more complex structures such as trangle strps and quad meshes. It s generally when usng these prmtves that the best drawng performance can be acheved on most of the advanced graphcs systems 5, 6. One of the most expensve operaton n graphcs s to perform clppng. Dstncton can be made between Model Clppng, where the clppng planes can be arbtrarly orented, and Vew Clppng, where the number of clppng planes, as well as ther orentaton, s fxed. Ths artcle proposes a soluton that taes nto account the specfc organzaton of Trangles Strps and Quad Meshes prmtves n order to acheve effcent Model Clppng. Some of the prncples dscussed here can be appled to other, smpler, graphc structures such as mult-bounded polygons, n order to mprove the effcency of standard clppng methods. The general soluton proposed for the clppng equatons can also be smplfed n order to perform Vew Clppng of the same prmtves 7. Data Study. An easy way of optmzng a graphcs ppelne operatons s not to modfy the structure of the prmtve all along the graphcs ppelne. Unfortunately, some operatons of the ppelne can modfy, or brea, the logcal structure of the ntal prmtve. Ths s typcally the case of clppng, where a trangle of a trangle strp can be changed (clpped) nto a n-sded polygon, after beng clpped by (n-3) planes, breang the structure of the ntal trangle strp. Ths paper proposes a general approach to the clppng of trangle strps n the case of 3D homogeneous coordnates and arbtrary orented clppng planes. The partculartes of the extenson to the clppng of quad meshes are also detaled. The proposed method accepts a sngle trangle strp structure at the nput of the clppng process, and returns a sngle trangle strp structure at the output. In the case of quad meshes, the quads are clpped row by row, and the clppng process can return multple rows of quads for a sngle row of quad at the nput. Whle descrbed by a lst of ponts, trangle strps do have a logcal organzaton that should be consdered durng the clppng step. A trangle strp conssts of an ordered lst of n vertces {v 0, v 1,..., v n-1 that defne a sequence of n-2 trangles. The trangles n the strp share common edges. Thus, the th trangle s formed of vertces, +1, +2. On

3 the other hand, a quad mesh conssts of a matrx of m rows and n columns (m, n > 1) of vertces stored as an ordered lst of (mn) vertces {v 00, v 01,..., v 0(n-1), v 10,..., v (m-1)0, v (m-1)1,..., v (m-1)(n-1).a quad mesh, as descrbed here, defnes (m-1)(n-1) quads q, (=0, (m-1)(n-1) -1) formed from each square of adacent vertces v, v (+1),v (+1), v (+1)(+1), where = m, and = mod (n). The quads are drawn n the order q, (=0, (m-1)(n-1) -1). Fgure 1 gves a pctoral examples of a sngle trangle strp and a quad mesh Fgure 1: A sngle trangle strp and a smple quad mesh Algorthm Study. We propose to clp the prmtves usng a method derved from the Sutherland-Hodgman algorthm 1. Ths means that the clppng calculatons wll be lmted to determnng ntersectons wth one clppng plane at a tme, separatng the prmtve nto two regons: the nsde and the outsde. These calculatons wll be repeated as many tmes as needed to scan all the enabled clppng planes. The Sutherland-Hodgman method nvolves a lot of computatons as well as memory operatons. However, snce we defne our Model space as a 3D homogeneous space, and the vertces can have both normal and color nformaton, t seems to be the most effcent. Each ntersecton (computed only when needed) s based on the parametrc equaton of the edge from one vertex to another: R = λq + ( 1 λ)p, λ [ 0,0, 1,0 ]

4 The value of λ s used to compute the ntersecton vertex coordnates (R), and can also be used to lnearly nterpolate per vertex color and/or normal data f needed. The ntersecton, n the case of a lne segment such as P Q, has to be evaluated only when the end ponts of that lne le n opposte regons. If a bt s assgned to each pont, wth a 1 meanng les outsde and a 0 meanng les nsde, then the ntersecton wll be computed only when (bt[p] exclusve-or bt[q]) s set, meanng that one pont les outsde and the other one les nsde the clppng regon. If both bts are set, that means the entre lne segment s outsde the clppng regon. The entre lne segment s nsde the clppng regon when both bts are equal to 0. Ths approach, presented n 3, offers the advantage of usng fast operatons to chec for trval cases, and provdes a way to eep ntermedate results avalable for the next pont. In the case of a trangle, we can tae advantage of three ponts at a tme and for quads, four ponts can be consdered two by two. A Model Clppng plane s defned by a 3D pont and a normal vector, both expressed n the Model Space. Some graphcs pacages specfy the clppng planes n World Coordnates 8, 9, but t s always possble to transform the clppng planes so that they are defned n Model Space Coordnates, thus smplfyng the graphcs ppelne to be the followng: Prmtve n Model coordnates Model Clppng Transformaton to NPC Vew Clppng Dvson by W Transformaton to DC Renderng Let C be a model clppng plane, C: { S R 4, N R 4, S = ( S x, S y, S z, 1),a pont of C n 3D Model Space, and N = ( N x, N y, N z, 0), a unt vector normal to C.

5 In fact, a sngle vector can be used to fully defne the clppng plane, as shown n 10, let E be that vector: E R 4, and E = ( N x, N y, N z, ( S x N x + S y N y + S z N z )). Then P: P R 4, P = ( x, y, z, w) s nsde the half-space defned by C f E T P 0. There wll be clppng of the segment P Q f sgn( E T P) sgn( E T Q), that s f P and Q are on opposte sdes of C. Fgure 2 graphcally presents dfferent possble stuatons for both P and Q n respect to C. A pont exactly on the clppng plane s consdered nsde the half-space. P P N S N S Q N S C C C Q P & Q on opposte sdes of C P & Q on dentcal sdes of C P Q Fgure 2: Possble stuatons of P & Q n respect to C. When there s ntersecton, P and Q are on opposte sdes of C. The ntersecton pont R must satsfy two equatons: R must belong to the lne segment P Q: R = λq + ( 1 λ)p, and R must belong to the plane C: E T R = 0. The case of trangle strps. A trangle strp s (obvously) composed of trangles. Each trangle can be consdered separately for the ntersecton calculatons. However, the mplementaton of the clppng algorthm should provde a way to avod multple equvalent calculatons by tang advantage of the logcal organzaton of the vertces. Because a trangle s composed of three ponts, and each pont can be ether nsde, or outsde a gven half-space, there are 8 dfferent stuatons when computng the clpped result of a trangle wth a sngle clppng plane. Each case generates a partcular sequence of

6 ponts at the output of the clppng process. Ths process wll be repeated as many tmes as Model Clppng planes to clp aganst. Fgure 3 shows the dfferent cases and the resultng output that has to be generated by the Model Clppng n order to mantan the ntal organzaton of the trangle strp. Clp codes [,, ] output sequence of ponts 000,, 001 a c a,, c,, 110 a c, a, c, c * 010 a b, a,, b, 101 a b a,, b 100 b,,,, b 011 b c c, c, b, * (* see text) 111 Fgure 3: trangle stuatons, the gray areas represent the reectng half-space. In order to mantan the trangle strp structure, the trangle strp Model Clppng algorthm can generate some trangles wth an area of zero. By dong ths, the trangle strp structure can be mantaned even when a trangle degenerates nto a quad after clppng wth a clp-plane. There are specal cases, when clppng a trangle wth clppng codes

7 equal to 011 or 110 (Fgure 3, cases mared *). The code 110 ndcates that the current trangle has ts two last ponts outsde the current half-space, and the frst pont of the trangle s nsde the current half-space, so the trangle strp s leavng the vsble half-space. The code 011 ndcates the opposte stuaton, the trangle strp enters agan, or for the frst tme, the vsble half-space. In ths partcular case, a new trangle strp should be ssued. Even n the case of a sngle trangle strp nput, t s possble to generate more than one trangle strp after the clppng operaton. Fgure 4 gves further detal, explanng such a stuaton. There s a way, however, to avod generatng multple trangle strps at the model clppng output n order to stll be able to tae advantage of an accelerated renderer. The soluton proposed n the case presented n Fgure 4, s to duplcate ponts Q and R so that three degenerate trangles (e.g. trangles wth an area of 0) are ssued to eep the logc of the orgnal trangle strp. In that partcular case, these trangles would be (P, Q, Q), (Q, Q, R), (Q, R, R). The mplementaton presented later n ths paper taes advantage of ths method. It should be noted that ths can be appled only when the renderng stage, further down n the graphcs ppelne, nows how to deal wth degenerate trangles. c P Q R S a b m...,, : clppng code 110, generates, P, Q,, m: clppng code 111, culled, m, a: clppng code 111, culled m, a, b: clppng code 111, culled a, b, c: clppng code 011, generates R, S, c... A new trangle should be ssued when clppng a, b, c Fgure 4: Multple trangle strps created by the clppng operaton. The case of quad meshes. The same prncple that has been presented for trangle strp can be appled to quad meshes 11. In the quad mesh case,

8 however, a sngle quad can generate 16 dfferent cases dependng on the stuaton of the four ponts of the quad n respect to a model clppng plane. Also, a sngle row of quads wll generate one or several rows of quads and the clppng of quad meshes can only generate a subset, or specal case of the quad mesh prmtve. Fgure 5 shows some examples of quads stuaton where the clppng operaton has to generate several rows of quads at the output. Quad meshes are generally organzed such that t s easy to solate a complete row; but the order n whch the ponts appear for a gven row can mpact the effcency of the clppng operaton. Ths because the mplementaton presented here s based on the same prncple than n the case of trangle strps, and expects to be able to shft the nformaton concernng the last two ponts of the current quad n order for them to become the frst two ponts of the next quad. P Q R S ntal quad P a c b d S 1001, generate: a, P, a, c, new row, b, d, S, d Q a c b R d 0110, generates: Q, a, d, a, new row, d, c, d, R a Q b 1110, generates: Q, a, b, a, new row Fgure 5: New row generaton cases. P Q c b 1100, generates: Q, P, b, c, new row Memory consderatons. The standard clppng algorthm proposed by Sutherland-Hodgman mples a lot of memory or stac operatons. A detaled ntroducton to the prncple of the algorthm s presented n 2, showng the dfferent steps used to clp a polygon, n 2D, or 3D. Although t s mentoned that the reentrant characterstc of the orgnal algorthm avods the need for ntermedate storage, the cost mpled n stac operatons and recursve calls s probably not well suted n the case of a software mplementaton wth large data structures. Whle eepng the same general ntersecton prncples, ths artcle proposes a dfferent approach, necesstatng ntermedate storage, but lmtng the number of nner loops of the clppng algorthm to the number of actve clppng

9 planes. The algorthm frst bulds a lst of ponters to the orgnal ponts, provded by the caller. It then only propagates ponters to ponts, and not the ponts themselves, from one stage of the clpper to the next stage, thus avodng expensve memory copy operatons. When the generaton of new ponts s made necessary because of an actual ntersecton wth a clppng plane, the algorthm saves the ntersecton pont n a pont stac and eeps the ponter to that pont for use n the next clppng stages. Fnally, when all the clppng planes have been scanned, an output lst of ponts s buld from the current lst of ponters. Implementaton. The algorthm proposed here supports the case where the W components of the vertces of the trangle strp are postve. Model Clppng for negatve w s requres to change the clppng equaton n the mplementaton proposed below (ths exercse s left to the reader), and supportng lnes wth end vertces havng both postve and negatve w s requre two passes by the clppng algorthm n order to render both postve and negatve sectons, one for each clppng equaton. Fgure 6 shows the result of clppng a sngle trangle wth coordnates beng (1,0,0,1), (0,1,0,1), and (0,0,1,1) compared to a trangle wth coordnates beng (1,0,0,1), (0,1,0,-1), and (0,0,1,-1). It has been shown 12 that under certan crcumstances, the coordnate system n whch clppng s perform may nfluence the number of passes that have to be done n order to consder both postve and negatve w s. In fact ths s true only n the case vertces n the negatve space are generated because of the specal nature of the proecton transform. It s stll necessary to perform two dstnct passes when the data ntally contans both postve and negatve w components. 0,0,1,1 0,0,1,-1 z z x y 1,0,0,1 0,1,0,1 x y 1,0,0,1 0,1,0,-1 a) All w components are postve. b) w components are postve and negatve Fgure 6: Effect of Postve and Negatve w components.

10 The followng s an example of mplementaton of the model clppng for trangle strps, based on the prncples presented n ths artcle. For smplfcaton purposes, the vertex structures contan only coordnates data. They can easly be modfy to tae nto account color and/or normal nformaton, n whch case, the ntersecton macros should also be modfed. The structure H_pont s used to store the pont coordnates, H_lst represents a lst of ponts. The model clppng planes are represented by a structure of type H_plane, contanng the 4 sgnfcant elements of a model clppng plane. Clp_ctx represents the context state nformaton used by the algorthm. It contans storage for defnng a lst of clppng planes, and arrays of ponts or ponters to ponts. These arrays should be ntalzed to null ponters and the correspondng number of elements should be set to 0. #defne MEM_INCREMENT 64 * 3D pont structure typedef struct { float coords[4]; H_pont; typedef struct { nt num_hponts; H_pont *hponts; H_lst; typedef struct { float normal[3]; float cst; H_plane; typedef struct { H_plane *Mclp_planes; nt num_planes; H_pont **ponters_bucet_0; nt ponters_bucet_0_max; H_pont **ponters_bucet_1; nt ponters_bucet_1_max; H_pont *hponts_bucet; nt hponts_bucet_max; nt hponts_bucet_ndex; Clp_ctx; * * Space codng nformaton: * * Ths 3D clppng functon s based on the ntersecton of * lnes usng a lne segment parametrc equaton: * * Let P a pont on the lne segment, then f A and B are the * extremes ponts of the lne segment, we can wrte: * P = l * B + (1 - l) * A, wth l = [0..1] * A 0 bt means nteror, whle * a 1 bt means exteror. * * Intersecton macros

11 #defne COMPUTE_INTER_3D(P, P_plan, S) \ P = pre_stage[n]; \ P_plan = P->coords[0] * plane->normal[0] + \ P->coords[1] * plane->normal[1] + \ P->coords[2] * plane->normal[2] - \ P->coords[3] * plane->cst; \ clp_code = ((P_plan < 0.) << S); #defne POINT_INTER_3D(P, P_plan, Q, Q_plan) \ f (clp_ctx->hponts_bucet_ndex >= clp_ctx->hponts_bucet_max) { \ f (clp_ctx->hponts_bucet) { \ C = (H_pont *)realloc(clp_ctx->hponts_bucet, \ (clp_ctx->hponts_bucet_max + MEM_INCREMENT) * szeof(h_pont)); \ else { \ C = (H_pont *)malloc((clp_ctx->hponts_bucet_max + MEM_INCREMENT) \ * szeof(h_pont)); \ \ f (C) { \ clp_ctx->hponts_bucet_max += MEM_INCREMENT; \ clp_ctx->hponts_bucet = C; \ else { \ out->num_hponts = 0; \ return; \ \ \ lambda = P_plan / (P_plan - Q_plan); \ C->coords[0] = P->coords[0] + lambda * (Q->coords[0] - P->coords[0]); \ C->coords[1] = P->coords[1] + lambda * (Q->coords[1] - P->coords[1]); \ C->coords[2] = P->coords[2] + lambda * (Q->coords[2] - P->coords[2]); \ C->coords[3] = P->coords[3] + lambda * (Q->coords[3] - P->coords[3]); \ cur_stage[n_cur_s] = C; \ n_cur_s += 1; \ clp_ctx->hponts_bucet_ndex += 1; \ C += 1; #defne POINT_COPY(P) \ cur_stage[n_cur_s] = P; \ n_cur_s += 1; * h3d_strp_clp: * 3D trangle strp clpper. A trangle strp s made of * vertces logocally organzed n trangles (...). The frst * trangle s composed of the vertces 0, 1, and 2. The second * trangle s represented by the vertces 1, 2, and 3, and so * on untl the last vertex. * As presented n the algorthm, a trangle strp outputs only * one trangle strp. Ths s possble f degenerate trangles * are acceptable. * * Notes: * Ths s bascally a Sutherland-Hodgman algorthm. But a non-recursve * verson. h3d_strp_clp(clp_ctx, n, out) regster Clp_ctx *clp_ctx; regster H_lst *n; regster H_lst *out;

12 { regster H_pont **pre_stage, **cur_stage, **tmp_stage; regster H_pont *P, *Q, *R, *C; regster H_plane *plane; regster nt n_pre_s, n_cur_s, n_cur_max; regster nt, n; regster unsgned char clp_code; double lambda; float P_plan, Q_plan, R_plan; * At nt, set the prevous stage pont to the nput ponts values. n_cur_s = n->num_hponts; f (clp_ctx->ponters_bucet_0_max < (n_cur_s + MEM_INCREMENT)) { f (pre_stage = (H_pont **)malloc((n_cur_s + MEM_INCREMENT) * szeof(h_pont *))) { f (clp_ctx->ponters_bucet_0) free(clp_ctx->ponters_bucet_0); clp_ctx->ponters_bucet_0 = pre_stage; clp_ctx->ponters_bucet_0_max = n_cur_s + MEM_INCREMENT; else { out->num_hponts = 0; return; f (clp_ctx->ponters_bucet_1_max < (n_cur_s + MEM_INCREMENT)) { f (pre_stage = (H_pont **)malloc((n_cur_s + MEM_INCREMENT) * szeof(h_pont *))) { f (clp_ctx->ponters_bucet_1) free(clp_ctx->ponters_bucet_1); clp_ctx->ponters_bucet_1 = pre_stage; clp_ctx->ponters_bucet_1_max = n_cur_s + MEM_INCREMENT; else { out->num_hponts = 0; return; cur_stage = clp_ctx->ponters_bucet_0; for ( = 0; < n_cur_s; ++) cur_stage[] = &(n->hponts[]); C = clp_ctx->hponts_bucet; clp_ctx->hponts_bucet_ndex = 0; * For each of the clppng plane, clp (f necessary). plane = clp_ctx->mclp_planes; for ( = 0; ( < clp_ctx->num_planes && n_cur_s > 2); ++, plane++) { * swtch memory between current and prevous. pre_stage = cur_stage; n_pre_s = n_cur_s; f (cur_stage == clp_ctx->ponters_bucet_0) { cur_stage = clp_ctx->ponters_bucet_1; n_cur_max = clp_ctx->ponters_bucet_1_max; else { cur_stage = clp_ctx->ponters_bucet_0; n_cur_max = clp_ctx->ponters_bucet_0_max; n_cur_s = 0;

13 * Start clppng of the prevous stage, for the th clp plane. * Output ponts go n the current_stage memory. * Start clppng of the trangle strp from the prevous stage * nto the current stage, for the th clp plane. * * Process the frst pont of the trangle strp. * clp_code = 0; n = 0; COMPUTE_INTER_3D(Q, Q_plan, 1) * Now, process the second pont of the trangle strp. n = 1; COMPUTE_INTER_3D(R, R_plan, 2) * (Q, R) represents the frst lne segment of the frst trangle of * the trangle strp. We need to clp t as a lne * to ensure the frst two ponts of the trangle. n = clp_code >> 1; swtch (n) { case 0: Q and R nsde POINT_COPY(Q) POINT_COPY(R) case 1: Q outsde, R nsde POINT_INTER_3D(Q, Q_plan, R, R_plan) POINT_COPY(R) case 2: Q nsde, R outsde POINT_COPY(Q) POINT_INTER_3D(Q, Q_plan, R, R_plan) case 3: Q and R outsde default: * Process each subsequent pont of the trangle strp. * P, Q, R form the (n-2)th trangle of the strp. for (n = 2; n < n_pre_s; n++) { clp_code >>= 1; P = Q; Q = R; P_plan = Q_plan; Q_plan = R_plan;

14 COMPUTE_INTER_3D(R, R_plan, 2) * We need to ensure that enough memory s avalable. f (n_cur_max < n_cur_s + 3) { tmp_stage = (H_pont **)realloc(cur_stage, (n_cur_max + MEM_INCREMENT) * szeof (H_pont *)); f (tmp_stage) { f (cur_stage == clp_ctx->ponters_bucet_0) { clp_ctx->ponters_bucet_0_max += MEM_INCREMENT; else { clp_ctx->ponters_bucet_1_max += MEM_INCREMENT; else { out->num_hponts = 0; return; cur_stage = tmp_stage; n_cur_max += MEM_INCREMENT; * clp_code has now 3 bts that represent the stuaton of the trangle * n respect to the clp boundary. 8 dfferent cases can occur. swtch (clp_code) { case 0: all nsde POINT_COPY(R) case 1: P outsde, Q and R nsde POINT_INTER_3D(R, R_plan, P, P_plan) POINT_COPY(Q) POINT_COPY(R) case 2: P nsde, Q outsde and R nsde POINT_COPY(R) POINT_INTER_3D(Q, Q_plan, R, R_plan) POINT_COPY(R) case 3: P and Q outsde, R nsde POINT_INTER_3D(R, R_plan, P, P_plan) memcpy((char *)(cur_stage + n_cur_s), (char *)(cur_stage + n_cur_s - 1), szeof(h_pont)); n_cur_s += 1; POINT_INTER_3D(Q, Q_plan, R, R_plan) POINT_COPY(R) case 4: P and Q nsde, R outsde POINT_INTER_3D(R, R_plan, P, P_plan) POINT_COPY(Q) POINT_INTER_3D(Q, Q_plan, R, R_plan) case 5: P outsde, Q nsde, R outsde POINT_INTER_3D(Q, Q_plan, R, R_plan)

15 case 6: P nsde, Q and R outsde POINT_INTER_3D(R, R_plan, P, P_plan) memcpy((char *)(cur_stage + n_cur_s), (char *)(cur_stage + n_cur_s - 1), szeof(h_pont)); n_cur_s += 1; case 7: P, Q and R outsde default: * The trangle strp has been clpped aganst all (enabled) clppng * planes. * Copy the result to the output. f (n_cur_s > 2) { for ( = 0; < n_cur_s; ++) out->hponts[] = *(cur_stage[]); out->num_hponts = n_cur_s; else { out->num_hponts = 0; return; Concluson. Ths artcle has presented a dfferent approach to 3D homogeneous clppng of complex prmtves. Most of the partculartes presented here: re-organzaton of the Sutherland-Hodgman algorthm, ntersecton computatons, nonunform clppng volume, etc. can be used n any 3D homogeneous polygon clppng. The performance of the proposed algorthm s better that 89,000 trangles per second for trval acceptance and better than 114,000 trangles per second for trval reect on a Sun-Sparc staton 330, wth the C program gven n the prevous paragraph, for one model clppng plane and trangle strps of 10 or more trangles. The effcency of the clppng algorthm vares wth the number of planes and the number of trangles per trangle-strp. The worst case of the algorthm -one trangle per trangle strp- stll clps at an honorable speed of 32,000+ trangles per second. The specfc case of sngle trangles should be optmzed separately. An mplementaton optmzed for Vew

16 Clppng 7, 11 and lmted to the clppng aganst unform volumes (boundares have fxed values, -1.0, 0.0, or +1.0) gves also better performances. The method presented here has also been appled n the case of quadrlateral meshes. The clppng operaton s performed one quad-mesh row at a tme, and can generate several quad-mesh rows at the output of the clppng algorthm 11. Because quads are composed of four ponts, the algorthm taes two ponts at a tme, and the core of the clppng process necesstates 16 dfferent cases.

17 Bblography: 1 Sutherland, I. E, and Hodgman, G. W., Reentrant Polygon Clppng, CACM, 17 (1), Foley, vandam, Fener, Huges, 1990, Computer Graphcs, Prncples and Practce, Addson Welsey Mallot, P. G., 1986, Contrbuton à l étude des systèmes graphques: archtectures logcelle et matérelle, Ph.D. Thess, Unversty Claude Bernard, Lyon I, Lyon, France. 4 Newman, W.M., and Sproull, R.F., 1979, Prncples of Interactve Computer Graphcs, McGraw Hll. 5 Deerng & al, The Trangle Processor and Normal Vector Shader, CACM, 22 (4), Aeley, K., and Jermolu, T., Hgh Performance Polygon Renderng, CACM, 22 (4), Arvo, J., More Graphcs Gems, Academc Press. 8 PHIGS standard, 1988, Functonal Descrpton, Internatonal Standard ISO XGL 2.0, 1991, Reference Manual and Programmers gude, Sun Mcrosystems, Inc. 10 Hübl, J. and Herman, I., Modellng Clp: Some More Results, Computer Graphcs Forum 9, North Holland, Mallot, P.G., Three Dmensonal Homogeneous Clppng of Trangle Strps and Quadrlateral Meshes, Sun Mcrosystems, Inc. nternal document. 12 Ab-Ezz, S., and Wozny, M.J., Factorng a Homogeneous Transformaton Ppelne for a more Effcent Graphcs Ppelne, Computer Graphcs Forum 9, North Holland,

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

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

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

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

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

2D Raster Graphics. Integer grid Sequential (left-right, top-down) scan. Computer Graphics

2D Raster Graphics. Integer grid Sequential (left-right, top-down) scan. Computer Graphics 2D Graphcs 2D Raster Graphcs Integer grd Sequental (left-rght, top-down scan j Lne drawng A ver mportant operaton used frequentl, block dagrams, bar charts, engneerng drawng, archtecture plans, etc. curves

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

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

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 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

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

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

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

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

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

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

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

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

Interpolation of the Irregular Curve Network of Ship Hull Form Using Subdivision Surfaces

Interpolation of the Irregular Curve Network of Ship Hull Form Using Subdivision Surfaces 7 Interpolaton of the Irregular Curve Network of Shp Hull Form Usng Subdvson Surfaces Kyu-Yeul Lee, Doo-Yeoun Cho and Tae-Wan Km Seoul Natonal Unversty, kylee@snu.ac.kr,whendus@snu.ac.kr,taewan}@snu.ac.kr

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

UNIT 2 : INEQUALITIES AND CONVEX SETS

UNIT 2 : INEQUALITIES AND CONVEX SETS UNT 2 : NEQUALTES AND CONVEX SETS ' Structure 2. ntroducton Objectves, nequaltes and ther Graphs Convex Sets and ther Geometry Noton of Convex Sets Extreme Ponts of Convex Set Hyper Planes and Half Spaces

More information

Line Clipping by Convex and Nonconvex Polyhedra in E 3

Line Clipping by Convex and Nonconvex Polyhedra in E 3 Lne Clppng by Convex and Nonconvex Polyhedra n E 3 Václav Skala 1 Department of Informatcs and Computer Scence Unversty of West Bohema Unverztní 22, Box 314, 306 14 Plzeò Czech Republc e-mal: skala@kv.zcu.cz

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

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

RADIX-10 PARALLEL DECIMAL MULTIPLIER

RADIX-10 PARALLEL DECIMAL MULTIPLIER RADIX-10 PARALLEL DECIMAL MULTIPLIER 1 MRUNALINI E. INGLE & 2 TEJASWINI PANSE 1&2 Electroncs Engneerng, Yeshwantrao Chavan College of Engneerng, Nagpur, Inda E-mal : mrunalngle@gmal.com, tejaswn.deshmukh@gmal.com

More information

TN348: Openlab Module - Colocalization

TN348: Openlab Module - Colocalization TN348: Openlab Module - Colocalzaton Topc The Colocalzaton module provdes the faclty to vsualze and quantfy colocalzaton between pars of mages. The Colocalzaton wndow contans a prevew of the two mages

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

Notes on Organizing Java Code: Packages, Visibility, and Scope

Notes on Organizing Java Code: Packages, Visibility, and Scope Notes on Organzng Java Code: Packages, Vsblty, and Scope CS 112 Wayne Snyder Java programmng n large measure s a process of defnng enttes (.e., packages, classes, methods, or felds) by name and then usng

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

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

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

Collision Detection. Overview. Efficient Collision Detection. Collision Detection with Rays: Example. C = nm + (n choose 2)

Collision Detection. Overview. Efficient Collision Detection. Collision Detection with Rays: Example. C = nm + (n choose 2) Overvew Collson detecton wth Rays Collson detecton usng BSP trees Herarchcal Collson Detecton OBB tree, k-dop tree algorthms Multple object CD system Collson Detecton Fundamental to graphcs, VR applcatons

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

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

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

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

CE 221 Data Structures and Algorithms

CE 221 Data Structures and Algorithms CE 1 ata Structures and Algorthms Chapter 4: Trees BST Text: Read Wess, 4.3 Izmr Unversty of Economcs 1 The Search Tree AT Bnary Search Trees An mportant applcaton of bnary trees s n searchng. Let us assume

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

Data Representation in Digital Design, a Single Conversion Equation and a Formal Languages Approach

Data Representation in Digital Design, a Single Conversion Equation and a Formal Languages Approach Data Representaton n Dgtal Desgn, a Sngle Converson Equaton and a Formal Languages Approach Hassan Farhat Unversty of Nebraska at Omaha Abstract- In the study of data representaton n dgtal desgn and computer

More information

Analysis of Continuous Beams in General

Analysis of Continuous Beams in General Analyss of Contnuous Beams n General Contnuous beams consdered here are prsmatc, rgdly connected to each beam segment and supported at varous ponts along the beam. onts are selected at ponts of support,

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

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

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory Background EECS. Operatng System Fundamentals No. Vrtual Memory Prof. Hu Jang Department of Electrcal Engneerng and Computer Scence, York Unversty Memory-management methods normally requres the entre process

More information

Wishing you all a Total Quality New Year!

Wishing you all a Total Quality New Year! Total Qualty Management and Sx Sgma Post Graduate Program 214-15 Sesson 4 Vnay Kumar Kalakband Assstant Professor Operatons & Systems Area 1 Wshng you all a Total Qualty New Year! Hope you acheve Sx sgma

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

Multiblock method for database generation in finite element programs

Multiblock method for database generation in finite element programs Proc. of the 9th WSEAS Int. Conf. on Mathematcal Methods and Computatonal Technques n Electrcal Engneerng, Arcachon, October 13-15, 2007 53 Multblock method for database generaton n fnte element programs

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

On Some Entertaining Applications of the Concept of Set in Computer Science Course

On Some Entertaining Applications of the Concept of Set in Computer Science Course On Some Entertanng Applcatons of the Concept of Set n Computer Scence Course Krasmr Yordzhev *, Hrstna Kostadnova ** * Assocate Professor Krasmr Yordzhev, Ph.D., Faculty of Mathematcs and Natural Scences,

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

ELEC 377 Operating Systems. Week 6 Class 3

ELEC 377 Operating Systems. Week 6 Class 3 ELEC 377 Operatng Systems Week 6 Class 3 Last Class Memory Management Memory Pagng Pagng Structure ELEC 377 Operatng Systems Today Pagng Szes Vrtual Memory Concept Demand Pagng ELEC 377 Operatng Systems

More information

ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE

ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE Yordzhev K., Kostadnova H. Інформаційні технології в освіті ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE Yordzhev K., Kostadnova H. Some aspects of programmng educaton

More information

High level vs Low Level. What is a Computer Program? What does gcc do for you? Program = Instructions + Data. Basic Computer Organization

High level vs Low Level. What is a Computer Program? What does gcc do for you? Program = Instructions + Data. Basic Computer Organization What s a Computer Program? Descrpton of algorthms and data structures to acheve a specfc ojectve Could e done n any language, even a natural language lke Englsh Programmng language: A Standard notaton

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

An Approach in Coloring Semi-Regular Tilings on the Hyperbolic Plane

An Approach in Coloring Semi-Regular Tilings on the Hyperbolic Plane An Approach n Colorng Sem-Regular Tlngs on the Hyperbolc Plane Ma Louse Antonette N De Las Peñas, mlp@mathscmathadmueduph Glenn R Lago, glago@yahoocom Math Department, Ateneo de Manla Unversty, Loyola

More information

Electrical analysis of light-weight, triangular weave reflector antennas

Electrical analysis of light-weight, triangular weave reflector antennas Electrcal analyss of lght-weght, trangular weave reflector antennas Knud Pontoppdan TICRA Laederstraede 34 DK-121 Copenhagen K Denmark Emal: kp@tcra.com INTRODUCTION The new lght-weght reflector antenna

More information

2x x l. Module 3: Element Properties Lecture 4: Lagrange and Serendipity Elements

2x x l. Module 3: Element Properties Lecture 4: Lagrange and Serendipity Elements Module 3: Element Propertes Lecture : Lagrange and Serendpty Elements 5 In last lecture note, the nterpolaton functons are derved on the bass of assumed polynomal from Pascal s trangle for the fled varable.

More information

Exercises (Part 4) Introduction to R UCLA/CCPR. John Fox, February 2005

Exercises (Part 4) Introduction to R UCLA/CCPR. John Fox, February 2005 Exercses (Part 4) Introducton to R UCLA/CCPR John Fox, February 2005 1. A challengng problem: Iterated weghted least squares (IWLS) s a standard method of fttng generalzed lnear models to data. As descrbed

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

Assembler. Building a Modern Computer From First Principles.

Assembler. Building a Modern Computer From First Principles. Assembler Buldng a Modern Computer From Frst Prncples www.nand2tetrs.org Elements of Computng Systems, Nsan & Schocken, MIT Press, www.nand2tetrs.org, Chapter 6: Assembler slde Where we are at: Human Thought

More information

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms Course Introducton Course Topcs Exams, abs, Proects A quc loo at a few algorthms 1 Advanced Data Structures and Algorthms Descrpton: We are gong to dscuss algorthm complexty analyss, algorthm desgn technques

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

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

Harvard University CS 101 Fall 2005, Shimon Schocken. Assembler. Elements of Computing Systems 1 Assembler (Ch. 6)

Harvard University CS 101 Fall 2005, Shimon Schocken. Assembler. Elements of Computing Systems 1 Assembler (Ch. 6) Harvard Unversty CS 101 Fall 2005, Shmon Schocken Assembler Elements of Computng Systems 1 Assembler (Ch. 6) Why care about assemblers? Because Assemblers employ some nfty trcks Assemblers are the frst

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

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

Accessibility Analysis for the Automatic Contact and Non-contact Inspection on Coordinate Measuring Machines

Accessibility Analysis for the Automatic Contact and Non-contact Inspection on Coordinate Measuring Machines Proceedngs of the World Congress on Engneerng 008 Vol I Accessblty Analyss for the Automatc Contact and Non-contact Inspecton on Coordnate Measurng Machnes B. J. Álvarez, P. Fernández, J. C. Rco and G.

More information

F Geometric Mean Graphs

F Geometric Mean Graphs Avalable at http://pvamu.edu/aam Appl. Appl. Math. ISSN: 1932-9466 Vol. 10, Issue 2 (December 2015), pp. 937-952 Applcatons and Appled Mathematcs: An Internatonal Journal (AAM) F Geometrc Mean Graphs A.

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

VRT012 User s guide V0.1. Address: Žirmūnų g. 27, Vilnius LT-09105, Phone: (370-5) , Fax: (370-5) ,

VRT012 User s guide V0.1. Address: Žirmūnų g. 27, Vilnius LT-09105, Phone: (370-5) , Fax: (370-5) , VRT012 User s gude V0.1 Thank you for purchasng our product. We hope ths user-frendly devce wll be helpful n realsng your deas and brngng comfort to your lfe. Please take few mnutes to read ths manual

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

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

Conditional Speculative Decimal Addition*

Conditional Speculative Decimal Addition* Condtonal Speculatve Decmal Addton Alvaro Vazquez and Elsardo Antelo Dep. of Electronc and Computer Engneerng Unv. of Santago de Compostela, Span Ths work was supported n part by Xunta de Galca under grant

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

APPLICATION OF AN AUGMENTED REALITY SYSTEM FOR DISASTER RELIEF

APPLICATION OF AN AUGMENTED REALITY SYSTEM FOR DISASTER RELIEF APPLICATION OF AN AUGMENTED REALITY SYSTEM FOR DISASTER RELIEF Johannes Leebmann Insttute of Photogrammetry and Remote Sensng, Unversty of Karlsruhe (TH, Englerstrasse 7, 7618 Karlsruhe, Germany - leebmann@pf.un-karlsruhe.de

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

Intra-Parametric Analysis of a Fuzzy MOLP

Intra-Parametric Analysis of a Fuzzy MOLP Intra-Parametrc Analyss of a Fuzzy MOLP a MIAO-LING WANG a Department of Industral Engneerng and Management a Mnghsn Insttute of Technology and Hsnchu Tawan, ROC b HSIAO-FAN WANG b Insttute of Industral

More information

ETAtouch RESTful Webservices

ETAtouch RESTful Webservices ETAtouch RESTful Webservces Verson 1.1 November 8, 2012 Contents 1 Introducton 3 2 The resource /user/ap 6 2.1 HTTP GET................................... 6 2.2 HTTP POST..................................

More information

Chapter 4. Non-Uniform Offsetting and Hollowing by Using Biarcs Fitting for Rapid Prototyping Processes

Chapter 4. Non-Uniform Offsetting and Hollowing by Using Biarcs Fitting for Rapid Prototyping Processes Chapter 4 Non-Unform Offsettng and Hollowng by Usng Barcs Fttng for Rapd Prototypng Processes Ths chapter presents a new method of Non-Unform offsettng and usng barc fttngs to hollow out sold objects or

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

The stream cipher MICKEY-128 (version 1) Algorithm specification issue 1.0

The stream cipher MICKEY-128 (version 1) Algorithm specification issue 1.0 The stream cpher MICKEY-128 (verson 1 Algorthm specfcaton ssue 1. Steve Babbage Vodafone Group R&D, Newbury, UK steve.babbage@vodafone.com Matthew Dodd Independent consultant matthew@mdodd.net www.mdodd.net

More information

Image Alignment CSC 767

Image Alignment CSC 767 Image Algnment CSC 767 Image algnment Image from http://graphcs.cs.cmu.edu/courses/15-463/2010_fall/ Image algnment: Applcatons Panorama sttchng Image algnment: Applcatons Recognton of object nstances

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

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

Today Using Fourier-Motzkin elimination for code generation Using Fourier-Motzkin elimination for determining schedule constraints

Today Using Fourier-Motzkin elimination for code generation Using Fourier-Motzkin elimination for determining schedule constraints Fourer Motzkn Elmnaton Logstcs HW10 due Frday Aprl 27 th Today Usng Fourer-Motzkn elmnaton for code generaton Usng Fourer-Motzkn elmnaton for determnng schedule constrants Unversty Fourer-Motzkn Elmnaton

More information

BITPLANE AG IMARISCOLOC. Operating Instructions. Manual Version 1.0 January the image revolution starts here.

BITPLANE AG IMARISCOLOC. Operating Instructions. Manual Version 1.0 January the image revolution starts here. BITPLANE AG IMARISCOLOC Operatng Instructons Manual Verson 1.0 January 2003 the mage revoluton starts here. Operatng Instructons BITPLANE AG Copyrght Ths document contans propretary nformaton protected

More information

Explicit Formulas and Efficient Algorithm for Moment Computation of Coupled RC Trees with Lumped and Distributed Elements

Explicit Formulas and Efficient Algorithm for Moment Computation of Coupled RC Trees with Lumped and Distributed Elements Explct Formulas and Effcent Algorthm for Moment Computaton of Coupled RC Trees wth Lumped and Dstrbuted Elements Qngan Yu and Ernest S.Kuh Electroncs Research Lab. Unv. of Calforna at Berkeley Berkeley

More information

Proper Choice of Data Used for the Estimation of Datum Transformation Parameters

Proper Choice of Data Used for the Estimation of Datum Transformation Parameters Proper Choce of Data Used for the Estmaton of Datum Transformaton Parameters Hakan S. KUTOGLU, Turkey Key words: Coordnate systems; transformaton; estmaton, relablty. SUMMARY Advances n technologes and

More information

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices Internatonal Mathematcal Forum, Vol 7, 2012, no 52, 2549-2554 An Applcaton of the Dulmage-Mendelsohn Decomposton to Sparse Null Space Bases of Full Row Rank Matrces Mostafa Khorramzadeh Department of Mathematcal

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

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

Cell Count Method on a Network with SANET

Cell Count Method on a Network with SANET CSIS Dscusson Paper No.59 Cell Count Method on a Network wth SANET Atsuyuk Okabe* and Shno Shode** Center for Spatal Informaton Scence, Unversty of Tokyo 7-3-1, Hongo, Bunkyo-ku, Tokyo 113-8656, Japan

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

News. Recap: While Loop Example. Reading. Recap: Do Loop Example. Recap: For Loop Example

News. Recap: While Loop Example. Reading. Recap: Do Loop Example. Recap: For Loop Example Unversty of Brtsh Columba CPSC, Intro to Computaton Jan-Apr Tamara Munzner News Assgnment correctons to ASCIIArtste.java posted defntely read WebCT bboards Arrays Lecture, Tue Feb based on sldes by Kurt

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

APPLICATION OF MULTIVARIATE LOSS FUNCTION FOR ASSESSMENT OF THE QUALITY OF TECHNOLOGICAL PROCESS MANAGEMENT

APPLICATION OF MULTIVARIATE LOSS FUNCTION FOR ASSESSMENT OF THE QUALITY OF TECHNOLOGICAL PROCESS MANAGEMENT 3. - 5. 5., Brno, Czech Republc, EU APPLICATION OF MULTIVARIATE LOSS FUNCTION FOR ASSESSMENT OF THE QUALITY OF TECHNOLOGICAL PROCESS MANAGEMENT Abstract Josef TOŠENOVSKÝ ) Lenka MONSPORTOVÁ ) Flp TOŠENOVSKÝ

More information

Support Vector Machines. CS534 - Machine Learning

Support Vector Machines. CS534 - Machine Learning Support Vector Machnes CS534 - Machne Learnng Perceptron Revsted: Lnear Separators Bnar classfcaton can be veed as the task of separatng classes n feature space: b > 0 b 0 b < 0 f() sgn( b) Lnear Separators

More information

Barycentric Coordinates. From: Mean Value Coordinates for Closed Triangular Meshes by Ju et al.

Barycentric Coordinates. From: Mean Value Coordinates for Closed Triangular Meshes by Ju et al. Barycentrc Coordnates From: Mean Value Coordnates for Closed Trangular Meshes by Ju et al. Motvaton Data nterpolaton from the vertces of a boundary polygon to ts nteror Boundary value problems Shadng Space

More information

An Accurate Evaluation of Integrals in Convex and Non convex Polygonal Domain by Twelve Node Quadrilateral Finite Element Method

An Accurate Evaluation of Integrals in Convex and Non convex Polygonal Domain by Twelve Node Quadrilateral Finite Element Method Internatonal Journal of Computatonal and Appled Mathematcs. ISSN 89-4966 Volume, Number (07), pp. 33-4 Research Inda Publcatons http://www.rpublcaton.com An Accurate Evaluaton of Integrals n Convex and

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

CHAPTER 2 DECOMPOSITION OF GRAPHS

CHAPTER 2 DECOMPOSITION OF GRAPHS CHAPTER DECOMPOSITION OF GRAPHS. INTRODUCTION A graph H s called a Supersubdvson of a graph G f H s obtaned from G by replacng every edge uv of G by a bpartte graph,m (m may vary for each edge by dentfyng

More information