Application of sutherland hodgman polygon clipping, Computer Graphics

Assignment Help:

For good understanding of the application of the rules specified above see the following figure, where the shaded region demonstrates the clipped polygon.

801_Application of Sutherland Hodgman Polygon Clipping.png

Figure: Sutherland-Hodgman Polygon Clipping

Pseudo code for Sutherland - Hodgman Algorithm

Define variables

In VertexArray is the array of input polygon vertices

outVerteArray is the array of output polygon vertices

Nin is the number of entries in inVertexArray

Nout is the number of entries in outVertexArray

n is the number of edges of the clip polygon

ClipEdge[x] is the xth edge of clip polygon defined by a pair of vertices

s, p are the start and end point respectively of current polygon edge

i is the intersection point with a clip boundary

j is the vertex loop counter

Define Functions

AddNewVertex(newVertex, Nout, outVertexArray)

: Adds newVertex to outVertexArray and then updates Nout

InsideTest(testVertex, clipEdge[x])

: Checks whether the vertex lies inside the clip edge or not;

  retures         TRUE is inside else returns FALSE

Intersect (first, second, clipEdge[x])

: Clip polygon edge (first, second) against clipEdge[x], outputs the intersection point

{                                        :  begin main

x = 1

while (x ≤ n)                     : Loop through all the n clip edges

{

Nout = 0                            : Flush the outVertexArray

s = inVertexArray[Nin] : Start with the last vertex in inVertexArray

for j = 1 to Nin do             : Loop through Nin number of polygon vertices (edges)

{

p = inVertexArrray[j]

if InsideTest(p, clipEdge[x] = = TRUE then                     : Case A

and D

if InsideTest(s, clipEdge[x] = = TRUE then

AddNewVertex(p, Nout, outVertexArray)                        : Case A

else

i = Intersect(s, p, clipEdge[x])                           :  Case D

AddNewVertex(i, Nout, outVertexArray)

AddNewVertex(p, Nout, outVertexArray)

end if

else      :  i.e. if InsideTest(p, clipEdge[x] = = FALSE

(Cases 2 and 3)

if InsideTest(s, clipEdge[x]) = =TRUE then                     : Case B

{

 Intersect(s, p, clipEdge[x])

AddNewVertex(i, Nout, outVertexArray)

end if                                        : No action for case C

 

s = p                                         : Advance to next pair of vertices j = j + 1

end if                                         :  end {for}

}

x = x + 1                                     : Proceed to the next ClipEdge[x +1]

Nin = Nout

inVertexArray = outVertexArray            :  The output vertex array for the current clip edge becomes the input vertex array for the next clip edge

}                                        : end while

}                                        : end main


Related Discussions:- Application of sutherland hodgman polygon clipping

Types of refresh monitors - raster scan and random scan, Types of Refresh M...

Types of Refresh Monitors - Raster Scan and Random Scan There are two types of refresh monitors, i.e. the Raster Scan and Random Scan that will be illustrated separately.

Simulating accelerations - computer animation, Simulating Accelerations - C...

Simulating Accelerations - Computer Animation In previous block, we have seen the dominance and function of mathematics in computer graphics and now, we will undertake the invo

Computer Animation, Computer Animation The term Animation is derived fr...

Computer Animation The term Animation is derived from 'animate' that literally means 'to give life to', 'Animating' a thing implies to impart movement to something that can't m

Gourand shading or intensity interpolation scheme, Gourand shading OR Inten...

Gourand shading OR Intensity interpolation scheme Now there polygon is rendered through linearly interpolating intensity values across the surface. Intensity values for all po

Role in education and training, Role in Education and Training:- A multime...

Role in Education and Training:- A multimedia presentation is an important way to introduce new concepts or described a new technology. Individuals determine it easy to understand

Interpolation of surface - polygon rendering, Interpolation of surface - Po...

Interpolation of surface - Polygon Rendering Interpolation of surface normals beside the polygonedge between two vertices is demonstrated above in the figure 15. Here the norm

Orientation dependence - modeling and rendering, Orientation Dependence - M...

Orientation Dependence - Modeling and Rendering The outcomes of interpolated-shading models are dependent of the projected polygon's orientation. Because values are interpolat

Properties of bezier curves - modeling and rendering, Properties of Bezier ...

Properties of Bezier Curves - modeling and rendering A very helpful property of a Bezier curve is that it always passes via the first and last control points. Such the bounda

Liquid crystal display - graphics hardware, Liquid Crystal Display - Graphi...

Liquid Crystal Display - Graphics Hardware It is a type of display utilized in digital watches and several portable computers. These work along with polarized ambient as outsi

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd