当前位置:文档之家› A Survey of Visibility for Walkthrough Applications Daniel Cohen-Or1¢ 1Tel Aviv Universit

A Survey of Visibility for Walkthrough Applications Daniel Cohen-Or1¢ 1Tel Aviv Universit

A Survey of Visibility for Walkthrough Applications Daniel Cohen-Or1¢  1Tel Aviv Universit
A Survey of Visibility for Walkthrough Applications Daniel Cohen-Or1¢  1Tel Aviv Universit

A Survey of Visibility for Walkthrough Applications

Daniel Cohen-Or1Yiorgos Chrysanthou2?Cl′a udio T.Silva3?1Tel Aviv University2University College London3AT&T Labs-Research

Abstract

The last few years have witnessed tremendous growth in the complexity of computer graphics models as well as network-based computing.Although signi?cant progress has been made in the handling of

speci?c types of large polygonal datasets(i.e.,architectural models)on single graphics workstations,

only recently have researchers started to turn their attention to more general solutions,which now include

network-based graphics and virtual environments.The situation is likely to worsen in the future since,

due to technologies such as3D scanning,graphical models are becoming increasingly complex.One of

the most effective ways of managing the complexity of virtual environments is through the application

of smart visibility methods.

Visibility determination,the process of deciding what surfaces can be seen from a certain point,is one of the fundamental problems in computer graphics.It is required not only for the correct display

of images but also for such diverse applications as shadow determination,global illumination,culling

and interactive walkthrough.The importance of visibility has long been recognized,and much research

has been done in this area in the last three decades.The proliferation of solutions,however,has made

it dif?cult for the non-expert to deal with this effectively.Meanwhile,in network-based graphics and

virtual environments,visibility has become a critical issue,presenting new problems that need to be

addressed.

In this survey we review the fundamental issues in visibility and conduct an overview of the work performed in recent years.

1Introduction

The term visibility is very broad and has many meanings and applications in various?elds of computer science.Here,we focus on visibility algorithms in support of virtual reality applications.For a more general survey see[23](also appears in[14]).For those interested in the computational geometry literature, see[21,20,22].Zhang’s thesis[80]contains a short survey of computer graphics visibility work.Moller and Haines[50,Chapter7]cover several aspects of visibility culling.

(a)(b)

Figure1:With indoor scenes often only a very small part of the geometry is visible from any given view-point.Courtesy of Craig Gotsman,Technion.

We deal primarily with algorithms related to walkthrough applications where we assume that a scene consists of a very large number of primitives.Moreover,we assume that models keep getting larger and more complex and that user appetite will never be satis?ed with the computational power available.For very complex models we can usually do better with a smart rendering algorithm than with faster machines.

One of the most interesting visibility problems in this context is the one of selecting a set of polygons from the model that is visible from a given viewpoint.More formally(after[21]),let the scene,,be composed of modeling primitives(e.g.,triangles)01...,n,and a viewing frustum de?ning an eye position,a view direction,and a?eld of view.The visibility problem encompasses?nding the visible fragments within the scene,that is,connected to the eyepoint by a line segment that meets the closure of no other primitive.One of the obstacles to solving the visibility problem is its complexity.For a scene with n O primitives,the complexity of the set of visible fragments might be as high as O n2(i.e., quadratic in the number of primitives in the input).

What makes visibility an interesting problem is that for large scenes,the number of visible fragments is usually much smaller than the total size of the input.For example,in a typical urban scenes,one can see only a very small portion of the entire model,regardless of one’s location.Such scenes are said to be densely occluded,in the sense that from any given viewpoint,only a small fraction of the scene is visible [15].Other examples include indoor scenes,where the walls of a room occlude most of the scene,and in fact,from any viewpoint inside the room,one may only see the details of that room or those visible through the portals,see Figure 1.A different example is a copying machine,shown in Figure2,where from the outside one can only see its external parts.Although intuitive,this information is not available as part of the model representation,and only a non-trivial algorithm can determine it automatically.Note that one of its doors might be open.

Visibility is not an easy problem,since a small change in the viewpoint might cause large changes in the visibility.It means that solving the problem at one point does not help much in solving it at a nearby point.

(a)(b)

Figure 2:A copying machine;only a fraction of the geometry is visible from the outside.Courtesy of Craig Gotsman,Technion.

(a)(b)

Figure 3:A small change in the viewing position can cause large changes in the visibility.

(a)(b)(c)

Figure4:Two different view directions of an object have the same aspect if and only if the corresponding Image Structure Graphs are isomorphic.Note that(a)and(b)have the same aspect,which is different to(c).

An example of this can be seen in Figure 3.The aspect graph,described in Section2,and the visibility complex(described in[23])sheds light on the complex characteristics of visibility.

The rest of this paper is organized as follows.We?rst give a short description of the aspect graph,which is a fundamental concept in visibility,in Section2.Then,we brie?y review some3D graphics hardware features which are important for visibility culling(Section4).Next,we present a taxonomy of visibility culling algorithms in Section5.This introductory part is then followed by a more detailed description and analysis of recent visibility-culling algorithms.

2The aspect graph

When dealing with visibility,it is useful to consider an important theoretical concept called the aspect graph [26].Let us look at the two isomorphic graphs in Figure4.They are a projection of a3D object;however, we treat them as2D entities.First,let us de?ne the Image Structure Graph(ISG)as a planar graph,de?ned by the outlines of an image created by projecting a polyhedral object in a certain view direction.Then two different view directions of an object have the same aspect if and only if their corresponding ISGs are isomorphic.Now we can partition the viewspace into maximal connected regions in which the viewpoints have the same view or aspect.This partition is the VSP-the visibility space partition,where the boundary of a VSP region is called a visual event as it marks a change in visibility(see Figure5).

The term,aspect graph,refers to the graph created by assigning a vertex to each region of the VSP, where the edges connect adjacent regions.

Figures5and6show a visibility space partition in2D,which is created by just two and three segments (the2D counterparts of polygons),respectively.One can observe that the number of aspect regions is already large,and in fact,can be shown to grow quite rapidly.

Plantinga and Dyer[57]discuss aspect graphs and their worst-case complexity,including algorithms for ef?ciently computing aspect graphs.The worst complexity of aspect graphs is quite high,and in three

Figure5:2polygons-12aspect regions.

dimensions,can be as large as O n9.For a typical number of segments(say tens of thousands),in terms of space and time it turns out that computing the aspect graph is computationally impractical.(Plantinga[58] proposes an early conservative visibility algorithm based on his aspect graph work.)

However,as can be seen in Figure7,different aspect regions can have equal sets of visible polygons. This means that there are far fewer different regions of different visibility sets than different aspects.

Looking once again at the aspect partition of the two segments in Figure8,we can treat one as an occluder and the other as the occludee,de?ning their endpoint connecting lines as supporting lines and separating lines.These lines partition the space into three regions:(i)the region from which no portion of the occludee is visible,(ii)the region from which only a portion of the occludee is visible,and(iii)the region from which the occluder does not occlude any part of the occludee[17].

The3D visibility complex[23]is another way of describing and studying the visibility of3D space by a dual space of3D lines,in which all the visibility events are described.This structure is global,spatially coherent and complete,since it encodes all the visibility relations in3D.It allows ef?cient visibility com-putations,such as view extraction,computation of the aspect graph,discontinuity meshing and form-factor computation.

Figure6:3polygons-“many”aspect regions.

3Hidden-surface removal methods

As mentioned in the introduction,one of the fundamental visibility problems in computer graphics is the determination of the visible parts of the scene,the so-called hidden-surface removal(HSR)(also known as visible-surface determination)algorithms.Assuming the scene is composed of and represented by triangles, these algorithms not only de?ne the set of visible triangles,but also the exact portion of each visible triangle that has to be drawn into the image.

An early classi?cation was proposed by Sutherland et al.[69].Later it was reviewed in[28]and also in the computational geometry literature[22].The HSR methods can be broadly classi?ed into three groups:

Figure7:Different aspect regions can have equal sets of visible polygons.

T is fully occluded from region 3

Figure8:Supporting and separating planes.

object precision methods,image precision methods and hybrid methods.Object precision methods compare objects to decide exactly which parts of each one is visible in the image.One of the?rst examples of this class was presented by Weiler and Atherton[74].They used a general clipping method to partition polygons which were further away from the viewpoint using the boundaries of those closer,discarding the regions where they overlapped.Object precision algorithms can be considered as a continuous solution (to the extent that machine precision allows)but often suffer from scalability problems as the size of the environment grows,and are dif?cult to implement robustly.

