[Computer Graphics] Computational Geometry and Object

合集下载

计算机专业英语翻译参考

计算机专业英语翻译参考

1.(P1) Computer science deals with the theoretical foundations of information and computation, together withpractical techniques for the implementation and application of these foundations, such as programming language theory, computational complexity theory, computer graphics and human-computer interaction.计算机科学涉及信息和计算的理论基础,以及这些基础的实施和应用的实际技术,如编程语言理论,计算复杂性理论,计算机图形学和人机交互。

2.(P17) The most important piece of graphics hardware is the graphics card, which is the piece of equipment thatrenders out all images and sends them to a display. There are two types of graphics cards: integrated and dedicated. An integrated graphics card, usually by Intel for use in their computers, is bound to the motherboard and shares RAM (Random Access Memory) with the CPU, reducing the total amount of RAM available. This is undesirable for running programs and applications that use a large amount of video memory. A dedicated graphics card has its own RAM and Processor for generating its images, and does not slow down the computer.Dedicated graphics cards also have higher performance than integrated graphics cards. It is possible to have both dedicated and integrated graphics card, however once a dedicated graphics card is installed, the integrated card will no longer function until the dedicated card is removed.最重要的一块图形硬件是显卡,是一件呈现出所有的图像,并将它们发送到一个显示器的设备。

Seminar 1 - 2(精简后)

Seminar 1 - 2(精简后)

(2)通用科技词汇
这类词汇的特点是词义窄、使用范围较广、出现频率 较高。 例如:frequency(频率)、density(密度)。
(3)半科技词汇
这类词汇指的是在计算机专业英语中使用的普通词汇。 它除了本身的基本词义外,在不同的专业中又有不同 的含义。这类词汇的特点是词义多、使用范围广、出 现频率最高。较难掌握。 例如:conductor在普通英语中指的是“售票员、乐队 指挥”等,而在电学中则指“导体”;register在普通 英语中指的是“登记簿、名册、挂号信”等,而在计 算机专业英语中则指“寄存器”,在电学中指“记数 器、记录器”,在音乐中指“音区”等。
Research area in Computer science
Computer science is one of the most popular streams of science in today's world. Computer science is a subject of science that includes the procedures of applying the various information and mechanisms in the computer systems. Computer science is also known as computing science. Basically computer science is the study of computer and various aspects of computer.
icmp(internet control message protocol,因特网信息控制协 议) ip(internet protocol,网际协议) isdn(integrated service digital network,综合服务数字网络) lan(local area network,局域网) modem(modulator demodulator,调制解调器) nat(network address translation,网络地址转换) msn: microsoft network,微软网络 smtp(simple mail transfer protocol,简单邮件传输协议) pop3: post office protocol version 3,第三版电子邮局协议 snmp(simple network management protocol,简单网络管理 协议) Html (Hypertext Markup Language)超文本标记语言

基于屏幕空间的泊松表面重建

基于屏幕空间的泊松表面重建