Image precision algorithms on the other hand operate on the discrete representation of the image.The overall idea is to produce a solution at the resolution of the required image by determining the visible object at each pixel.Ray casting is one example of this class[3].Other examples are the scan-line methods[9,73], variations of which are popular in games and?ight simulators,and the z-buffer[10]whose implementation in hardware has made it the de-facto standard HSR method today.

Finally,in the third class,are hybrid methods that combine object and image precision operations.Of most interest are the so-called list-priority algorithms.Their underlying idea is to quickly determine a partial order list of all polygons such that for any given pair p,q,if p can occlude some part of q,then p comes earlier in the list.In other words,if q is after p in the list,q cannot occlude p.Then during rendering, the ordered polygons are drawn back-to-front,thus occluding polygons are correctly drawn into the image, covering only those parts that are occluded.Some of the early methods were those of Schumacker et al.

[61]and Newell et al.[54]and later Fuchs et al.’s BSP trees[29].One of the additional features of the list-priority techniques is that they are able to correctly handle the rendering of transparent objects.Although the methods were originally designed for depth ordering of individual polygons,some of their ideas have been used in occlusion methods(i.e.,[34]).

(a)(b)

Figure 9:Depth complexity of the scene as rendered by (a)view-frustum culling,(b)a conservative oc-clusion culling technique.The depth complexity ranges from light green (low)to bright red (high).If the occlusion-culling algorithm were “exact”,(b)would be completely green.

43D graphics hardware

In this section,we brie?y review some common features of modern 3D graphics hardware which are helpful in visibility calculations.

We do not cover the important topic of ef?cient use of speci?c graphics hardware,in particular,the optimization of speci?c applications to speci?c hardware.A good starting point is the text by Moeller and Haines [50].The interested reader should also consult the OpenGL tutorials given every year at Siggraph.

Hardware features for speci?c visibility calculations are usually bare-bones,because of the need for graphics hardware to be streamlined and very simple.Most often,by careful analysis of the hardware,it is possible to combine a software solution which exploits the basic hardware functionality,but at the same time also improves it considerably.

4.1Graphics pipeline

The graphics pipeline is the term used for the path a particular primitive takes in the graphics hardware from the time the user de?nes it in 3D to the time it actually contributes to the color of a particular pixel on the screen.At a very high level,given a primitive,it must undergo several simple tasks before it is drawn on the screen.

Often,such as in the OpenGL graphics pipeline,a triangle primitive is ?rst transformed from its local coordinate frame to a world coordinate frame;then it is transformed again to a normalized coordinate frame,where it is clipped to ?t the view volume.At this point,a division by w is performed to obtain non-homogeneous normalized coordinates,which are then normalized again to be in screen-space.Depending on a set of user-de?ned state ?ags,the hardware can reject the primitive based (among other things)on the direction of its normal.This is called back-face culling,and is a very primitive form of visibility culling.

Once a primitive has passed all these phases,the rasterization phase can start.It is here that the colors

(and other properties)of each pixel are computed.During rasterization,we usually refer to the primitives as “fragments”.Modern graphics architectures have several per-fragment operations that can be performed on each fragment as they are generated.

As fragments are computed,they pass through further processing,and the hardware will incrementally ?ll several buffers in order to compute the image.The actual image we see on the screen is only one of these buffers:the color buffer.Other buffers include the stencil buffer and the depth(or z-)buffer.There are other buffers,such as the accumulation buffer,etc.,but we do not use them in the rest of this paper.In OpenGL,up-dates to the different buffers can be toggled by a set of function calls,e.g.glEnable(GL TEST).

One view of the OpenGL buffers is as a simple processor with little memory(just a few bytes),and a limited instruction set.Recently,techniques for performing general computations using the OpenGL pipeline have been proposed.Two such examples are Peercy et al.[56]and Trendall and Stewart[71].

4.2Stencil buffer

The stencil buffer is composed of a small set of bits(usually more than4)that can be used to control which areas of the other buffers,)textite.g.color buffer),are currently active for drawing.A common use of the stencil buffer is to draw a piece of static geometry once(the cockpit of an airplane),and then mask the area so that no further changes can be made to those pixels.

But the stencil buffer is actually much more?exible,since it is possible to change the value of the pixels on the stencil buffer depending on the outcome of the test performed.For instance,a very useful computation that uses the stencil buffer is to compute the“depth-complexity”of a scene.For this,one can simply program the stencil buffer as follows:

glStencilFunc(GL_ALWAYS,?0,?0);

glStencilOp(GL_KEEP,GL_INCR,GL_INCR);

which essentially means the stencil buffer will get incremented every time a pixel is projected onto it.Figure 9shows a visual representation of this.The stencil buffer is useful in several types of visibility computations, such as real-time CSG calculations[31],occluder calculations[25],and so on.

4.3Z-buffer

The z-buffer is similar to the stencil buffer,but serves a more intuitive purpose.Basically,the z-buffer saves its“depth”at each pixel.The idea is that if a new primitive is obscured by a previously drawn primitive,the z-buffer can be used to reject the update.The z-buffer consists of a number of bits per pixel,usually24bits in most current architectures.

The z-buffer provides a brute-force approach to the problem of computing the visible surfaces.Just rendering each primitive,and the z-buffer will take care of not drawing in the color buffer of those primi-tives that are not visible.The z-buffer provides a great functionality,since(on fully hardware-accelerated architectures)it is able to solve the visibility problem(up to screen-space resolution)of a set of primitives in the time it would take to scan-convert them all.

As a visibility algorithm,the z-buffer has a few drawbacks.One drawback is that each pixel in the z-buffer is touched(potentially)as often as its depth complexity,although one simply needs the top surface of each pixel.Because of this potentially excessive overdrawing a lot of computation and memory bandwidth is wasted.A visibility pre-?ltering technique,such as back-face culling,can be used to improve the speed of rendering with a z-buffer.

There have been several proposals for improving the z-buffer,such as the hierarchical z-buffer[35] (see Section7.1and related techniques).A simple,yet effective hardware technique for improving the performance of the visibility computations with a z-buffer has been proposed by Scott et al.[62],see Section7.5.

5Visibility culling algorithms

Visibility algorithms have recently regained attention in computer graphics as a tool for handling large and complex scenes,which consist of millions of polygons.In the early1970s hidden surface removal(HSR) algorithms(see Section3)were developed to solve the fundamental problem of determining the visible portions of the polygons in the image.In light of the Z-buffer being widely available,and exact visibility computations being potentially too costly,one idea is to use the Z-buffer as a?lter,and design algorithms that lower the amount of overdraw by computing an approximation of the visible set.In more precise terms, de?ne the visible set to be the subset of primitives which contribute to at least one pixel of the screen.

In computer graphics,visibility-culling research mainly focuses on algorithms for computing(hopefully tight)estimations of,then using the Z-buffer to obtain correct images.

5.1View frustum and back-face culling

The simplest examples of visibility culling algorithms are back-face and view-frustum culling[28].Back-face culling algorithms avoid rendering geometry that faces away from the viewer,while viewing-frustum culling algorithms avoid rendering geometry that is outside the viewing frustum.These culling operations can be left to the graphics hardware without affecting the?nal image.However,that comes at a great cost since the polygons will be processed through most of the pipeline only to be rejected just before scan converting.

Back-facing polygons can be identi?ed with a simple dot product,since their normal points away from the view-point.On average we expect half the scene polygons to be back-facing,so ideally we would like to avoid processing all of them.Kumar et al.[45]present a method which has a sub-linear number of polygons.The input model is partitioned into a hierarchy of clusters based on both similarity of orientation and physical proximity of the polygons.The viewspace is also partitioned with respect to the clusters.At each frame the viewpoint position is hierarchically compared with the clusters in order to quickly reject the bulk of the back-facing polygons.Frame-to-frame coherence is further used to accelerate the process.

View frustum culling is usually performed using either a hierarchy of bounding volumes or a spatial data structure,such as a KD-tree,octree or BSP tree.This is hierarchically compared with the view frustum to quickly reject parts of the scene that are clearly outside[13].

Figure10:Three types of visibility culling techniques:(i)view frustum culling,(ii)back-face culling and (iii)occlusion culling.

Slater et al.[65]present an alternative approach which makes heavy use of frame-to-frame coherence. It relies on the fact that the sets of objects that are completely outside,completely inside,or intersect the boundary of the view volume,change slowly over time.This coherence is exploited to develop an algo-rithm that quickly identi?es these three sets of objects,and partitions those completely outside into subsets which are probabilistically sampled according to their distance from the view volume.A statistical object representation scheme is used to classify objects into the various sets.The algorithm is implemented in the context of a BSP tree.

Very recently,Assarsson and M¨o ller[4]proposed a new view-frustum culling technique.Their work is based on shrinking the view frustum to enable the use of point-containment queries to ef?ciently accept or reject primitives.