Screened Poisson Surface ReconstructionMICHAEL KAZHDANJohns Hopkins UniversityandHUGUES HOPPEMicrosoft ResearchPoisson surface reconstruction creates watertight surfaces from oriented point sets.In this work we extend the technique to explicitly incorporate the points as interpolation constraints.The extension can be interpreted as a generalization of the underlying mathematical framework to a screened Poisson equation.In contrast to other image and geometry processing techniques,the screening term is defined over a sparse set of points rather than over the full domain.We show that these sparse constraints can nonetheless be integrated efficiently.Because the modified linear system retains the samefinite-element discretization,the sparsity structure is unchanged,and the system can still be solved using a multigrid approach. Moreover we present several algorithmic improvements that together reduce the time complexity of the solver to linear in the number of points, thereby enabling faster,higher-quality surface reconstructions.Categories and Subject Descriptors:I.3.5[Computer Graphics]:Compu-tational Geometry and Object ModelingAdditional Key Words and Phrases:screened Poisson equation,adaptive octree,finite elements,surfacefittingACM Reference Format:Kazhdan,M.,and Hoppe,H.Screened Poisson surface reconstruction. ACM Trans.Graph.NN,N,Article NN(Month YYYY),PP pages.DOI=10.1145/XXXXXXX.YYYYYYY/10.1145/XXXXXXX.YYYYYYY1.INTRODUCTIONPoisson surface reconstruction[Kazhdan et al.2006]is a well known technique for creating watertight surfaces from oriented point samples acquired with3D range scanners.The technique is resilient to noisy data and misregistration artifacts.However, as noted by several researchers,it suffers from a tendency to over-smooth the data[Alliez et al.2007;Manson et al.2008; Calakli and Taubin2011;Berger et al.2011;Digne et al.2011].In this work,we explore modifying the Poisson reconstruc-tion algorithm to incorporate positional constraints.This mod-ification is inspired by the recent reconstruction technique of Calakli and Taubin[2011].It also relates to recent work in im-age and geometry processing[Nehab et al.2005;Bhat et al.2008; Chuang and Kazhdan2011],in which a datafidelity term is used to“screen”the associated Poisson equation.In our surface recon-struction context,this screening term corresponds to a soft con-straint that encourages the reconstructed isosurface to pass through the input points.The approach we propose differs from the traditional screened Poisson formulation in that the position and gradient constraints are defined over different domain types.Whereas gradients are constrained over the full3D space,positional constraints are introduced only over the input points,which lie near a2D manifold. We show how these two types of constraints can be efficiently integrated,so that we can leverage the original multigrid structure to solve the linear system without incurring a significant overhead in space or time.To demonstrate the benefits of screening,Figure1compares results of the traditional Poisson surface reconstruction and the screened Poisson formulation on a subset of11.4M points from the scan of Michelangelo’s David[Levoy et al.2000].Both reconstructions are computed over a spatial octree of depth10,corresponding to an effective voxel resolution of10243.Screening generates a model that better captures the input data(as visualized by the surface cross-sections overlaid with the projection of nearby samples), even though both reconstructions have similar complexity(6.8M and6.9M triangles respectively)and required similar processing time(230and272seconds respectively,without parallelization).1 Another contribution of our work is to modify both the octree structure and the multigrid implementation to reduce the time complexity of solving the Poisson system from log-linear to linear in the number of input points.Moreover we show that hierarchical point clustering enables screened Poisson reconstruction to attain this same linear complexity.2.RELA TED WORKReconstructing surfaces from scanned points is an important and extensively studied problem in computer graphics.The numerous approaches can be broadly categorized as follows. Combinatorial Algorithms.Many schemes form a triangula-tion using a subset of the input points[Cazals and Giesen2006]. Space is often discretized using a tetrahedralization or a voxel grid,and the resulting elements are partitioned into inside and outside regions using an analysis of cells[Amenta et al.2001; Boissonnat and Oudot2005;Podolak and Rusinkiewicz2005], eigenvector computation[Kolluri et al.2004],or graph cut [Labatut et al.2009;Hornung and Kobbelt2006].Implicit Functions.In the presence of sampling noise,a common approach is tofit the points using the zero set of an implicit func-tion,such as a sum of radial bases[Carr et al.2001]or piecewise polynomial functions[Ohtake et al.2005;Nagai et al.2009].Many techniques estimate a signed-distance function[Hoppe et al.1992; 1The performance of the unscreened solver is measured using our imple-mentation with screening weight set to zero.The implementation of the original Poisson reconstruction runs in412seconds.ACM Transactions on Graphics,V ol.VV,No.N,Article XXX,Publication date:Month YYYY.2•M.Kazhdan and H.HoppeFig.1:Reconstruction of the David head ‡,comparing traditional Poisson surface reconstruction (left)and screened Poisson surface reconstruction which incorporates point constraints (center).The rightmost diagram plots pixel depth (z )values along the colored segments together with the positions of nearby samples.The introduction of point constraints significantly improves fit accuracy,sharpening the reconstruction without amplifying noise.Bajaj et al.1995;Curless and Levoy 1996].If the input points are unoriented,an important step is to correctly infer the sign of the resulting distance field [Mullen et al.2010].Our work extends Poisson surface reconstruction [Kazhdan et al.2006],in which the implicit function corresponds to the model’s indicator function χ.The function χis often defined to have value 1inside and value 0outside the model.To simplify the derivations,inthis paper we define χto be 12inside and −12outside,so that its zero isosurface passes near the points.The function χis solved using a Laplacian system discretized over a multiresolution B-spline basis,as reviewed in Section 3.Alliez et al.[2007]form a Laplacian system over a tetrahedral-ization,and constrain the solution’s biharmonic energy;the de-sired function is obtained as the solution to an eigenvector prob-lem.Manson et al.[2008]represent the indicator function χusing a wavelet basis,and efficiently compute the basis coefficients using simple local sums over an adapted octree.Calakli and Taubin [2011]optimize a signed-distance function to have value zero at the points,have derivatives that agree with the point normals,and minimize a Hessian smoothness norm.The resulting optimization involves a bilaplacian operator,which requires estimating derivatives of higher order than in the Laplacian.The reconstructed surfaces are shown to have good accuracy,strongly suggesting the importance of explicitly fitting the points within the optimization.This motivated us to explore whether a Laplacian system could be extended in this respect,and also be compatible with a multigrid solver.Screened Poisson Surface Fitting.The method of Nehab et al.[2005],which simultaneously fits position and normal constraints,may also be viewed as the solution of a screened Poisson equation.The fitting algorithm assumes that a 2D parametric domain (i.e.,a plane or triangle mesh)is already established.The position and derivative constraints are both defined over this 2D domain.In contrast,in Poisson surface reconstruction the 2D domain manifold is initially unknown,and therefore the goal is to infer anindicator function χrather than a parametric function.This leadsto a hybrid problem with derivative (Laplacian)constraints defined densely over 3D and position constraints defined sparsely on the set of points sampled near the unknown 2D manifold.3.REVIEW OF POISSON SURFACE RECONSTRUCTIONThe approach of Poisson surface reconstruction is based on the observation that the (inward pointing)normal field of the boundary of a solid can be interpreted as the gradient of the solid’s indicator function.Thus,given a set of oriented points sampling the boundary,a watertight mesh can be obtained by (1)transforming the oriented point samples into a continuous vector field in 3D,(2)finding a scalar function whose gradients best match the vector field,and (3)extracting the appropriate isosurface.Because our work focuses primarily on the second step,we review it here in more detail.Scalar Function Fitting.Given a vector field V :R 3→R 3,thegoal is to solve for the scalar function χ:R 3→R minimizing:E (χ)=∇χ(p )− V (p ) 2d p .(1)Using the Euler-Lagrange formulation,the minimum is obtainedby solving the Poisson equation:∆χ=∇· V .System Discretization.The Galerkin formulation is used totransform this into a finite-dimensional system [Fletcher 1984].First,a basis {B 1,...,B N }:R 3→R is chosen,namely a collection of trivariate (usually triquadratic)B-spline functions.With respect to this basis,the discretization becomes:∆χ,B i [0,1]3= ∇· V ,B i [0,1]31≤i ≤Nwhere ·,· [0,1]3is the standard inner-product on the space of(scalar-and vector-valued)functions defined on the unit cube:F ,G [0,1]3=[0,1]3F (p )·G (p )d p , U , V [0,1]3=[0,1]3U (p ), V (p ) d p .Since the solution is itself expressed in terms of the basis functions:χ(p )=N∑i =1x i B i (p ),ACM Transactions on Graphics,V ol.VV ,No.N,Article XXX,Publication date:Month YYYY .1.离散化->连续2.找个常量函数最佳拟合这些这些向量域;3.抽取等值面这里已经将离散的有向点转化为了连续的向量域表示;点集合的最初的思考Screened Poisson Surface Reconstruction•3finding the coefficients{x i}of the solution reduces to solving the linear system Ax=b where:A i j= ∇B i,∇B j [0,1]3and b i= V,∇B i [0,1]3.(2) The basis functions{B1,...,B N}are chosen to be compactly supported,so most pairs of functions do not have overlapping support,and thus the matrix A is sparse.Because the solution is expected to be smooth away from the input samples,the linear system is discretized byfirst adapting an octree to the input samples and then associating an(appropriately scaled and translated)trivariate B-spline function to each octree node. This provides high-resolution detail in the vicinity of the surface while reducing the overall dimensionality of the system.System Solution.Given the hierarchy defined by an octree of depth D,a multigrid approach is used to solve the linear system. The basis functions are partitioned according to the depths of their associated nodes and,for each depth d,a linear system A d x d=b d is defined using the corresponding B-splines{B d1,...,B d Nd},such thatχ(p)=∑D d=0∑i x d i B d i(p).Because the octree-selected B-spline functions do not form a complete grid at each depth,it is generally not possible to prolong the solution x d at depth d into the solution x d+1at depth d+1. (The B-spline associated with a given node is a sum of B-spline functions associated not only with its own child nodes,but also with child nodes of its neighbors.)Instead,the constraints at depth d+1are adjusted to account for the part of the solution already realized at coarser depths.Pseudocode for a cascadic solver,where the solution is only relaxed on the up-stroke of the V-cycle,is given in Algorithm1.Algorithm1:Cascadic Poisson Solver1For d∈{0,...,D}Iterate from coarse tofine2For d ∈{0,...,d−1}Remove the constraints3b d=b d−A dd x d met at coarser depths4Relax A d x d=b d Adjust the system at depth dHere,A dd is the N d×N d matrix used to transform solution coefficients at depth d into constraints at depth d:A dd i j= ∇B d i,∇B d j [0,1]3.Note that,by definition,A d=A dd.Isosurface Extraction.Solving the Poisson equation,one obtains a functionχthat approximates the indicator function.Ideally,the function’s zero level-set should therefore correspond to the desired surface.In practice however,the functionχcan differ from the true indicator function due to several sources of error:—The point sampling may be noisy,possibly containing outliers.—The Galerkin discretization is only an approximation of the continuous problem.—The point sampling density is approximated during octree construction.To mitigate these errors,in[Kazhdan et al.2006]the implicit function is adjusted by globally subtracting the average value of the function at the input samples.4.INCORPORA TING POINT CONSTRAINTSThe original Poisson surface reconstruction algorithm adjusts the implicit function using a single global offset such that its average value at all points is zero.However,the presence of errors can cause the implicit function to drift so that no global offset is satisfactory. Instead,we seek to explicitly interpolate the points.Given the set of input points P with weights w:P→R≥0,we add to the energy of Equation1a term that penalizes the function’s deviation from zero at the samples:E(χ)=V(p)−∇χ(p) 2d p+α·Area(P)∑p∈P∑p∈Pw(p)χ2(p)(3)whereαis a weight that trades off the importance offitting the gradients andfitting the values,and Area(P)is the area of the reconstructed surface,estimated by computing the local sampling density as in[Kazhdan et al.2006].In our implementation,we set the per-sample weights w(p)=1,although one can also use confidence values if these are available.The energy can be expressed concisely asE(χ)= V−∇χ, V−∇χ [0,1]3+α χ,χ (w,P)(4)where ·,· (w,P)is the bilinear,symmetric,positive,semi-definite form on the space of functions in the unit-cube,obtained by taking the weighted sum of function values:F,G (w,P)=Area(P)∑p∈P w(p)∑p∈Pw(p)·F(p)·G(p).4.1Interpretation as a Screened Poisson EquationThe energy in Equation4combines a gradient constraint integrated over the spatial domain with a value constraint summed at discrete points.As shown in the appendix,its minimization can be interpreted as a screened Poisson equation(∆−α˜I)χ=∇· V with an appropriately defined operator˜I.4.2DiscretizationWe apply a discretization similar to that in Section3to the minimization of the energy in Equation4.The coefficients of the solutionχwith respect to the basis{B1,...,B N}are again obtained by solving a linear system of the form Ax=b.The right-hand-side b is unchanged because the constrained value at the sample points is zero.Matrix A now includes the point constraints:A i j= ∇B i,∇B j [0,1]3+α B i,B j (w,P).(5) Note that incorporating the point constraints does not change the sparsity of matrix A because B i(p)·B j(p)is nonzero only if the supports of the two functions overlap,in which case the Poisson equation has already introduced a nonzero entry in the matrix.As in Section3,we solve this linear system using a cascadic multigrid algorithm–iterating over the octree depths from coarsest tofinest,adjusting the constraints,and relaxing the system.Similar to Equation5,the matrix used to transform a solution at depth d to a constraint at depth d is expressed as:A dd i j= ∇B d i,∇B d j [0,1]3+α B d i,B d j (w,P).ACM Transactions on Graphics,V ol.VV,No.N,Article XXX,Publication date:Month YYYY.4•M.Kazhdan and H.HoppeFig.2:Visualizations of the reconstructed implicit function along a planar slice through the cow ‡(shown in blue on the left),for the original Poisson solver,and for the screened Poisson solver without and with scale-independent screening.This operator adjusts the constraint b d (line 3of Algorithm 1)not only by removing the Poisson constraints met at coarser resolutions,but also by modifying the constrained values at points where the coarser solution does not evaluate to zero.4.3Scale-Independent ScreeningTo balance the two energy terms in Equation 3,it is desirable to adjust the screening parameter αsuch that (1)the reconstructed surface shape is invariant under scaling of the input points with respect to the solver domain,and (2)the prolongation of a solution at a coarse depth is an accurate estimate of the solution at a finer depth in the cascadic multigrid approach.We achieve both these goals by adjusting the relative weighting of position and gradient constraints across the different octree depths.Noting that the magnitude of the gradient constraint scales with resolution,we double the weight of the interpolation constraint with each depth:A ddi j = ∇B d i ,∇B dj [0,1]3+2d α B d i ,B dj (w ,P ).The adaptive weight of 2d is chosen to keep the Laplacian and screening constraints around the surface in balance.To see this,assume that the points are locally planar,and consider the row of the system matrix corresponding to an octree node overlapping the points.The coefficients of the system in that row are the sum of Laplacian and screening terms.If we consider the rows corresponding to the child nodes that overlap the surface,we find that the contribution from the Laplacian constraints scales by a factor of 1/2while the contribution from the screening term scales by a factor of 1/4.2Thus,scaling the screening weights by a factor of two with each resolution keeps the two terms in balance.Figure 2shows the benefit of scale-independent screening in reconstructing a cow model.The leftmost image shows a plane passing through the bounding cube of the cow,and the images to the right show the values of the computed indicator function along that plane,for different implementations of the solver.As the figure shows,the unscreened Poisson solver provides a good approximation of the indicator functions,with values inside (resp.outside)the surface approximately 1/2(resp.-1/2).However,applying the same solver to the screened Poisson equation (second from right)provides a solution that is only correct near the input samples and returns to zero near the faces of the bounding cube,2Forthe Laplacian term,the Laplacian scales by a factor of 4with refinement,and volumetric integrals scale by a factor of 1/8.For the screening term,area integrals scale by a factor of 1/4.potentially resulting in spurious surface sheets away from the surface.It is only with scale-independent screening (right)that we obtain a high-quality solution to the screened Poisson ing this resolution adaptive weighting,our system has the property that the reconstruction obtained by solving at depth D is identical to the reconstruction that would be obtained by scaling the point set by 1/2and solving at depth D +1.To see this,we consider the two energies that guide the reconstruc-tion,E V (χ)measuring the extent to which the gradients of the so-lution match the prescribed vector field,and E (w ,P )(χ)measuring the extent to which the solution meets the screening constraint:E V (χ)=V (p )−∇χ(p )2d p E (w ,P )(χ)=Area (P )∑p ∈P w (p )∑p ∈Pw (p )χ2(p ).Scaling by 1/2,we obtain a new point set (˜w ,˜P)with positions scaled by 1/2,unchanged weights,˜w (p )=w (2p ),and scaled area,Area (˜P )=Area (P )/4;a new scalar field,˜χ(p )=χ(2p );and a new vector field,˜ V (p )=2 V (2p ).Computing the correspondingenergies,we get:E ˜ V (˜χ)=1E V(χ)and E (˜w ,˜P )(˜χ)=1E (w ,P )(χ).Thus,scaling the screening weight by a factor of two with eachsuccessive depth ensures that the sum of energies is unchanged (up to multiplication by a constant)so the minimizer remains the same.4.4Boundary ConditionsIn order to define the linear system,it is necessary to define the behavior of the function space along the boundary of the integration domain.In the original Poisson reconstruction the authors imposed Dirichlet boundary conditions,forcing the implicit function to havea value of −12along the boundary.In the present work we extend the implementation to support Neumann boundary conditions as well,forcing the normal derivative to be zero along the boundary.In principle these two boundary conditions are equivalent for watertight surfaces,since the indicator function has a constant negative value outside the model.However,in the presence of missing data we find Neumann constraints to be less restrictive because they only require that the implicit function have zero derivative across the boundary of the integration domain,a property that is compatible with the gradient constraint since the guiding vector field V is set to zero away from the samples.(Note that when the surface does cross the boundary of the domain,the Neumann boundary constraints create a bias to crossing the domain boundary orthogonally.)Figure 3shows the practical implications of this choice when reconstructing the Angel model,which was only scanned from the front.The left image shows the original point set and the reconstructions using Dirichlet and Neumann boundary conditions are shown to the right.As the figure shows,imposing Dirichlet constraints creates a water-tight surface that closes off before reaching the boundary while using Neumann constraints allows the surface to extend out to the boundary of the domain.ACM Transactions on Graphics,V ol.VV ,No.N,Article XXX,Publication date:Month YYYY .Screened Poisson Surface Reconstruction•5Fig.3:Reconstructions of the Angel point set‡(left)using Dirichlet(center) and Neumann(right)boundary conditions.Similar results can be seen at the bases of the models in Figures1 and4a,with the original Poisson reconstructions obtained using Dirichlet constraints and the screened reconstructions obtained using Neumann constraints.5.IMPROVED ALGORITHMIC COMPLEXITYIn this section we discuss the efficiency of our reconstruction al-gorithm.We begin by analyzing the complexity of the algorithm described above.Then,we present two algorithmic improvements. Thefirst describes how hierarchical clustering can be used to re-duce the screening overhead at coarser resolutions.The second ap-plies to both the unscreened and screened solver implementations, showing that the asymptotic time complexity in both cases can be reduced to be linear in the number of input points.5.1Efficiency of basic solverLet us begin by analyzing the computational complexity of the unscreened and screened solvers.We assume that the points P are evenly distributed over a surface,so that the depth of the adapted octree is D=O(log|P|)and the number of octree nodes at depth d is O(4d).We also note that the number of nonzero entries in matrix A dd is O(4d),since the matrix has O(4d)rows and each row has at most53nonzero entries.(Since we use second-order B-splines, basis functions are supported within their one-ring neighborhoods and the support of two functions will overlap only if one is within the two-ring neighborhood of the other.)Assuming that the matrices A dd have already been computed,the computational complexity for the different steps in Algorithm1is: Step3:O(4d)–since A dd has O(4d)nonzero entries.Step4:O(4d)–since A d has O(4d)nonzero entries and the number of relaxation steps performed is constant.Steps2-3:∑d−1d =0O(4d)=O(4d·d).Steps2-4:O(4d·d+4d)=O(4d·d).Steps1-4:∑D d=0O(4d·d)=O(4D·D)=O(|P|·log|P|). There still remains the computation of matrices A dd .For the unscreened solver,the complexity of computing A dd is O(4d),since each entry can be computed in constant time.Thus, the overall time complexity remains O(|P|·log|P|).For the screened solver,the complexity of computing A dd is O(|P|)since defining the coefficients requires accumulating the screening contribution from each of the points,and each point contributes to a constant number of rows.Thus,the overall time complexity is dominated by the cost of evaluating the coefficients of A dd which is:D∑d=0d−1∑d =0O(|P|)=O(|P|·D2)=O(|P|·log2|P|).5.2Hierarchical Clustering of Point ConstraintsOurfirst modification is based on the observation that since the basis functions at coarser resolutions are smooth,it is unnecessary to constrain them at the precise sample locations.Instead,we cluster the weighted points as in[Rusinkiewicz and Levoy2000]. Specifically,for each depth d,we define(w d,P d)where p i∈P d is the weighted average position of the points falling into octree node i at depth d,and w d(p i)is the sum of the associated weights.3 If all input points have weight w(p)=1,then w d(p i)is simply the number of points falling into node i.This alters the computation of the system matrix coefficients:A dd i j= ∇B d i,∇B d j [0,1]3+2dα B d i,B d j (w d,P d).Note that since d>d ,the value B d i,B d j (w d,P d)is obtained by summing over points stored with thefiner resolution.In particular,the complexity of computing A dd for the screened solver becomes O(|P d|)=O(4d),which is the same as that of the unscreened solver,and both implementations now have an overall time complexity of O(|P|·log|P|).On typical examples,hierarchical clustering reduces execution time by a factor of almost two,and the reconstructed surface is visually indistinguishable.5.3Conforming OctreesTo account for the adaptivity of the octree,Algorithm1subtracts off the constraints met at all coarser resolutions before relaxing at a given depth(steps2-3),resulting in an algorithm with log-linear time complexity.We obtain an implementation with linear complexity by forcing the octree to be conforming.Specifically, we define two octree cells to be mutually visible if the supports of their associated B-splines overlap,and we require that if a cell at depth d is in the octree,then all visible cells at depth d−1must also be in the tree.Making the tree conforming requires the addition of new nodes at coarser depths,but this still results in O(4d)nodes at depth d.While the conforming octree does not satisfy the condition that a coarser solution can be prolonged into afiner one,it has the property that the solution obtained at depths{0,...,d−1}that is visible to a node at depth d can be expressed entirely in terms of the coefficients at depth d−ing an accumulation vector to store the visible part of the solution,we obtain the linear-time implementation in Algorithm2.3Note that the weight w d(p)is unrelated to the screening weight2d introduced in Section4.3for scale-independent screening.ACM Transactions on Graphics,V ol.VV,No.N,Article XXX,Publication date:Month YYYY.6•M.Kazhdan and H.HoppeHere,P d d−1is the B-spline prolongation operator,expressing a solution at depth d−1in terms of coefficients at depth d.The number of nonzero entries in P d d−1is O(4d),since each column has at most43nonzero entries,so steps2-5of Algorithm2all have complexity O(4d).Thus,the overall complexity of both the unscreened and screened solvers becomes O(|P|).Algorithm2:Conforming Cascadic Poisson Solver1For d∈{0,...,D}Iterate from coarse tofine.2ˆx d−1=P d−1d−2ˆx d−2Upsample coarseraccumulation vector.3ˆx d−1=ˆx d−1+x d−1Add in coarser solution.4b d=b d−A d d−1ˆx d−1Remove constraintsmet at coarser depths.5Relax A d x d=b d Adjust the system at depth d.5.4Implementation DetailsThe algorithm is implemented in C++,using OpenMP for multi-threaded parallelization.We use a conjugate-gradient solver to re-lax the system at each multigrid level.With the exception of the octree construction,most of the operations involved in the Poisson reconstruction can be categorized as operations that either“accu-mulate”or“distribute”information[Bolitho et al.2007,2009].The former do not introduce write-on-write conflicts and are trivial to parallelize.The latter only involve linear operations,and are par-allelized using a standard map-reduce approach:in the map phase we create a duplicate copy of the data for each thread to distribute values into,and in the reduce phase we merge the copies by taking their sum.6.RESULTSWe evaluate the algorithm(Screened)by comparing its accuracy and computational efficiency with several prior methods:the original Poisson reconstruction of Kazhdan et al.[2006](Poisson), the Wavelet reconstruction of Manson et al.[2008](Wavelet),and the Smooth Signed Distance reconstruction of Calakli and Taubin [2011](SSD).For the new algorithm,we set the screening weight toα=4and use Neumann boundary conditions in all experiments.(Numerical results obtained using Dirichlet boundaries were indistinguishable.) For the prior methods,we set algorithmic parameters to values recommended by the authors,using Haar Wavelets in the Wavelet reconstruction and setting the value/normal/Hessian weights to 1/1/0.25in the SSD reconstruction.For Poisson,SSD,and Screened we set the“samples-per-node”parameter to1and the “bounding-box-scale”parameter to1.1.(For Wavelet the bounding box scale is hard-coded at1and there is no parameter to adjust the sampling density.)6.1AccuracyWe run three different types of experiments.Real Scanner Data.To evaluate the accuracy of the different reconstruction algorithms on real-world data,we gathered several scanned datasets:the Awakening(10M points),the Stanford Bunny (0.2M points),the David(11M points),the Lucy(1.0M points), and the Neptune(2.4M points).For each dataset,we randomly partitioned the points into two equal-sized subsets:input points for the reconstruction algorithms,and validation points to measure point-to-reconstruction distances.Figure4a shows reconstructions results for the Neptune and David models at depth10.It also shows surface cross-sections overlaid with the validation points in their vicinity.These images reveal that the Poisson reconstruction(far left),and to a lesser extent the SSD reconstruction(center left),over-smooth the data,while the Wavelet reconstruction(center left)has apparent derivative discontinuities.In contrast,our screened Poisson approach(far right)provides a reconstruction that faithfullyfits the samples without introducing noise.Figure4b shows quantitative results across all datasets,in the form of RMS errors,measured using the distances from the validation points to the reconstructed surface.(We also computed the maximum error,but found that its sensitivity to individual outlier points made it an unreliable and unindicative statistic.)As thefigure indicates,the Screened Poisson reconstruction(blue)is always more accurate than both the original Poisson reconstruction algorithm(red)and the Wavelet reconstruction(purple),and generates reconstruction whose RMS errors are comparable to or smaller than those of the SSD reconstruction(green).Clean Uniformly Sampled Data.To evaluate reconstruction accuracy on clean data,we used the approach of Osada et al.[2001] to generate oriented point sets by uniformly sampling the surfaces of the Fandisk,Armadillo Man,Dragon,and Raptor models.For each model,we generated datasets of100K and1M points and reconstructed surfaces from each point set using the four different reconstruction algorithms.As an example,Figure5a shows the reconstructions of the fandisk and raptor models using1M point samples at depth10.Despite the lack of noise in the input data,the Wavelet reconstruction has spurious high-frequency detail.Focusing on the sharp edges in the model,we also observe that the screened Poisson reconstruction introduces less smoothing,providing a reconstruction that is truer to the original data than either the original Poisson or the SSD reconstructions.Figure5b plots RMS errors across all models,measured bidirec-tionally between the original surface and the reconstructed surface using the Metro tool[Cignoni and Scopigno1998].As in the case of real scanner data,screened Poisson reconstruction always out-performs the original Poisson and Wavelet reconstructions,and is comparable to or better than the SSD reconstruction. Reconstruction Benchmark.We use the benchmark of Berger et al.[2011]to evaluate the accuracy of the algorithms under different simulations of scanner error,including nonuniform sampling,noise,and misalignment.The dataset consists of mul-tiple virtual scans of implicit surfaces representing the Anchor, Dancing Children,Daratech,Gargoyle,and Quasimodo models. As an example,Figure6a visualizes the error in the reconstructions of the anchor model from a virtual scan consisting of210K points (demarked with a dashed rectangle in Figure6b)at depth9.The error is visualized using a red-green-blue scale,with red signifyingACM Transactions on Graphics,V ol.VV,No.N,Article XXX,Publication date:Month YYYY.。