5.2Occlusion culling

Even though both of the above techniques are very effective in culling geometry,more complex techniques can lead to substantial improvements in rendering time.The term Occlusion culling is used for visibility techniques that avoid rendering primitives that are occluded by some other part of the scene.This technique is global as it involves interrelationship among polygons and is thus far more complex than local visibility techniques.The three kinds of visibility culling can be seen in Figure10.

It is important to note the differences between occlusion culling and HSR.HSR algorithms determine which portions of the scene need to be drawn on the screen.These algorithms eventually remove the oc-cluded parts,but in doing so,are expensive,since they usually have to touch all the primitives in(and actually have a running time that is superlinear in the size of).Occlusion-culling techniques are supposed to be output sensitive,that is,their running time should be proportional to the size of,which for most complex scenes,is a small subset.

Let us de?ne the following notation for a scene consisting of polygons.

The exact visibility set,,is the set of all polygons which are at least partially visible,and only these polygons.

The approximate visibility set,,is a set that includes most of the visible polygons plus maybe some hidden ones.

The conservative visibility set,,is the set that includes at least all the visible objects plus maybe some additional invisible objects.It may classify an invisible object as visible,but may never classify

a visible object as invisible.

5.3Conservative visibility

A very important concept is the idea of conservative visibility.The idea is to design ef?cient output-sensitive algorithms for computing,then to use a standard HSR as a back-end for computing the correct image.

These methods yield a potential visibility set(PVS)which includes all the visible polygons,plus a small number of occluded polygons.Then the HSR processes the(hopefully small)excess of polygons included in the PVS.Conservative occlusion culling techniques have the potential to be signi?cantly more ef?cient than the HSR algorithms.Conservative culling algorithms can also be integrated into the HSR algorithm, aiming towards an output sensitive algorithm[35].

To reduce the computational cost,the conservative occlusion culling algorithms usually use a hierarchi-cal data structure where the scene is traversed top-down and tested for occlusion against a small number of selected occluders[18,39].In these algorithms the selection of the candidate occluders is done before the online visibility calculations.The ef?ciency of these methods is directly dependent on the number of occluders and their effectiveness.Since the occlusion is tested from a point,these algorithms are applied in each frame during the interactive walkthrough.

5.4A taxonomy of occlusion culling techniques

In order to roughly classify the different visibility-culling algorithms,we will employ a loosely-de?ned taxonomy:

Conservative vs.Approximate.

Few visibility-culling algorithms attempt to?nd the exact visible set,since they are mostly used as

a front-end for another hidden-surface removal algorithm,most often the Z-buffer.Most techniques

described in this paper are conservative,that is,they overestimate the visible set.Only a few ap-proximate the visible set,but are not guaranteed of?nding all the visible triangles,e.g.,PLP[43,42] (there is also a conservative version of PLP which is described in[40]).Others can be tuned to be conservative or approximate depending on the time constraint and available resources.In an attempt to accelerate the culling step they might actually miss small visible primitives,such as HOM[81,80], and also the OpenGL assisted occlusion culling of Bartz et al.[6,5].

Point vs.Region.

The major difference here is whether the particular algorithm performs computations that depend on the exact location of the viewpoint,or performs bulk computations which can be re-used anywhere in a region of space.

Obviously,from-region algorithms perform their visibility computations on a region of space,that is, while the viewer is inside that region,these algorithms tend to render the same geometry.The strength of the from-region visibility set is that it is valid for a number of frames,and thus its cost is amortized over a number of frames(see Section8).

Most other algorithms attempt to perform visible-set computations that depend on the exact location of the viewpoint.

Precomputed vs.Online.

Most techniques need some form of preprocessing,but what we mean by“precomputed”are the algorithms that actually store visibility computations as part of their preprocessing.

Almost all of the from-region algorithms should be classi?ed as“precomputed”.A notable exception is[44].

In general,the other algorithms described do their visibility computation“online”,although much of the preprocessing might have been performed before.For instance,HOM[81,80],DDO[7],Hudson et al.[39],Coorg and Teller[18],perform some form of occluder selection which might take a considerable amount of time(in the order of hours of preprocessing),but in general have to save very little information to be used during rendering.

Image space vs.Object space.

Almost all of the algorithms use some form of hierarchical data structure.We classify algorithms as operating in“image-space”versus“object-space”depending on where the actual visibility determi-nation is performed.

For instance,HOM[81,80]and HZB[35,36]perform the actual occlusion determination in image-space(e.g.,in HOM,the occlusion maps are compared with a2D image projection and not the3D original representation.).Other techniques that explore image-space are DDO[7](which also explores a form of object-space occlusion-culling by performing a view-dependent occluder generation)and [6,5].

Most other techniques work primarily in object-space.

Software vs.Hardware.

Several of the techniques described can take further(besides the?nal z-buffer pass)advantage of hardware assistance either for its precomputation or during the actual rendering.

For instance,the from-region technique of Durand et al.[25]makes non-trivial use of the stencil buffer;HOM[81,80]uses the texture hardware to generate mipmaps;[6,5]uses the OpenGL selec-tion mode;and Meissner et al.[49]uses the HP occlusion-culling test.

The HP occlution-culling test[62]is not actually an algorithm on its own,but a building block for further algorithms.It is also exploited(and expanded)in[40].

Dynamic vs.Static scenes.

A few of the algorithms in the literature are able to handle dynamic scenes,such as[68]and HOM

[81].

One of the main dif?culties is handling changes to object hierarchies that most visibility algorithms use.The more preprocessing used,the harder it is to extend the algorithm to handle dynamic scenes.

Individual vs.Fused occluders.

Given three primitives,A,B,and C,it might happen that neither A nor B occlude C,but together they do occlude C.Some occlusion-culling algorithms are able to perform occluder-fusion,while others are only able to exploit single primitive occlusion.citeCohen-Or:1998:CV A,Coorg:1997:ROC,ct-tccv-96give examples of techniques that use a single(?xed number of)occluder(s).Papers[79,35,42] support occluder fusion.

5.5Related problems

There are many other interesting visibility problems,for instance:

–Shadow algorithms.The parts that are not visible from the light source are in the shadow.So occlusion culling and shadow algorithms have a lot in common and in many ways are conceptually similar[78,12].It is interesting to note that conservative occlusion culling techniques have not been as widely used in shadow algorithms.

–The Art Gallery Problem.One classic visibility problem is that of positioning a minimal number of guards in a gallery so that they cover all the walls of the gallery.This class of problem has been extensively studied in computational geometry,see,for instance,O’Rourke[55].

In this context,“cover”can have a different meaning.Much is known about this problem in2D,but in3D,it gets much harder.Fleishman et al.[27]proposes an algorithm for automatically?nding a set of posing cameras which cover a3D environment.Stuerzlinger[66]proposes a technique for a similar problem.

–Radiosity solutions.This is a much more dif?cult problem to compute accurately.In radiosity, energy needs to be transfered from each surface to every other visible surface in the environment [32,37].This requires a from-region visibility determination to be applied at each surface or patch.

Exact solutions are not practical,and techniques such as clustering[64]are often used.

6Object-space culling algorithms

Work on object-space occlusion culling dates back at least to the work of Teller and S`e quin[70]and Airey et al.[1]on indoor visibility.

Figure11:Results from[70]showing the potentially visible set from a given cell.Courtesy of Seth Teller, UC,Berkeley.

The work of Teller and S`e quin is mostly based on2D,since it deals with computing potentially visible sets for cells in an architectural environment.Their algorithm?rst subdivides space into cells using a2D BSP tree.Then it uses the connectivity between the cells,and computes whether straight lines can hit a set of “portals”(mostly doors)in the model.They elegantly model the stabbing problem as a linear programming problem,and in each cell save the collection of potentially visible cells.Figure11shows one of the results presented in their paper.The linear programming solution computes cell-to-cell visibility,which does not constrain the position of a viewer inside the cell,nor the direction in which he is looking,and thus is far too conservative.They also propose techniques which further constrain the PVS by computing eye-to-cell visibility,which take into consideration the view-cone emanating from the viewer.

Another technique that exploits cells and portals in models is described in Luebke and Georges[48].In-stead of precomputing the visibility,Luebke and Georges perform an on-the-?y recursive depth-?rst traver-sal of the cells using screen-space projections of the portals to overestimate the portal sequences.In their technique they use a“cull box”for each portal,which is the axial2D bounding box of the projected vertices of the portal.Any geometry which is not inside a cull box of the portal cannot be visible.The basic idea is then to clip the portal1s cull boxes as the cells are traversed,and only to continue the traversal into cells which have a non-zero(intersection)portal-sequence.Their technique is simple and quite effective;the source code(an SGI Performer library)is available for download from David Luebke’s web page.1

6.1Coorg and Teller

Coorg and Teller[17,18]have proposed object-space techniques for occlusion culling.The technique in [18]is most suitable for use in the presence of large occluders in the scene.Their algorithm explores the visibility relationships between two convex objects as in Figure12.In brief,while an observer is between

Figure12:The?gure highlights the visibility properties exploited by the algorithm of Coorg and Teller [17,18].While an observer is between the two supporting planes to the left of A,it is never possible to see B.Courtesy of Satyan Coorg,MIT.

the two supporting planes to the left of A,it is never possible to see B.The Coorg and Teller technique uses simple concepts such as this to develop a technique based on tracking visibility events among objects as the user moves and the relationships among objects change.The algorithm proposed in[17]is conservative, and explores temporal coherency as it tracks the visibility events.

In[17],Coorg and Teller give suf?ciency conditions for computing the visibility of two objects(that is, whether one occludes the other),based on tracking relationships among the silhouette edges supporting and separating the planes of the different objects.They build an algorithm which incrementally tracks changes in those relationships.There,they also show how to use object hierarchies(based on octrees)to handle the potential quadratic complexity computational increase.One drawback of this technique(as pointed out by the authors in their subsequent work[18])is precisely the fact that it needs to reconstruct the visibility information for a continuous sequence of viewpoints.

In[18],Coorg and Teller propose an improved algorithm.(It is still based on the visibility relationship shown in Figure12.)Instead of keeping a large number of continuous visibility events,in[18],they dynamically choose a set of occluders,which is used to determine which portions of the rest of the scene cannot be seen.The scene is inserted into an object hierarchy,and the occluders are used to determine which portions of the hierarchy can be pruned,and not rendered.

Coorg and Teller[18]develop several useful building blocks for implementing this idea,including a simple scheme to determine when the fusion of multiple occluders can be added together(see Figure13), and a fast technique for determining supporting and separating planes.They propose a simple metric for

(a)(b)

Figure 13:The ?gure illustrates that the algorithm described in [18]can perform occlusion fusion if the occluders combine to be a larger “convex”occluder.Courtesy of Satyan Coorg,MIT.

identifying the dynamic occluders which is based on approximating the solid angle an object subtends:

A N V

6.3BSP tree culling

The method described in Hudson et al.[39]can be improved using BSP trees.Bittner et al.[8]combine the shadow frusta of the occluders into an occlusion tree.This is done in a very similar way to the SVBSP tree of Chin and Feiner[11].The tree starts as a single lit(visible)leaf and occluders are inserted,in turn,into it. If an occluder reaches a lit leaf then it augments the tree with its shadow frustum;if it reaches a shadowed (invisible)leaf then it is just ignored since it means it already lies in an occluded region.Once the tree is built the scene hierarchy can be compared with it.The cube representing the top of the scene hierarchy is inserted into the tree.If it is found to be fully visible or fully occluded then we stop and act appropriately, otherwise its children are compared with the occlusion tree recursively.This method has an advantage over [39]in that instead of comparing the scene with each of the N shadow frusta,it is compared with one tree of depth(potentially)O(N).

The above technique is conservative;an alternative exact method was proposed much earlier by Naylor [53].That involved a merging of the occlusion tree with the BSP tree representing the scene geometry.

6.4Prioritized-layered projection

Prioritized-Layered Projection(PLP)is a technique for fast rendering of high-depth complexity scenes.It works by estimating the visible polygons of a scene from a given viewpoint incrementally,one primitive at a time.On its own,PLP is not a conservative technique,but instead is suitable for the computation of partially correct images for use as part of time-critical rendering systems.At a very high level,PLP amounts to the modi?cation of a simple view-frustum culling algorithm.However,it requires the computation of a special occupancy-based tessellation,and the assignment of a solidity value to each cell of the tessellation,which is used to compute a special ordering on how primitives get projected.

The core of the PLP algorithm consists of a space-traversal algorithm,which prioritizes the projection of the geometric primitives in such a way as to avoid(actually delay)projecting cells that have a small likelihood of being visible.Instead of explicitly overestimating,the algorithm works on a budget.At each frame,the user can provide the maximum number of primitives to be rendered,a polygon budget,and the algorithm will deliver what it considers to be the set of primitives which maximizes the image quality(using a solidity-based metric).

PLP is composed of two parts.First,PLP tessellates the space that contains the original input geometry with convex cells.During this one-time preprocessing,a collection of cells is generated in such a way as to roughly keep a uniform density of primitives per cell.The sampling leads to large cells in unpopulated areas, and small cells in areas that contain a lot of https://www.doczj.com/doc/c518920008.html,ing the number of modeling primitives assigned to a given cell(e.g.,tetrahedron),a solidity valueρis de?ned.The accumulated solidity value used throughout the priority-driven traversal algorithm can be larger than one.The traversal algorithm prioritizes cells based on their solidity value.Preprocessing is fairly inexpensive,and can be done on large datasets(about one million triangles)in a couple of minutes.

The rendering algorithm traverses the cells in roughly front-to-back order.Starting from the seed cell, which in general contains the eye position,it keeps carving cells out of the tessellation.The basic idea of

(a)(b)

Figure14:The Prioritized-Layered Projection Algorithm.PLP attempts to prioritize the rendering of geom-etry along layers of occlusion.Cells that have been projected by the PLP algorithm are highlighted in red wireframe and their associated geometry is rendered,while cells that have not been projected are shown in green.Notice that the cells occluded by the desk are outlined in green,indicating that they have not been projected.

(a)(b)

Figure15:The input geometry is a model of an of?ce.(a)snapshot of the PLP algorithm highlights the spatial tessellation used.The cells which have not been projected in the spatial tessellation are highlighted in green.(b)This?gure illustrates the accuracy of PLP.Shown in red are the pixels which PLP misses.In white,we show the pixels PLP renders correctly.

the algorithm is to carve the tessellation along layers of polygons.We de?ne the layering numberζ?of a modeling primitive in the following intuitive way.If we order each modeling primitive along each pixel by its positive(assume,without loss of generality,that is in the view frustum)distance to the eye point, we de?neζas the smallest rank of over all the pixels to which it contributes.Clearly,ζ1if and only if is visible.Finding rank1primitives is equivalent to solving the visibility problem.Instead of solving this dif?cult problem,the PLP algorithm uses simple heuristics.The traversal algorithm attempts to project the modeling primitives by layers,that is,all primitives of rank1,then2,and so on.We do this by always projecting the cell in the front(we call the front,the collection of cells that are immediate candidates for projection)which is least likely to be occluded according to its solidity value.Initially,the front is empty,and as cells are inserted,we estimate its accumulated solidity value to re?ect its position during the traversal.Every time a cell in the front is projected,all of the geometry assigned to it is rendered.

PLP is very effective in?nding the visible polygons.For more details about PLP,including comprehen-sive results,see[43,42].

7Image-space occlusion culling

As the name suggests image-space algorithms perform the culling in the viewing coordinates.The key feature in these algorithms is that during rendering of the scene the image gets?lled up and subsequent objects can be culled away quickly by the already-?lled parts of the images.Since they operate on a discrete array of?nite resolution they also tend to be simpler to implement and more robust than the object-space ones,which tend to have numerical precision problems.

Since testing each individual polygon against the image is too slow,almost all the algorithms that we will describe here,use conservative tests.They place a hierarchy on the scene,with the lowest level usually being the bounding boxes of individual objects,and they perform the occlusion test on that hierarchy.Approximate solutions can also be produced by some of the image-space algorithms by classifying as occluded geometry parts which are visible through an insigni?cant pixel count.This invariably results in an increase in running speed.

When the scenes are composed of many small primitives without well-de?ned large occluders then per-forming the culling in image-space becomes more attractive.The projections of many small and individually insigni?cant occluders can be accumulated on the image using standard graphics rasterizing hardware,to cover a signi?cant part of the image which can then be used for culling.Another advantage of these methods is that the occluders do not have to be polyhedral;any object that can be rasterised can be used.

7.1Hierarchical Z-buffer

The Hierarchical Z-buffer(HZB)[35,36]is an extension of the popular HSR method,the Z-buffer.In this method,occlusion is determined by testing against the Z-pyramid.The Z-pyramid is a layered buffer with different resolution at each level.At the?nest level it is just the content of the Z-buffer,each coarser level is created by halving the resolution in each dimension and each element holding the furthest Z-value in the corresponding2x2window of the?ner level below.This is done all the way to the top,where it is just one

的、地、得的用法和区别