测绘专业英语翻译

测绘专业英语翻译

Uuit1What is Geomatics?(什么是测绘学)Geomatics Defined(测绘学定义)Where does the word Geomatics come from?(Geomatics-测绘或地球空间信息学,这个名词是怎么来的呢?)GEODESY+GEOINFORMATICS=GEOMATICS or GEO-for earth and–MATICS for mathematical or GEO-for Geoscience and-MATICS for informatics.(大地测量学+地理信息学=GEOMATICS测绘学或者geo代表地球,matics代表数学,或者geo代表地球科学,matics代表信息学)It has been said that geomatics is many things to many people.(据说测绘学这个词对不同的人有不同的理解)The term geomatics emerged first in Canada and as an academic discipline;it has been introduced worldwide in a number of institutes of higher education during the past few years,mostly by renaming what was previously called“geodesy”or“surveying”,and by adding a number of computer science-and/or GIS-oriented courses.(这个术语【term术语】作为一个学科【academic discipline学科】第一次形成【emerge】于加拿大;在过去的几年里被全世界的许多高等教育研究机构所熟知,通常是以前的“大地测量学”或“测量学”在引入了许多计算机科学和GIS方向【或“基于GIS”】的课程后重新命名的。

计算机科学与信息技术的区别 Computer Science vs IT

计算机科学与信息技术的区别 Computer Science vs IT

计算机科学与信息技术Computer Science vsInformation TechnologyHey guys in this article I will tell you how to differentiate between computer science and information technology. Both look same, and to the layperson computer science and information technology may seem like the same thing, but actually they both field have many differences. They both focus on specific aspects of the area, and careers. With the help of this article Computer Science vs Information Technology, you can clear your doubts related to computer science and information technology.If you have an interest in computer software and web applications and you love programming using mathematical algorithms. You should choose computer science as a career but if you are more interested in installing, organizing and maintaining computer systems as well as designing and operating networks and databases etc.You should choose information technology as a career. Both technologies have a higher chance of growth, and if we see the current situation, we will find both the career option has the same range of opportunity, so it is your call which career option do you choose.Computer ScienceComputer scientists are, in fact, scientists. They are focused on the theory of computational applications. That means they know the “why” behind computer programs. Computer science is more complicated field as compare to information technology. But it does not mean it is not an interesting filed. Computer programmers love their job, and they love to do programming as it requires mathematical computations and problem-solving approach.Computer scientists discover new ways to manipulate and transfer information By using algorithms and advanced mathematics. They are generally concerned with software and operating systems.In computer science, students will get a chance to learn the fundamentals of differentprogramming languages software design and development. Computer science is a machine learning, and by studying it, we get to know how computer processors operate and what is their working functionalityin simple language we can say computer science is the field of developing programs and software for achieving the desired goal.Careers in Computer ScienceMaking a career in the field of computer science is the right decision but before choosing this field ask yourself whether you are interested in programming and mathematical computations or not. It is a rapidly growing field and provides employment opportunities and it has also opportunity of getting high sallary.Here are the career path open for you if you choose computer science as a careerApplications software developerComputer science gives you the opportunity of being an application software developer. This job requires a creative mind and ability of critical thinking. Software developers design and create programs and applications for computers and devices. Mircosoft office, filmora, WhatsApp, facebook etc. are the perfect example of computer science which made by software developers. Today, if we can enjoy that much of advancement in our technology, it is just because of software developers.Systems engineer:You can be a system engineer by choosing computer science as a career. It is a field in which Operating systemsprovide the accessibility for computers and devices to perform their functions. Today we have Microsoft Windows, Linux, and iOS are types of operating systems. System engineer design and building system for use in personal computers, laptops, phones etcWeb developerWe often get confused between web development and graphic designing, but they both are different in their functionally. Graphic designers make the image which you see on the webpages whereas the web developer make the website function with the help of programs; initially they program the code for the proper function of the websites. Web developers monit or the site’s traffic, performance, and capacity. They integrate the graphics, audio, and video into the site.Information TechnologyInformation technology is the study of network, implementation,design, development, maintenance, support or management of computer-based information system. It sector ensure that computer systems, and it’s every function are working well or not.The nature of information technology is to work with clients and co-workers. They can work with their co-workers outside of their department due to the quality of the work. They explain to the clients how they can solve the technical problems and work with the business owner and its executives to construct a technology plan for meeting their business requirements.Information technology students have a good career in the field of information technology. In this field of technology, they learn to network and database design in depth and get an introduction to basic theory and applied mathematics.Careers in Information TechnologyToday whatever we see over the web is all about the information and its creation. Information technology is quite a big field, and the data stored in it is endless. It has many sectors which employ so if you are choosing information technology sector for your career you don’t need to worry about it.Here are some job opportunities provide by the information technology are given below;Information security analyst: It is a field of information technology which deals with the cyberattacks by monitoring network and keeps the information safe. In this globally connected world, everything related to the data should care a lot because a little bit carelessness can cause significant losses. Information security analyst prevents us from such cyber attack that can bring a huge loss for us.Network architect:The network architect is also known as network engineers; these IT professionals design and build communication networks and establish a communication bridge between each node for flow less data transformation. Such as local area networks(LANs), extensive area networks (WANs), and intranets.Computer support specialist: Computer support specialist provides solution and troubleshoot the issues of the individuals and business that have questioned about their softwareDatabase administratorA database administrator uses software and programs to manage the data for the business. Data managing and organising seem to be a straightforward job, but it is not as easy as it seem to be you have to be quite a skill full for getting this position.Systems administrator A System administrators maintenance operation of a business, networks, including LANs, WANs, and other communication systems. It a job of responsibility.SummaryNow we can see both of the technology have better chances of growth and it depends on you which field do you acquire for pursuing your career. If you are hard working and eager to learn, you can be successful by choosing either of the areas.Now we will compare information technology and computer science behalf of their applications.Applications of Information TechnologyAs we all know we are in the age of technology. Computer and mobile devices are becoming necessary for us. These devices continue to be more powerful as information-processing tools. We are getting used too of them, and our dependency on thecomputer devices are getting high day by day. Information Technology has applications in every aspect of our life. Some of the applications of the information technology are given belowScience and Engineering:Information technology plays a vital role in the development of science and engineering. As we can with the help of technology today, we can achieve new heights in the field of science and engineering. Information technology has made it more advanced. Today we have X_rays machine, MRI machines and many more life-saving machines by which we can not only save human life but also search better medical facilities for a human beingConnectivity and communication With the help of information technology, we could find andinvent new ways of communication. Today we have a cheaper communication facility and advanced method of data sharing. We can send text and voice messages to our loved ones without being worried about the cost and services. We have a lot of facilities provided by the internet which is a revolutionary discovery given by information technologyEntertainment: Today we have a lot of entertainment methods by which we can entertain ourselves and make ourself happy and relaxed. We can enjoy free music and videos even play video games.Application of computer scienceComputer science gave us a lot of facilities and made our life easy. Today, if we are technicallyadvanced, is it just because of the computer science revolution. Here are some computer science application is given belowComputer graphics and visualizationComputer graphics is the field of digital visual content. It involves the synthesis and manipulation of the image. The area of computer graphics and visualization include computer vision, image processing and computational geometry. We can see the use of computer graphics in the field of the gaming industry. It is mostly applied in the areas of special effects, and it improves our gaming experienceHuman-computer interactionUser interface designers research and develop theories and follow guidelines so that they could create a satisfactory and impressive user interface that enhance the users experience with the laptop and other electrical devices.Scientific computingIt is a field of computer science which concerned with the construction of mathematical models and quantitive analysis by which we solve scientific problems. In practical use, we can see the use of scientific computing in the field of scientific experimentsArtificial intelligence Artificial intelligence is a field of technology which enables the computer system to perform those task which generally requires human knowledge such as visual perception, decision making and speech recognitionHere are some fields are given below in which we can see the use of artificial intelligenceMachine learningComputer visionImage processingPattern recognitionData miningKnowledge representation and reasoningRoboticsSoftware engineeringSoftware engineering is a study of developing, designing, implementing and modifying the software in such a way so that it could perform the desired task without having any issues. It is a systematic approach of designing software which follows the software development life cycle and with the help of software engineering we get the knowledge of application development.ConclusionNow with the help of this article, we can see both the sector of the technologies provide the same chance of growth to the students, so they can choose any of the industry. Today we have the advance facility of technology which helps in every possible manner. We should respect both of the sectors of technology.Hence we can say Computer science gave us new technology whereas information technology makes it more advanced. Today we have the facility of internet, free callings, video chat, advanced security systems, advanced medical facility etc are given by the technology only. We should understand and appreciate the importance and contribution of every sector in the development of technology. I hope with this article now you have understood how the computer Science vs Information Technology works.。

mpm物质点法 计算流程

mpm物质点法 计算流程

mpm物质点法计算流程英文回答:MPM (Material Point Method) is a computational method used to simulate the behavior of materials under various physical conditions. It is widely used in the fields of computer graphics, computer-aided engineering, and computational physics.The calculation process of MPM can be divided into several steps:1. Initialization: In this step, the initial conditions of the material are defined, such as its geometry, density, and initial velocity. These parameters are used to create a grid-based representation of the material.2. Particle Advancement: MPM uses a hybrid approachthat combines a grid-based representation with individual particles. In this step, the particles are advanced in timebased on the forces acting on them. These forces can be derived from various physical laws, such as Newton's laws of motion or material-specific constitutive models.3. Grid Update: After advancing the particles, the grid is updated to reflect the changes in the material's properties. This is done by interpolating the particle data onto the grid nodes. The grid nodes then store the updated material properties, such as the stress and strain.4. Boundary Conditions: Boundary conditions are applied to the grid to simulate the interaction between the material and its surroundings. For example, if the material is subjected to external forces or constraints, these can be applied at the grid boundaries.5. Time Integration: The advancement of the material in time is achieved through time integration techniques, such as the explicit or implicit Euler methods. These methods ensure that the material's behavior is accurately simulated over time.6. Visualization: Finally, the results of the simulation can be visualized to analyze the material's behavior. This can be done using various visualization techniques, such as rendering the material's deformation or stress distribution.To illustrate the MPM calculation process, let's consider a simple example of simulating the behavior of a rubber ball bouncing on the ground. In the initialization step, we define the geometry and material properties of the ball, such as its shape, density, and elasticity. We also set the initial velocity of the ball.In the particle advancement step, we calculate the forces acting on the ball, such as gravity and the reaction force from the ground. Based on these forces, we update the position and velocity of the ball's particles.Next, we update the grid to reflect the changes in the ball's properties. For example, if the ball is deforming upon impact with the ground, the grid nodes in contact with the ball will store the stress and strain values.Boundary conditions are then applied to simulate the interaction between the ball and the ground. This could involve applying a constraint to prevent the ball from penetrating the ground or applying a force to simulate the rebound effect.The time integration step ensures that the simulation accurately represents the ball's behavior over time. By iteratively advancing the particles and updating the grid, we can simulate the ball's bouncing motion.Finally, the results of the simulation can be visualized, allowing us to observe the ball's deformation, stress distribution, and overall behavior.中文回答:MPM(Material Point Method)是一种计算方法,用于模拟材料在不同物理条件下的行为。

OBB tree

OBB tree

OBBTree:A Hierarchical Structure for Rapid Interference Detection S.Gottschalk M.C.Lin D.ManochaDepartment of Computer ScienceUniversity of North CarolinaChapel Hill,NC27599-3175gottscha,lin,manocha@/˜geom/OBB/OBBT.htmlAbstract:We present a data structure and an algorithm for efficient and exact interference detection amongst com-plex models undergoing rigid motion.The algorithm is ap-plicable to all general polygonal models.It pre-computes a hierarchical representation of models using tight-fitting oriented bounding box trees(OBBTrees).At runtime,the algorithm traverses two such trees and tests for overlaps be-tween oriented bounding boxes based on a separating axis theorem,which takes less than200operations in practice. It has been implemented and we compare its performance with other hierarchical data structures.In particular,it can robustly and accurately detect all the contacts between large complex geometries composed of hundreds of thousands of polygons at interactive rates.CR Categories and Subject Descriptors:I.3.5[Com-puter Graphics]:Computational Geometry and Object ModelingAdditional Key Words and Phrases:hierarchical data structure,collision detection,shape approximation,con-tacts,physically-based modeling,virtual prototyping.1IntroductionThe problems of interference detection between two or more geometric models in static and dynamic environments are fundamental in computer graphics.They are also con-sidered important in computational geometry,solid mod-eling,robotics,molecular modeling,manufacturing and computer-simulated environments.Generally speaking,we are interested in very efficient and,in many cases,real-time algorithms for applications with the following characteri-zations:1.Model Complexity:The input models are composedof many hundreds of thousands of polygons.2.Unstructured Representation:The input models arerepresented as collections of polygons with no topol-ogy information.Such models are also known as ‘polygonsoups’and their boundaries may have cracks, T-joints,or may have non-manifold geometry.No ro-bust techniques are known for cleaning such models.Also with U.S.Army Research Office3.Close Proximity:In the actual applications,the mod-els can come in close proximity of each other and can have multiple contacts.4.Accurate Contact Determination:The applicationsneed to know accurate contacts between the models(up to the resolution of the models and machine precision).Many applications,like dynamic simulation,physically-based modeling,tolerance checking for virtual prototyping, and simulation-based design of large CAD models,have all these four characterizations.Currently,fast interference detection for such applications is a major bottleneck. Main Contribution:We present efficient algorithms for accurate interference detection for such applications. They make no assumptions about model representation or the motion.The algorithms compute a hierarchical repre-sentation using oriented bounding boxes(OBBs).An OBB is a rectangular bounding box at an arbitrary orientation in 3-space.The resulting hierarchical structure is referred to as an OBBTree.The idea of using OBBs is not new and many researchers have used them extensively to speed up ray tracing and interference detection computations.Our major contributions are:1.New efficient algorithms for hierarchical representa-tion of large models using tight-fitting OBBs.e of a‘separating axis’theorem to check two OBBsin space(with arbitrary orientation)for overlap.Based on this theorem,we can test two OBBs for overlap in about100operations on average.This test is about one order of magnitude faster compared to earlier al-gorithms for checking overlap between boxes.parison with other hierarchical representationsbased on sphere trees and axis-aligned bounding boxes (AABBs).We show that for many close proximity sit-uations,OBBs are asymptotically much faster.4.Robust and interactive implementation and demon-stration.We have applied it to compute all contacts between very complex geometries at interactive rates. The rest of the paper is organized in the following man-ner:We provide a comprehensive survey of interference detection methods in Section2.A brief overview of the algorithm is given in Section3.We describe algorithms for efficient computation of OBBTrees in Section4.Sec-tion5presents the separating-axis theorem and shows how it can be used to compute overlaps between two OBBs very efficiently.We compare its performance with hierar-chical representations composed of spheres and AABBs in Section6.Section7discusses the implementation and per-formance of the algorithms on complex models.In Section 8,we discussion possible future extensions.2Previous WorkInterference and collision detection problems have been extensively studied in the literature.The simplest algo-rithms for collision detection are based on using bounding volumes and spatial decomposition techniques in a hier-archical manner.Typical examples of bounding volumes include axis-aligned boxes(of which cubes are a special case)and spheres,and they are chosen for to the simplicity offinding collision between two such volumes.Hierar-chical structures used for collision detection include cone trees,k-d trees and octrees[31],sphere trees[20,28],R-trees and their variants[5],trees based on S-bounds[7]etc. Other spatial representations are based on BSP’s[24]and its extensions to multi-space partitions[34],spatial repre-sentations based on space-time bounds or four-dimensional testing[1,6,8,20]and many more.All of these hierarchi-cal methods do very well in performing“rejection tests", whenever two objects are far apart.However,when the two objects are in close proximity and can have multiple contacts,these algorithms either use subdivision techniques or check very large number of bounding volume pairs for potential contacts.In such cases,their performance slows down considerably and they become a major bottleneck in the simulation,as stated in[17].In computational geometry,many theoretically efficient algorithms have been proposed for polyhedral objects. Most of them are either restricted to static environments, convex objects,or only polyhedral objects undergoing rigid motion[9].However,their practical utility is not clear as many of them have not been implemented in practice.Other approaches are based on linear programming and comput-ing closest pairs for convex polytopes[3,10,14,21,23,33] and based on line-stabbing and convex differences for gen-eral polyhedral models[18,26,29].Algorithms utilizing spatial and temporal coherence have been shown to be effec-tive for large environments represented as union of convex polytopes[10,21].However,these algorithms and systems are restrictive in terms of application to general polygo-nal models with unstructured representations.Algorithms based on interval arithmetic and bounds on functions have been described in[12,13,19].They are able tofind all the contacts accurately.However,their practical utility is not clear at the moment.They are currently restricted to objects whose motion can be expressed as a closed form function of time,which is rarely the case in most appli-cations.Furthermore,their performance is too slow for interactive applications.OBBs have been extensively used to speed up ray-tracing and other interference computations[2].In terms of appli-cation to large models,two main issues arise:how can we compute a tight-fitting OBB enclosing a model and how quickly can we test two such boxes for overlap?For polygonal models,the minimal volume enclosing bound-ing box can be computed in3time,where is the number of vertices[25].However,it is practical for only small models.Simple incremental algorithms of linear time complexity are known for computing a minimal enclosing ellipsoid for a set of points[36].The axes of the mini-mal ellipsoid can be used to compute a tight-fitting OBB. However,the constant factor in front of the linear term for this algorithm is very high(almost3105)and thereby making it almost impractical to use for large models.As for ray-tracing,algorithms using structure editors[30]and modeling hierarchies[35]have been used to construct hier-archies of OBBs.However,they cannot be directly applied to compute tight-fitting OBBs for large unstructured mod-els.A simple algorithm forfinding the overlap status of two OBBs tests all edges of one box for intersection with any of the faces of the other box,and vice-versa.Since OBBs are convex polytopes,algorithms based on linear program-ming[27]and closest features computation[14,21]can be used as well.A general purpose interference detection test between OBBs and convex polyhedron is presented in[16]. Overall,efficient algorithms were not known for comput-ing hierarchies of tight-fitting OBBs for large unstructured models,nor were efficient algorithms known for rapidly checking the overlap status of two such OBBTrees.3Hierarchical Methods&Cost Equa-tionIn this section,we present a framework for evaluating hier-archical data structures for interference detection and give a brief overview of OBBTrees.The basic cost function was taken from[35],who used it for analyzing hierarchical methods for ray tracing.Given two large models and their hierarchical representation,the total cost function for inter-ference detection can be formulated as the following cost equation:(1) where:total cost function for interference detection,:number of bounding volume pair overlap tests:cost of testing a pair of bounding volumes for overlap, :is the number primitive pairs tested for interference, :cost of testing a pair of primitives for interference. Given this cost function,various hierarchical data struc-tures are characterized by:Choice of Bounding Volume:The choice is governed by two conflicting constraints:1.It shouldfit the original model as tightly as possible(to lower and).2.Testing two such volumes for overlap should be as fastas possible(to lower).Simple primitives like spheres and AABBs do very well with respect to the second constraint.But they cannotfit some primitives like long-thin oriented polygons tightly. On the other hand,minimal ellipsoids and OBBs provide tightfits,but checking for overlap between them is relatively expensive.Hierarchical Decomposition:Given a large model,the tree of bounding volumes may be constructed bottom-up or top-down.Furthermore,different techniques are known for decomposing or partitioning a bounding volume into two or more sub-volumes.The leaf-nodes may correspond to different primitives.For general polyhedral models,they may be represented as collection of few triangles or convex polytopes.The decomposition also affects the values of and in(1).It is clear that no hierarchical representation gives the best performance all the times.Furthermore,given two models, the total cost of interference detection varies considerably with relative placement of the models.In particular,when two models are far apart,hierarchical representations based on spheres and AABBs work well in practice.However, when two models are in close proximity with multiple num-ber of closest features,the number of pair-wise boundingvolume tests,increases,sometimes also leading to an increase in the number pair-wise primitive contact tests, .For a given model,and for OBBTreestend to be smaller as compared to those of trees using spheres or AABBs as bounding volumes.At the same time,the best known earlier algorithms forfinding contact status of two OBBs were almost two orders of magnitude slower than checking two spheres or two AABBs for overlap. We present efficient algorithms for computing tightfitting OBBs given a set of polygons,for constructing a hierar-chy of OBBs,and for testing two OBBs for contact.Our algorithms are able to compute tight-fitting hierarchies ef-fectively and the overlap test between two OBBs is one order of magnitude faster than best known earlier methods. Given sufficiently large models,our interference detection algorithm based on OBBTrees much faster as compared to using sphere trees or AABBs.4Building an OBBTreeIn this section we describe algorithms for building an OBB-Tree.The tree construction has two components:first is the placement of a tightfitting OBB around a collection of polygons,and second is the grouping of nested OBB’s into a tree hierarchy.We want to approximate the collection of polygons with an OBB of similar dimensions and orientation.We triangu-late all polygons composed of more than three edges.The OBB computation algorithm makes use offirst and second order statistics summarizing the vertex coordinates.They are the mean,,and the covariance matrix,,respectively [11].If the vertices of the’th triangle are the points, ,and,then the mean and covariance matrix can be expressed in vector notation as:131313where is the number of triangles,, ,and.Each of them is a31vector, e.g.123and are the elements of the3 by3covariance matrix.The eigenvectors of a symmetric matrix,such as,are mutually orthogonal.After normalizing them,they are used as a basis.Wefind the extremal vertices along each axis of this basis,and size the bounding box,oriented with the basis vectors,to bound those extremal vertices.Two of the three eigenvectors of the covariance matrix are the axes of maximum and of minimum variance,so they will tend to align the box with the geometry of a tube or aflat surface patch.The basic failing of the above approach is that vertices on the interior of the model,which ought not influence the selection of a bounding box placement,can have an arbitrary impact on the eigenvectors.For example,a small but very dense planar patch of vertices in the interior of the model can cause the bounding box to align with it.We improve the algorithm by using the convex hull of the vertices of the triangles.The convex hull is the smallest convex set containing all the points and efficient algorithms of lg complexity and their robustimplementations Figure1:Building the OBBTree:recursively partition the bounded polygons and bound the resulting groups.are available as public domain packages[4].This is an im-provement,but still suffers from a similar sampling prob-lem:a small but very dense collection of nearly collinear vertices on the convex hull can cause the bounding box to align with that collection.One solution is to sample the surface of the convex hull densely,taking the mean and covariance of the sample points.The uniform sampling of the convex hull surface normalizes for triangle size and distribution.One can sample the convex hull“infinitely densely”by integrating over the surface of each triangle,and allowing each differential patch to contribute to the covariance ma-trix.The resulting integral has a closed form solution.Let the area of the’th triangle in the convex hull be denoted by12Let the surface area of the entire convex hull be denoted byLet the centroid of the’th convex hull triangle be denoted by3Let the centroid of the convex hull,which is a weighted average of the triangle centroids(the weights are the areas of the triangles),be denoted byThe elements of the covariance matrix have the following closed-form,1129Given an algorithm to compute tight-fittingOBBs around a group of polygons,we need to represent them hierarchi-cally.Most methods for building hierarchies fall into two categories:bottom-up and top-down.Bottom-up methods begin with a bounding volume for each polygon and merge volumes into larger volumes until the tree is complete.Top-down methods begin with a group of all polygons,and re-cursively subdivide until all leaf nodes are indivisible.In our current implementation,we have used a simple top-down approach.Our subdivision rule is to split the longest axis of a boxwith a plane orthogonal to one of its axes,partitioning the polygons according to which side of the plane their center point lies on(a2-D analog is shown in Figure1).The subdivision coordinate along that axis was chosen to be that of the mean point,of the vertices.If the longest axis cannot not be subdivided,the second longest axis is chosen.Otherwise,the shortest one is used.If the group of polygons cannot be partitioned along any axis by this criterion,then the group is considered indivisible.If we choose the partition coordinate based on where the median center point lies,then we obtain balanced trees. This arguably results in optimal worst-case hierarchies for collision detection.It is,however,extremely difficult to evaluate average-case behavior,as performance of collision detection algorithms is sensitive to specific scenarios,and no single algorithm performs optimally in all cases. Given a model with triangles,the overall time to build the tree is lg2if we use convex hulls,and lg if we don’t.The recursion is similar to that of quicksort. Fitting a box to a group of triangles and partitioning them into two subgroups takes lg with a convex hull and without it.Applying the process recursively creates a tree with leaf nodes lg levels deep.5Fast Overlap Test for OBBsGiven OBBTrees of two objects,the interference algorithm typically spends most of its time testing pairs of OBBs for overlap.A simple algorithm for testing the overlap status for two OBB’s performs144edge-face tests.In practice, it is an expensive test.Other algorithms based on linear programming and closest features computation exist.In this section,we present a new algorithm to test such boxes for overlap.One trivial test for disjointness is to project the boxes onto some axis(not necessarily a coordinate axis)in space. This is an‘axial projection.’Under this projection,each box forms an interval on the axis.If the intervals don’t overlap,then the axis is called a‘separating axis’for the boxes,and the boxes must then be disjoint.If the intervals do overlap,then the boxes may or may not be disjoint–further tests may be required.How many such tests are sufficient to determine the con-tact status of two OBBs?We know that two disjoint convex polytopes in3-space can always be separated by a plane which is parallel to a face of either polytope,or parallel to an edge from each polytope.A consequence of this is that two convex polytopes are disjoint iff there exists a separating axis orthogonal to a face of either polytope or orthogonal to an edge from each polytope.A proof of this basic theorem is given in[15].Each box has3unique face orientations,and3unique edge directions.This leads to 15potential separating axes to test(3faces from one box, 3faces from the other box,and9pairwise combinations of edges).If the polytopes are disjoint,then a separating axis exists,and one of the15axes mentioned above will be a separating axis.If the polytopes are overlapping,then clearly no separating axis exists.So,testing the15given axes is a sufficient test for determining overlap status of two OBBs.To perform the test,our strategy is to project the centers of the boxes onto the axis,and also to compute the radii of the intervals.If the distance between the box centers as projected onto the axis is greater than the sum of the radii, then the intervals(and the boxes as well)are disjoint.This is shown in2D in Fig.2.Figure2:is a separating axis for OBBs and because and become disjoint intervals under projection onto.We assume we are given two OBBs,and,with placed relative to by rotation and translation.The half-dimensions(or‘radii’)of and are and,where 123.We will denote the axes of and as the unit vectors and,for123.These will be referred to as the6box axes.Note that if we use the box axes of as a basis,then the three columns of are the same as the three vectors.The centers of each box projects onto the midpoint of its interval.By projecting the box radii onto the axis,and summing the length of their images,we obtain the radius of the interval.If the axis is parallel to the unit vector,then the radius of box’s interval isA similar expression is used for.The placement of the axis is immaterial,so we assume it passes through the center of box.The distance between the midpoints of the intervals is.So,the intervals are disjoint iffThis simplifies when is a box axis or cross product of box axes.For example,consider12.The second term in thefirst summation is22122221223223232The last step is due to the fact that the columns of the rotation matrix are also the axes of the frame of.The original term consisted of a dot product and cross product, but reduced to a multiplicationand an absolute value.Some terms reduce to zero and are eliminated.After simplifying all the terms,this axis test looks like:322232232322113311All15axis tests simplify in similar fashion.Among all the tests,the absolute value of each element of is used four times,so those expressions can be computed once before beginning the axis tests.The operation tally for all15axis tests are shown in Table1.If any one of the expressions is satisfied,the boxes are known to be disjoint, and the remainder of the15axis tests are unnecessary.This permits early exit from the series of tests,so200operations is the absolute worst case,but often much fewer are needed. Degenerate OBBs:When an OBB bounds only a single polygon,it will have zero thickness and become a rectan-gle.In cases where a box extent is known to be zero,the expressions for the tests can be further simplified.The oper-ation counts for overlap tests are given in Table1,including when one or both boxes degenerate into a rectangle.Fur-ther reductions are possible when a box degenerates to a line segment.Nine multiplies and ten additions are eliminated for every zero thickness.OBBs with infinite extents:Also,when one or more extents are known to be infinite,as for a fat ray or plane, certain axis tests require a straight-forward modification. For the axis test given above,if2is infinite,then the inequality cannot possibly be satisfied unless32is zero, in which case the test proceeds as normal but with the 232term removed.So the test becomes,320and322232322113311In general,we can expect that32will not be zero,and using a short-circuit and will cause the more expensive inequality test to be skipped.Operation Box-Box Box-Rect Rect-Rectcompare151515add/sub605040mult817263abs242424Table1:Operation Counts for Overlap TestsComparisons:We have implemented the algorithm and compared its performance with other box overlap al-gorithms.The latter include an efficient implementation of closest features computation between convex polytopes [14]and a fast implementation of linear programming based on Seidel’s algorithm[33].Note that the last two implemen-tations have been optimized for general convex polytopes, but not for boxes.All these algorithms are much faster than performing144edge-face intersections.We report the average time for checking overlap between two OBBs in Table2.All the timings are in microseconds,computed on a HP735125.Sep.Axis Closest LinearAlgorithm Features Programming57us45105us180230us Table2:Performance of Box Overlap Algorithms6OBB’s vs.other VolumesThe primary motivation for using OBBs is that,by virtue of their variable orientation,they can bound geometry more tightly than AABBTrees and sphere trees.Therefore,we reason that,all else being the same,fewer levels of an OBB-Tree need to be be traversed to process a collision query for objects in close proximity.In this section we present an analysis of asymptotic performance of OBBTrees versus AABBTrees and sphere trees,and an experiment which supports our analysis.In Fig.9(at the end),we show the different levels of hierarchies for AABBTrees and OBBTrees while approxi-mating a torus.The number of bounding volumes in each tree at each level is the same.The for OBBTrees is much smaller as compared to for the AABBTrees.First,we define tightness,diameter,and aspect ratio of a bounding volume with respect to the geometry it covers. The tightness,,of a bounding volume,,with respect to the geometry it covers,,is’s Hausdorff distance from .Formally,thinking of and as closed point sets,this ismax min distThe diameter,,of a bounding volume with respect to the bounded geometry is the maximum distance among all pairs of enclosed points on the bounded geometry,max distThe aspect ratio,,of a bounding volume with respect to bounded geometry is.Figure3:Aspect ratios of parent volumes are similar to those of children when bounding nearlyflat geometry.We argue that when bounded surfaces have low curva-ture,AABBTrees and sphere trees formfixed aspect ratio hierarchies,in the sense that the aspect ratio of a node in the hierarchy will have an aspect ratio similar to its children. This is illustrated in Fig.3for plane curves.If the bounded geometry is nearlyflat,then the children will have shapes similar to the parents,but smaller.In Fig3for both spheres and AABBs,and are halved as we go from parents to children,so is approximately the same for both parent and child.Forfixed aspect ratio hierarchies,has linear dependence on.Note that the aspect ratio for AABBs is very dependent on the specific orientation of the bounded geometry–if the geometry is conveniently aligned,the aspect ratio can be close to0,whereas if it is inconveniently aligned,can be close to1.But whatever the value,an AABB enclosing nearlyflat geometry will have approximately the same as its children.Since an OBB aligns itself with the geometry,the aspect ratio of an OBB does not depend on the geometry’s orien-tation in model space.Rather,it depends more on the local curvature of the geometry.For the sake of analysis,we are assuming nearlyflat geometry.Suppose the bounded geometry has low constant curvature,as on the surface of a large sphere.In Fig.4we show a plane curve offixed radius of curvature and bounded by an OBB.We have 2sin,and ing the small angleεdθr dεFigure 4:OBBs:Aspect ratio of children are half that ofparent when bounding surfaces of low constant curvature when bounding nearly flat geometry.approximation and eliminating ,we obtain 28.So has quadratic dependence on .When is halved,is quartered,and the aspect ratio is halved.We conclude that when bounding low curvature surfaces,AABBTrees and spheres trees have with linear depen-dence on ,whereas OBBTrees have with quadratic de-pendence on .We have illustrated this for plane curves in the figures,but the relationships hold for surfaces in three space as well.Suppose we use same-sized bounding volumes to cover a surface patch with area and require each volume to cover surface area (for simplicity we are ignor-ing packing inefficiencies).Therefore,for these volumes,.For AABBs and spheres,dependslinearly on ,so .For OBBs,quadratic de-pendence on gives us OBBs,.So,to cover a surface patch with volumes to a given tightness,if OBBs re-quire bounding volumes,AABBs and spheres wouldrequire 2bounding volumes.Most contact scenarios do not require traversing both trees to all nodes of a given depth,but this does happen when two surfaces come into parallel close proximity to one another,in which every point on each surface is close to some point on the other surface.This is most common in virtual prototyping and tolerance analysis applications,in which fitted machine parts are tested for mechanical con-sistency.Also,dynamic simulations often generate paths in which one object comes to rest against another.It should be also be noted that when two smooth,highly tessellated surfaces come into near contact with each other,the region of near contact locally resembles a parallel close proximity scenario in miniature,and,for sufficiently tessellated mod-els,the expense of processing that region can dominate the overall collision query.So,while it may seem like a very special case,parallel close proximity is an abstract situation which deserves consideration when designing collision and evaluating collision detection algorithms.Experiments:We performed two experiments to support our analysis.For the first,we generated two con-centric spheres consisting of 32000triangles each.The smaller sphere had radius 1,while the larger had radius 1.We performed collision queries with both OBBTrees and AABBTrees.The AABBTrees were created using the same process as for OBBTrees,except that instead of using the eigenvectors of the covariance matrix to determine theTests 1e+011e+021e+031e+041e+051e+061e-021e-011e+00Figure 5:AABBs (upper curve)and OBBs (lower curve)forparallel close proximity (log-log plot)box orientations,we used the identity matrix.The number of bounding box overlap tests required to process the collision query are shown in Fig.5for both tree types,and for a range of values.The graph is a log-log plot.The upper curve is for AABBTrees,and the lower,OBBTrees.The slopes of the the linear portions the upper curve and lower curves are approximately 2and 1,as expected from the analysis.The differing slopes of these curves imply that OBBTrees require asymptotically fewer box tests as a function of than AABBTrees in our experiment.Notice that the curve for AABBTrees levels off for the lowest values of .For sufficiently small values of ,even the lowest levels of the AABBTree hierarchies are inade-quate for separating the two surfaces –all nodes of both are visited,and the collision query must resort to testing the triangles.Decreasing even further cannot result in more work,because the tree does not extend further than the depth previously reached.The curve for the OBBTrees will also level off for some sufficiently small value of ,which is not shown in the graph.Furthermore,since both trees are binary and therefore have the same number of nodes,the OBBTree curve will level off at the same height in the graph as the AABBTree curve.For the second experiment,two same-size spheres were placed next to each other,separated by a distance of .We call this scenario point close proximity ,where two nonpar-allel surfaces patches come close to touching at a point.We can think of the surfaces in the neighborhood of the closest points as being in parallel close proximity –but this approximation applies only locally.We have not been able to analytically characterize the performance,so we rely instead on empirical evidence to claim that for this scenario OBBTrees require asymptotically fewer bounding box overlap tests as a function of than AABBTrees.The results are shown in Fig.6.This is also a log-log plot,and the increasing gap between the upper and lower curves show the asymptotic difference in the number of tests as decreases.Again,we see the leveling off for small values of .Analysis:A general analysis of the performance of collision detection algorithms which use bounding volume hierarchies is extremely difficult because performance is so situation specific.We assumed that the geometry being bounded had locally low curvature and was finely tessel-lated.This enabled the formulation of simple relationships。

计算机领域的简单英文资料

计算机领域的简单英文资料

计算机领域的简单英文资料Computer Science is the study of computers and computational systems. It is a broad field that encompasses a range of sub-disciplines, including computer graphics, artificial intelligence, software engineering, and data science.In computer science, algorithms play a crucial role. An algorithm is a sequence of instructions that solves a specific problem or performs a specific task. It is the foundation of computer programming and forms the basis of many computer applications.Computer programming involves writing, testing, debugging, and maintaining the source code of computer programs. Programming languages, such as Python, Java, and C++, are used to write these programs. Each programming language has its own syntax and rules that govern how code is written.Software engineering focuses on the practical aspects of software development. It involves designing, implementing, and testing software systems to meet specified requirements. Software engineers use various methodologies, such as Agile and Waterfall, to manage the development process.Artificial intelligence (AI) is a subfield of computer science that focuses on creating machines that can perform tasks that would typically require human intelligence. AI techniques include machine learning, natural language processing, computer vision, and robotics.Data science involves extracting knowledge and insights fromlarge sets of data. It combines aspects of computer science, statistics, and mathematics to analyze and interpret data. Data scientists use techniques such as data mining, predictive modeling, and visualization to make sense of data.Computer graphics deals with the creation, manipulation, and representation of visual content using computers. It includes areas such as image processing, computer animation, and virtual reality.Other sub-disciplines within computer science include computer networks, database systems, operating systems, and cybersecurity.Overall, computer science is a dynamic and rapidly evolving field that plays a crucial role in various industries and sectors.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[2001] for interactive hairstyling. Rosenblum et al. produce hair motion by mass-spring simulation of individual hair strands [1991]. Exploiting the similarity between fluid and smooth hairstyles, Hadap and Thalmann develop an interactive hairstyling system [2000] and a dynamics system simulating hair/hair interaction [2001].
Abstract
Human hair modeling is a difficult task. This paper presents a constructive hair modeling system with which users can sculpt a wide variety of hairstyles. Our Multiresolution Hair Modeling (MHM) system is based on the observed tendency of adjacent hair strands to form clusters at multiple scales due to static attraction. In our system, initial hair designs are quickly created with a small set of hair clusters. Refinements at finer levels are achieved by subdividing these initial hair clusters. Users can edit an evolving model at any level of detail, down to a single hair strand. High level editing tools support curling, scaling, and copy/paste, enabling users to rapidly create widely varying hairstyles. Editing ease and model realism are enhanced by efficient hair rendering, shading, antialiasing, and shadowing algorithms. CR Categories and Subject Descriptions: I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism; I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling – Modeling Package Additional Keywords: hair modeling, multiresolution modeling, level of detail, hair rendering, genera Photographs of human hair.
model aims at bridging this gap by allowing detailed local control as well as global control. To model complex objects, researchers successfully employ multiresolution concepts for continuous curves, surface editing, and volume sculpting (see [Stollnitz et al. 1996] for examples). Their major benefit is the user’s freedom to choose the appropriate level of detail for a desired model manipulation. In this spirit, we develop a Multiresolution Hair Modeling (MHM) system. However, hair models are inherently volumetric and contain a large number of disjoint hair strands. Thus, our treatment differs from other multiresolution techniques in applying the concept of multiresolution to hair. In our context, multiresolution manipulations are achieved with a hierarchy of generalized cylinders. MHM allows users to interactively move, scale, curl, and copy a portion of an evolving hair model at any level of detail. Rendering is considered a separate offline process in existing hair modeling systems. However, such non-interactive processes can significantly slow down the modeling process, especially for complex hairstyles for which rendering effects such as self-shadowing are crucial. We aim at providing an interactive rendering capability, enabling users to get immediate visual feedback during modeling. To our knowledge, no reported hair modeling systems interactively render explicit hair models, complete with shading, antialiasing, and self-shadowing. The contributions of our work lie in a novel multiresolution hair representation, interactive tools for editing hair, and efficient hair rendering methods, all aimed at decreasing a user’s time and tedium for modeling complex hairstyles. The remainder of this paper is organized as follows. Section 2 reviews related work and section 3 provides a brief system overview. The multiresolution hair representation is detailed in section 4, and section 5 presents editing tools suited to the representation. Interactive rendering algorithms are presented in section 6, and results are presented and discussed in section 7. Sections 8 and 9 discuss implementation issues and future directions.
1 2 3 4 5
Figure 1. An example multiresolution hair design procedure. Each hair model results from interactive multiresolution editing operations. 1. The user roughly designs a hairstyle with about 30 high-level clusters. 2. One hair cluster (inside the ellipse) is subdivided and made curly. 3. The curly cluster is copied onto other clusters. 4. The bang hair cluster (inside the ellipse) is subdivided and refined. 5. Final hair model after further refinements.
1 INTRODUCTION
Hairstyle is a determining factor of a person’s first impression when meeting someone [LaFrance 2001]. Thus, hair is an important aspect of personal identity, but hair modeling remains a major obstacle in realistic human face synthesis. The volumetric nature of hair is simply not captured by surface models, so it is often simplified or hidden by objects like hats.
相关文档
最新文档