“的、地、得”的用法和区别 导入(进入美妙的世界啦~) “的、地、得”口诀儿歌 的地得,不一样,用法分别记心上, 左边白,右边勺,名词跟在后面跑。 美丽的花儿绽笑脸,青青的草儿弯下腰, 清清的河水向东流,蓝蓝的天上白云飘, 暖暖的风儿轻轻吹,绿绿的树叶把头摇, 小小的鱼儿水中游,红红的太阳当空照, 左边土,右边也,地字站在动词前, 认真地做操不马虎,专心地上课不大意, 大声地朗读不害羞,从容地走路不着急, 痛快地玩耍来放松,用心地思考解难题, 勤奋地学习要积极,辛勤地劳动花力气, 左边两人双人得,形容词前要用得, 兔子兔子跑得快,乌龟乌龟爬得慢, 青青竹子长得快,参天大树长得慢, 清晨锻炼起得早,加班加点睡得晚, 欢乐时光过得快,考试题目出得难。 知识典例(注意咯,下面可是黄金部分!) 的、地、得 “的”、“地”、“得”的用法区别本是中小学语文教学中最基本的常识,但在使用中也最容易发生混淆,再加上一段时间里,中学课本中曾将这三个词的用法统一为“的”,因此造成了很多人对它们的用法含混不清进而乱用一通的现象。

一、“的、地、得”的基本概念 1、“的、地、得”的相同之处。 “的、地、得”是现代汉语中高频度使用的三个结构助词,都起着连接作用;它们在普通话中都读轻声“de”,没有语音上的区别。 2、“的、地、得”的不同之处。 吕叔湘、朱德熙所著《语法修辞讲话》认为“的”兼职过多,负担过重,而力主“的、地、得”严格分工。50 年代以来的诸多现代汉语论著和教材,一般也持这一主张。从书面语中的使用情况看,“的”与“地”、“得”的分工日趋明确,特别是在逻辑性很强的论述性、说明性语言中,如法律条款、学术论著、外文译著、教科书等,更是将“的”与“地”、“得”分用。 “的、地、得”在普通话里都读轻声“de”,但在书面语中有必要写成三个不同的字:在定语后面写作“的”,在状语后面写作“地”,在补语前写作“得”。这样做的好处,就是可使书面语言精确化。 二、“的、地、得”的用法 1、的——定语的标记,一般用在主语和宾语的前面。“的”前面的词语一般用来修饰、限制“的”后面的事物,说明“的”后面的事物怎么样。结构形式一般为:形容词、名词(代词)+的+名词。如: ①颐和园(名词)的湖光山色(主语)美不胜收。 ②她是一位性格开朗的女子(名词,宾语)。 2、地——状语的标记,一般用在谓语(动词、形容词)前面。“地”前面的词语一般用来形容“地”后面的动作,说明“地”后面的动作怎么样。结构方式一般为:形容词(副词)+地+动词(形容词)。如: ③她愉快(形容词)地接受(动词,谓语)了这件礼物。 ④天渐渐(时间副词)地冷(形容词,谓语)起来。 3、得——补语的标记,一般用在谓语后面。“得”后面的词语一般用来补充说明“得”前面的动作怎么样,结构形式一般为:动词(形容词)+得+副词。如: ⑤他们玩(动词,谓语)得真痛快(补语)。

常用介词的用法

分考点1 表示时间的介词 Point 1 at, in, on 的用法 (1)at 的用法 At 表示时间点,用于具体的时刻(几点,正午,午夜,黎明,拂晓,日出,日落等),或把某一时间看作某一时刻的词之前以及某些节假日的词之前。 at 6:00 在6点钟 At noon 在中午 At daybreak 在拂晓 At down 在黎明 At Christmas 在圣诞节 【特别注意】在以下的时间短语中,at 表示时间段。 At dinner time 在(吃)晚饭时 At weekends/ the weekend 在周末 (2)in 的用法 ①表示时间段,与表示较长一段时间的词搭配,如年份,月份,季节,世纪,朝代,还可以用于泛指的上午、下午、傍晚等时间段的词前。 In 2009 在2009年 In April 在四月 In the 1990s 在20世纪90年代 In Tang Dynasty 在唐朝 In the morning在上午 ②后接时间段,用于将来时,表示“在一段时间之后”。 The film will begin in an hour. 电影将于一个小时之后开始。 【特别注意】当时间名词前有this,that,last,next,every,each,some等词修饰时,通常不用任何介词。 This morning 今天上午last year 去年 (3)on 的用法 ①表示在特定的日子、具体的日期、星期几、具体的某一天或某些日子。 On September the first 在9月1号 On National Day 在国庆节 We left the dock on a beautiful afternoon. 我们在一个明媚的下午离开了码头。 ②表示在具体的某一天的上午、下午或晚上(常有前置定语或后置定语修饰)。 On Sunday morning 在星期日的早上 On the night of October 1 在10月1号的晚上 【特别注意】“on +名词或动名词”表示“一...就...”. On my arrival home/ arriving home, I discovered they had gone. 我一到家就发现他们已经离开了。 Point 2 in,after 的用法 In 和after都可以接时间段,表示“在...之后”,但in 常与将来时连用,after 常与过去时连用。 We will meet again in two weeks.

英语介词用法大全

英语介词用法大全 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

介词(The Preposition)又叫做前置词,通常置于名词之前。它是一种虚词,不需要重读,在句中不单独作任何句子成分,只表示其后的名词或相当于名词的词语与其他句子成分的关系。中国学生在使用英语进行书面或口头表达时,往往会出现遗漏介词或误用介词的错误,因此各类考试语法的结构部分均有这方面的测试内容。 1. 介词的种类 英语中最常用的介词,按照不同的分类标准可分为以下几类: (1). 简单介词、复合介词和短语介词 ①.简单介词是指单一介词。如: at , in ,of ,by , about , for, from , except , since, near, with 等。②. 复合介词是指由两个简单介词组成的介词。如: Inside, outside , onto, into , throughout, without , as to as for , unpon, except for 等。 ③. 短语介词是指由短语构成的介词。如: In front of , by means o f, on behalf of, in spite of , by way of , in favor of , in regard to 等。 (2). 按词义分类 {1} 表地点(包括动向)的介词。如: About ,above, across, after, along , among, around , at, before, behind, below, beneath, beside, between , beyond ,by, down, from, in, into , near, off, on, over, through, throught, to, towards,, under, up, unpon, with, within , without 等。 {2} 表时间的介词。如: About, after, around , as , at, before , behind , between , by, during, for, from, in, into, of, on, over, past, since, through, throughout, till(until) , to, towards , within 等。 {3} 表除去的介词。如: beside , but, except等。 {4} 表比较的介词。如: As, like, above, over等。 {5} 表反对的介词。如: againt ,with 等。 {6} 表原因、目的的介词。如: for, with, from 等。 {7} 表结果的介词。如: to, with , without 等。 {8} 表手段、方式的介词。如: by, in ,with 等。 {9} 表所属的介词。如: of , with 等。 {10} 表条件的介词。如:

of与for的用法以及区别

of与for的用法以及区别 for 表原因、目的 of 表从属关系 介词of的用法 (1)所有关系 this is a picture of a classroom (2)部分关系 a piece of paper a cup of tea a glass of water a bottle of milk what kind of football,American of soccer? (3)描写关系 a man of thirty 三十岁的人 a man of shanghai 上海人 (4)承受动作 the exploitation of man by man.人对人的剥削。 (5)同位关系 It was a cold spring morning in the city of London in England. (6)关于,对于 What do you think of Chinese food? 你觉得中国食品怎么样? 介词 for 的用法小结 1. 表示“当作、作为”。如: I like some bread and milk for breakfast. 我喜欢把面包和牛奶作为早餐。What will we have for supper? 我们晚餐吃什么?

2. 表示理由或原因,意为“因为、由于”。如: Thank you for helping me with my English. 谢谢你帮我学习英语。 Thank you for your last letter. 谢谢你上次的来信。 Thank you for teaching us so well. 感谢你如此尽心地教我们。 3. 表示动作的对象或接受者,意为“给……”、“对…… (而言)”。如: Let me pick it up for you. 让我为你捡起来。 Watching TV too much is bad for your health. 看电视太多有害于你的健康。 4. 表示时间、距离,意为“计、达”。如: I usually do the running for an hour in the morning. 我早晨通常跑步一小时。We will stay there for two days. 我们将在那里逗留两天。 5. 表示去向、目的,意为“向、往、取、买”等。如: let’s go for a walk. 我们出去散步吧。 I came here for my schoolbag.我来这儿取书包。 I paid twenty yuan for the dictionary. 我花了20元买这本词典。 6. 表示所属关系或用途,意为“为、适于……的”。如: It’s time for school. 到上学的时间了。 Here is a letter for you. 这儿有你的一封信。 7. 表示“支持、赞成”。如: Are you for this plan or against it? 你是支持还是反对这个计划? 8. 用于一些固定搭配中。如: Who are you waiting for? 你在等谁? For example, Mr Green is a kind teacher. 比如,格林先生是一位心地善良的老师。

“的、地、得”的用法和区别

的、地、得的用法和区别 的、地、得的用法和区别老班教育 一、的、地、得的基本概念 1、的、地、得的相同之处。 的、地、得是现代汉语中高频度使用的三个结构助词,都起着连接作用;它们在普通话中都读轻声de,没有语音上的区别。 2、的、地、得的不同之处。 吕叔湘、朱德熙所著《语法修辞讲话》认为的兼职过多,负担过重,而力主的、地、得严格分工。50 年代以来的诸多现代汉语论著和教材,一般也持这一主张。从书面语中的使用情况看,的与地、得的分工日趋明确,特别是在逻辑性很强的论述性、说明性语言中,如法律条款、学术论著、外文译著、教科书等,更是将的与地、得分用。 的、地、得在普通话里都读轻声de,但在书面语中有必要写成三个不同的字:在定语后面写作的,在状语后面写作地,在补语前写作得。这样做的好处,就是可使书面语言精确化。 二、的、地、得的用法 (一)、用法 1、的——定语的标记,一般用在主语和宾语的前面。的前面的词语一般用来修饰、限制的后面的事物,说明的后面的事物怎么样。 结构形式一般为:形容词、名词(代词)+的+名词。如: 颐和园(名词)的湖光山色(主语)美不胜收。 她是一位性格开朗的女子(名词,宾语)。 2、地——状语的标记,一般用在谓语(动词、形容词)前面。地前面的词语一般用来形容地后面的动作,说明地后面的动作怎么样。 结构方式一般为:形容词(副词)+地+动词(形容词)。如: 她愉快(形容词)地接受(动词,谓语)了这件礼物。 天渐渐(时间副词)地冷(形容词,谓语)起来。 3、得——补语的标记,一般用在谓语后面。得后面的词语一般用来补充说明得前面的动作怎么样。 结构形式一般为:动词(形容词)+得+副词。如: 他们玩(动词,谓语)得真痛快(补语)。 她红(形容词,谓语)得发紫(补语)。 (二)、例说 的,一般用在名词和形容词的后面,用在描述或限制人物、事物时,形容的词语与被形容的词语之间,表示一种描述的结果。如:漂亮的衣服、辽阔的土地、高大的山脉。结构一般为名词(代词或形容词)+的+名词。如,我的书、你的衣服、他的孩子,美丽的景色、动听的歌曲、灿烂的笑容。 地,用法简单些,用在描述或限制一种运动性质、状态时,形容的词语与被形容的词语之间。结构通常是形容词+地+动词。前面的词语一般用来形容后面的动作。一般地的后面只跟动词。比如高兴地跳、兴奋地叫喊、温和地说、飞快地跑;匆匆地离开;慢慢地移动......... 得,用在说明动作的情况或结果的程度时,说明的词语与被说明的词语之间,后面的词语一般用来补充和说明前面的情况。比如。跑得飞快、跳得很高、显得高雅、显得很壮、馋得直流口水、跑得快、飞得高、走得慢、红得很……得通常用在动词和形容词(动词之间)。

英语介词用法详解

英语常用介词用法与辨析 ■表示方位的介词:in, to, on 1. in 表示在某地范围之内。如: Shanghai is/lies in the east of China. 上海在中国的东部。 2. to 表示在某地范围之外。如: Japan is/lies to the east of China. 日本位于中国的东面。 3. on 表示与某地相邻或接壤。如: Mongolia is/lies on the north of China. 蒙古国位于中国北边。 ■表示计量的介词:at, for, by 1. at表示“以……速度”“以……价格”。如: It flies at about 900 kilometers a hour. 它以每小时900公里的速度飞行。 I sold my car at a high price. 我以高价出售了我的汽车。 2. for表示“用……交换,以……为代价”。如: He sold his car for 500 dollars. 他以五百元把车卖了。 注意:at表示单价(price) ,for表示总钱数。 3. by表示“以……计”,后跟度量单位。如: They paid him by the month. 他们按月给他计酬。 Here eggs are sold by weight. 在这里鸡蛋是按重量卖的。 ■表示材料的介词:of, from, in 1. of成品仍可看出原料。如: This box is made of paper. 这个盒子是纸做的。 2. from成品已看不出原料。如: Wine is made from grapes. 葡萄酒是葡萄酿成的。 3. in表示用某种材料或语言。如: Please fill in the form in pencil first. 请先用铅笔填写这个表格。 They talk in English. 他们用英语交谈(from 。 注意:in指用材料,不用冠词;而with指用工具,要用冠词。请比较:draw in penc il/draw with a pencil。 ■表示工具或手段的介词:by, with, on 1. by用某种方式,多用于交通。如by bus乘公共汽车,by e-mail. 通过电子邮件。

with的用法大全

with的用法大全----四级专项训练with结构是许多英语复合结构中最常用的一种。学好它对学好复合宾语结构、不定式复合结构、动名词复合结构和独立主格结构均能起很重要的作用。本文就此的构成、特点及用法等作一较全面阐述,以帮助同学们掌握这一重要的语法知识。 一、 with结构的构成 它是由介词with或without+复合结构构成,复合结构作介词with或without的复合宾语,复合宾语中第一部分宾语由名词或代词充当,第二部分补足语由形容词、副词、介词短语、动词不定式或分词充当,分词可以是现在分词,也可以是过去分词。With结构构成方式如下: 1. with或without-名词/代词+形容词; 2. with或without-名词/代词+副词; 3. with或without-名词/代词+介词短语; 4. with或without-名词/代词+动词不定式; 5. with或without-名词/代词+分词。 下面分别举例:

1、 She came into the room,with her nose red because of cold.(with+名词+形容词,作伴随状语) 2、 With the meal over , we all went home.(with+名词+副词,作时间状语) 3、The master was walking up and down with the ruler under his arm。(with+名词+介词短语,作伴随状语。) The teacher entered the classroom with a book in his hand. 4、He lay in the dark empty house,with not a man ,woman or child to say he was kind to me.(with+名词+不定式,作伴随状语) He could not finish it without me to help him.(without+代词 +不定式,作条件状语) 5、She fell asleep with the light burning.(with+名词+现在分词,作伴随状语) 6、Without anything left in the cupboard, she went out to get something to eat.(without+代词+过去分词,作为原因状语) 二、with结构的用法 在句子中with结构多数充当状语,表示行为方式,伴随情况、时间、原因或条件(详见上述例句)。

常用介词用法(for to with of)

For的用法 1. 表示“当作、作为”。如: I like some bread and milk for breakfast. 我喜欢把面包和牛奶作为早餐。 What will we have for supper? 我们晚餐吃什么? 2. 表示理由或原因,意为“因为、由于”。如: Thank you for helping me with my English. 谢谢你帮我学习英语。 3. 表示动作的对象或接受者,意为“给……”、“对…… (而言)”。如: Let me pick it up for you. 让我为你捡起来。 Watching TV too much is bad for your health. 看电视太多有害于你的健康。 4. 表示时间、距离,意为“计、达”。如: I usually do the running for an hour in the morning. 我早晨通常跑步一小时。 We will stay there for two days. 我们将在那里逗留两天。 5. 表示去向、目的,意为“向、往、取、买”等。如: Let’s go for a walk. 我们出去散步吧。 I came here for my schoolbag.我来这儿取书包。 I paid twenty yuan for the dictionary. 我花了20元买这本词典。 6. 表示所属关系或用途,意为“为、适于……的”。如: It’s time for school. 到上学的时间了。 Here is a letter for you. 这儿有你的一封信。 7. 表示“支持、赞成”。如: Are you for this plan or against it? 你是支持还是反对这个计划? 8. 用于一些固定搭配中。如: Who are you waiting for? 你在等谁? For example, Mr Green is a kind teacher. 比如,格林先生是一位心地善良的老师。 尽管for 的用法较多,但记住常用的几个就可以了。 to的用法: 一:表示相对,针对 be strange (common, new, familiar, peculiar) to This injection will make you immune to infection. 二:表示对比,比较 1:以-ior结尾的形容词,后接介词to表示比较,如:superior ,inferior,prior,senior,junior 2: 一些本身就含有比较或比拟意思的形容词,如equal,similar,equivalent,analogous A is similar to B in many ways.

的地得的用法和区分

《“的、地、得”的用法》语文微课教案 一、教学背景 在语言文字规范化大背景下,帮助学生解决应用“的地得”的疑惑与困难。 二、设计思路 针对学生对于“的地得”的误用与忽视展开教学,规范结构助词“的地得”的使用。按照“问题的提出、问题的分析、问题的解决”的思路展开教学,总结归纳优化的方式方法。 三、教学目标 1、知道“怎么样的什么、怎么样地干什么、干得怎么样”三种固定搭配。 2、掌握“的、地、得”的区别与联系。 3、运用小儿歌“动前土、名前白、行动后面双人来”的口诀帮助正确使用“的、地、得”。 四、教学重难点 1、知道“的、地、得”的区别。 2、在实际情境中正确运用“的、地、得”。 五、教学时间 8分钟微课堂 六、教学适用对象 义务教育九年制内的学生 七、教学准备

多媒体课件、录屏软件 八、教学设计与过程 开场白: 同学们好!今天我们一起来学习“的、地、得”的正确用法。首先我们来了解一下它们的区别。 1、相同之处:原来它们都是念轻声“de”,都是结构助词,起连接作用。 2、不同之处:在书面语中要写成三个不同的字,而且它们的搭配及用法也各不相同。 (1)怎么样的什么 (2)怎样样地干什么 (3)干得怎么样 下面我们就来学习一下它们的正确用法。 白勺“的”的结构是用“形容词或名词或代词+的+名词”来表示,而我们最常见,用得最多的还是“形容词+的+名词”的结构。 而土也“地”的用法可以用“形容词+地+动词”的结构来表示。 双人“得”是用“动词+得+形容词”的结构来表示 3、练习巩固 (1)形近区分 静静(的)河面静静(地)写字欢乐(的)山谷

欢乐(地)歌唱满意(地)点头满意(的)作品 (2)类别区分 1)跑(得)飞快飞快(地)跑 2)愉快(的)旅行旅行(得)愉快 3)强烈(的)渴望强烈(地)渴望 (3)综合杂糅 小雏鹰飞到大树的上方,高兴地喊起来:“我真的会飞啦!而且飞(得)很高呢!” 小结:能填对这个句子的你肯定就已经学会它们的用法了! 4、特殊情况 质疑:假如遇到特殊情况怎么办呢? 我从书包里拿出书交给她们,她们高兴得.围着我跳起舞来。(出自二年级上册《日记两则》) (1)质疑:为什么这里要使用“得”呢? (2)释疑:原来这里强调的是心情,动词在后,形容词在前,相当于后置,“得”修饰“跳舞”而非“围”。现在你明白了吧? 5、小结归纳: 怎么样,你们学会了吗?为了让同学们能够更快的记住它们的用法,老师送给大家一首口诀来帮助你们熟记三个“的”的正确使用方法:动前土、名前白、行动后面双人来。

高中英语45个介词的基本用法

——45个基本介词的用法 1、about 【原始含义】 a-b-out “A在B外面” 【引申含义】 [prep] (1)在…到处,在…各处here and there eg: We wandered about the town for an hour or so. He looked about the room. (2)在…附近next to a place eg. She lives about the office. (3)关于in connection with eg: a book about English study I don’t know what you are talking about. [adv] (1)大约close to eg: We left there about 10 o’clock. It costs about 500 dollars. (2)到处,各处 eg: The children were rushing about in the garden. (3)在附近 eg : There is no food about. 【常见搭配】 作介词时的搭配: 一.动词+(about+名词) (1)arrange (about sth) 安排关于某事(2)argue (about sth) 讨论某事 (3)ask (about sth) 询问关于某事(4)boast (about sb/sth) 吹嘘... (5)care (about sb/sth)关心…,对…感兴趣(6)chat(about sth) 谈论某事(7)complain(about sb/sth) 抱怨… (8)dream (about sb/sth) 梦见某人/某物(9)go (about sth) 着手做...;从事...

with用法归纳

with用法归纳 (1)“用……”表示使用工具,手段等。例如: ①We can walk with our legs and feet. 我们用腿脚行走。 ②He writes with a pencil. 他用铅笔写。 (2)“和……在一起”,表示伴随。例如: ①Can you go to a movie with me? 你能和我一起去看电影'>电影吗? ②He often goes to the library with Jenny. 他常和詹妮一起去图书馆。 (3)“与……”。例如: I’d like to have a talk with you. 我很想和你说句话。 (4)“关于,对于”,表示一种关系或适应范围。例如: What’s wrong with your watch? 你的手表怎么了? (5)“带有,具有”。例如: ①He’s a tall kid with short hair. 他是个长着一头短发的高个子小孩。 ②They have no money with them. 他们没带钱。 (6)“在……方面”。例如: Kate helps me with my English. 凯特帮我学英语。 (7)“随着,与……同时”。例如: With these words, he left the room. 说完这些话,他离开了房间。 [解题过程] with结构也称为with复合结构。是由with+复合宾语组成。常在句中做状语,表示谓语动作发生的伴随情况、时间、原因、方式等。其构成有下列几种情形: 1.with+名词(或代词)+现在分词 此时,现在分词和前面的名词或代词是逻辑上的主谓关系。 例如:1)With prices going up so fast, we can't afford luxuries. 由于物价上涨很快,我们买不起高档商品。(原因状语) 2)With the crowds cheering, they drove to the palace. 在人群的欢呼声中,他们驱车来到皇宫。(伴随情况) 2.with+名词(或代词)+过去分词 此时,过去分词和前面的名词或代词是逻辑上的动宾关系。

of和for的用法

of 1....的,属于 One of the legs of the table is broken. 桌子的一条腿坏了。 Mr.Brown is a friend of mine. 布朗先生是我的朋友。 2.用...做成的;由...制成 The house is of stone. 这房子是石建的。 3.含有...的;装有...的 4....之中的;...的成员 Of all the students in this class,Tom is the best. 在这个班级中,汤姆是最优秀的。 5.(表示同位) He came to New York at the age of ten. 他在十岁时来到纽约。 6.(表示宾格关系) He gave a lecture on the use of solar energy. 他就太阳能的利用作了一场讲演。 7.(表示主格关系) We waited for the arrival of the next bus. 我们等待下一班汽车的到来。

I have the complete works of Shakespeare. 我有莎士比亚全集。 8.来自...的;出自 He was a graduate of the University of Hawaii. 他是夏威夷大学的毕业生。 9.因为 Her son died of hepatitis. 她儿子因患肝炎而死。 10.在...方面 My aunt is hard of hearing. 我姑妈耳朵有点聋。 11.【美】(时间)在...之前 12.(表示具有某种性质) It is a matter of importance. 这是一件重要的事。 For 1.为,为了 They fought for national independence. 他们为民族独立而战。 This letter is for you. 这是你的信。

介词with的用法大全

介词with的用法大全 With是个介词,基本的意思是“用”,但它也可以协助构成一个极为多采多姿的句型,在句子中起两种作用;副词与形容词。 with在下列结构中起副词作用: 1.“with+宾语+现在分词或短语”,如: (1) This article deals with common social ills, with particular attention being paid to vandalism. 2.“with+宾语+过去分词或短语”,如: (2) With different techniques used, different results can be obtained. (3) The TV mechanic entered the factory with tools carried in both hands. 3.“with+宾语+形容词或短语”,如: (4) With so much water vapour present in the room, some iron-made utensils have become rusty easily. (5) Every night, Helen sleeps with all the windows open. 4.“with+宾语+介词短语”,如: (6) With the school badge on his shirt, he looks all the more serious. (7) With the security guard near the gate no bad character could do any thing illegal. 5.“with+宾语+副词虚词”,如: (8) You cannot leave the machine there with electric power on. (9) How can you lock the door with your guests in? 上面五种“with”结构的副词功能,相当普遍,尤其是在科技英语中。 接着谈“with”结构的形容词功能,有下列五种: 一、“with+宾语+现在分词或短语”,如: (10) The body with a constant force acting on it. moves at constant pace. (11) Can you see the huge box with a long handle attaching to it ? 二、“with+宾语+过去分词或短语” (12) Throw away the container with its cover sealed. (13) Atoms with the outer layer filled with electrons do not form compounds. 三、“with+宾语+形容词或短语”,如: (14) Put the documents in the filing container with all the drawers open.

的地得的用法教案

“的、地、得”的用法教案 教学目标: 1.能通过看视频知道“的、地、得”的用法区别。 2.能在小组合作中正确掌握“的、地、得”的用法。 3.能正确熟练地运用“的、地、得”。 教学重点:通过看视频知道“的、地、得”的用法区别。 教学难点:正确熟练地运用“的、地、得”。 教学过程: 一、导入(板书课题:“的、地、得”的用法“的、地、得”) 这三个字认识吧!虽然它们都有一个相同的读音de,但用法却不一样,可不能把他们用错了。究竟他们的用法有什么不同,我们来听听他们的故事吧! 二、看微视频,学习“的、地、得”的用法区别。 三、小结: 1.孩子们,刚才看了视频知道他们是谁吗?(白勺的,土也地,双人得。) (1)白勺的是个杂货铺老板,她的店里都有什么?(彩色的毛巾美味的汉堡结实的帐篷舒适的儿童车捕捉风的网会唱歌的小树开个没完的花朵优美动听的歌曲飘来飘去的云……)还可能有什么? 你们一定会发现,白勺的的用法有什么特点?(后面是名词。)板书:名词 (2)土也地是个运动男孩,他喜欢?(悠闲地散步欢快地跳舞兴奋地跳跃开心地捕蝴蝶看图书踢球骑自行洗澡吃冰淇淋……)他还可能喜欢干什么呢?你发现了吗?土也地的用法特点?(后面是动词。)板书:动词 (3)双人得呢?她是个总喜欢评价别人的小妹妹。(球踢得真棒舞跳得精彩长得好高呀……) 她可能还怎么评价别人?(歌唱得动听饭吃得很饱人长得漂亮)你们会发现,双人得的前面通常都是——动词。板书:动词 2.小结:所以,他们的用法也很简单,区别就在这里。 (白勺的用在名词前面;土也地用在动词前面;双人得用在动词后面。)你明白了吗? 四、我来考考你们,看哪一组完成得又对又快! 1.菜鸟级练习 2.老鸟级练习 3.大虾级练习 五、总结

介词at的基本用法

介词at的基本用法: 一、at引导的时间短语通常可表示: 1.在几点几分,例如:at one o’clock(在一点钟) I usually make the bed at one o’clock.. 2.在用餐时间,例如:at lunchtime(在午餐时间) 3.在某个节日,例如:at Christmas 在圣诞节的时候 4.在某个年龄的时候,例如:at the age of 12。在12岁的时候 5.一天中的某段较短的时间,例如:at noon在中午at night在夜里 二、at也可引导地点短语,常用于小地点之前,例如: at the bus stop在汽车站at the butcher’s 在肉店里at school在学校里at home在家里 介词on的基本用法: 一、on可引导地点短语,表示“在…上面”,例如:on the table在桌子上 二、on也可引导时间短语,通常有以下用法: 1.用于“星期”和“月份”中的任何一天之前,例如:On Monday在星期一on April 1st. 2.用于某个“星期几”当天的某段时间,例如:on Monday morning在星期一上午 3.用于具体某一天之前,例如:on that day在那一天On my birthday在我的生日那天 On Christmas day在圣诞节那天 介词in的基本用法: 一、in可引导地点短语,常表示“在…里面”,例如:in the bag在袋子里 二、in引导的时间短于通常有以下用法: 1.在某个世纪,例如:in the 21st century在21世纪 2.在某一年,例如:in 1995在1995年 3.在某一个季节,例如:in spring在春季 4.在某一个月份,例如:in March在三月里 5.在某段时期,例如:in the holidays在假期里 6.在某个持续几天的节日里,例如:in Easter Week在复活周 7.在一天中的某段时间,例如:in the morning在上午(早晨)

初中 英语 介词“with”的用法

介词“with”的用法 1、同, 与, 和, 跟 talk with a friend 与朋友谈话 learn farming with an old peasant 跟老农学习种田 fight [quarrel, argue] with sb. 跟某人打架 [争吵, 辩论] [说明表示动作的词, 表示伴随]随着, 和...同时 change with the temperature 随着温度而变化 increase with years 逐年增加 be up with the dawn 黎明即起 W-these words he left the room. 他说完这些话便离开了房间。2 2、表示使用的工具, 手段 defend the motherland with one s life 用生命保卫祖国 dig with a pick 用镐挖掘 cut meat with a knife 用刀割肉3

3、说明名词, 表示事物的附属部分或所具有的性质]具有; 带有; 加上; 包括...在内 tea with sugar 加糖的茶水 a country with a long history 历史悠久的国家4 4、表示一致]在...一边, 与...一致; 拥护, 有利于 vote with sb. 投票赞成某人 with的复合结构作独立主格,表示伴随情况时,既可用分词的独立结构,也可用with的复合结构: with +名词(代词)+现在分词/过去分词/形容词/副词/不定式/介词短语。例如: He stood there, his hand raised. = He stood there, with his hand raise.他举手着站在那儿。 典型例题 The murderer was brought in, with his hands ___ behind his back A. being tied B. having tied C. to be tied D. tied 答案D. with +名词(代词)+分词+介词短语结构。当分词表示伴随状况时,其主语常常用

for和of的用法

for的用法: 1. 表示“当作、作为”。如: I like some bread and milk for breakfast. 我喜欢把面包和牛奶作为早餐。 What will we have for supper? 我们晚餐吃什么? 2. 表示理由或原因,意为“因为、由于”。如: Thank you for helping me with my English. 谢谢你帮我学习英语。 Thank you for your last letter. 谢谢你上次的来信。 Thank you for teaching us so well. 感谢你如此尽心地教我们。 3. 表示动作的对象或接受者,意为“给……”、“对…… (而言)”。如: Let me pick it up for you. 让我为你捡起来。 Watching TV too much is bad for your health. 看电视太多有害于你的健康。 4. 表示时间、距离,意为“计、达”。如:

I usually do the running for an hour in the morning. 我早晨通常跑步一小时。 We will stay there for two days. 我们将在那里逗留两天。 5. 表示去向、目的,意为“向、往、取、买”等。如: Let’s go for a walk. 我们出去散步吧。 I came here for my schoolbag.我来这儿取书包。 I paid twenty yuan for the dictionary. 我花了20元买这本词典。 6. 表示所属关系或用途,意为“为、适于……的”。如: It’s time for school. 到上学的时间了。 Here is a letter for you. 这儿有你的一封信。 7. 表示“支持、赞成”。如: Are you for this plan or against it? 你是支持还是反对这个计划? 8. 用于一些固定搭配中。如:

高中常见介词的基本用法

介词 介词不能单独作句子成分,而是用来表示名词或代词等和句中其他词的关系,通常放在名词或代词之前,构成介词短语。介词短语作为一个成分在句中可用作定语,表语,状语等。When shall we have the talk on the history of the Party我们何时听党史报告(定语)His elder brother is in the army.他的哥哥在部队。(表语) I went to school at half past seven yesterday.昨天我7:30 上学。(状语) 《 Will you please come along with me跟我一起走好吗(状语) ※同一个汉语词可以译成不同的英语介词。例如: 一幢石头的房子 a house of stone 这个房间的钥匙 the key to this room 明天的票 the ticket for tomorrow 《 (一)About 1.表示地点:在。。。周围;在。。。附近 We took the foreign guests about the campus. 我们带领外宾在校园里各处看看。 2.表示时间:大约。。。;近于。。。时刻前后We left there about six o’clock 我大约在六点左右离开那个地方。 3.表示客体关系:对于;关于;有关。例如:1) I must see him, I’ve heard so much about him 我必须要见他,我听到很多关于他的事情。2) What do you know about China 关于中国你知道些啥 (二)Above 表示位置,职位,数量,年龄等:在。。。上方;在。。。之上;超过。。。 1) Henry’s work is well above the average.亨利的功课大大超过一般水平。 2) A bird is flying above the woods. 一只鸟在树林上飞。 3) The portrait is above the blackboard.一幅肖像挂在黑板的上方。 4) It weighs above five tons. 这东西有5 吨多重。 (三)Across 1.表动作方向/位置:横过;穿过。(在表面)1)The boy helped the old lady across the street. 男孩扶老大娘穿过马路。2) The tree had fallen down across the railway line.树倒啦,横在铁路上。 2.表示地点:在对面;在。。。的另一边。 1)The church is across the river. 教堂在河的对面。 (四)After 1.表示时间或位置:在。。。之后。 1)Please line up one after another. 请一个挨一个排好对。 He goes on working day after day ,week after week without any change. 他继续日复一日地工作,没有丝毫改变。Shut the door after you. 随手关门! 2.引伸意义:仿照;按照。 Please make sentences after the model. 请照示例造句。 ※(五)Against 1.表示位置:依着;紧靠;撞击;碰着。 1) He rested his bike against the wall.他把自行车靠在墙上。 2) The rain was beating against the windows. 雨敲打着窗户。 2.引伸意义:反对;禁止。 1)Are you for it or against it 你是赞成还是反对 2) Is there a law in this country against spitting right and left 你们国家有没有反对随地吐痰的规定

相关主题
文本预览
相关文档 最新文档