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

Explain vector data model with examples, Question 1 How does GIS differ fr...

Question 1 How does GIS differ from traditional Maps? Explain Question 2 Explain vector data model with examples Question 3 What is spatial analysis? explain

Construction of a solid with a translational sweep, Construction of a Solid...

Construction of a Solid with a Translational Sweep Figure demonstrates construction of a solid along with a translational sweep. Translating the control points of the periodic

Types of formats of audio file formats, Types of Formats It is signific...

Types of Formats It is significant to distinguish among a file format and a codec. Although most audio file formats support merely one audio codec, a file format may assist mul

Essentialily of computer simulation, Essentialily of Computer Simulation ...

Essentialily of Computer Simulation You may want to understand why to do simulation? Is there any one way to perform the tasks? To converse these matters lets briefly discuss

Method to draw an object by using four bézier curves, Suggest a method to d...

Suggest a method to draw an object as in figure using four Bézier curves of suitable degree Answer: Employ four quartic Bézier curves with the endpoint of one as the initial poi

Representational animation - computer animation, Representational Animation...

Representational Animation - Computer Animation This method permits an object to change its shape throughout the animation. There are three sub-types to this. The initial is th

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

Polygon clipping - raster graphics and clipping, Polygon Clipping - Raster ...

Polygon Clipping - Raster Graphics and Clipping After considerate the idea of line clipping and its algorithms, we can currently extend the idea of line clipping to polygon cl

Parallel projection, Parallel Projection In parallel projection, object...

Parallel Projection In parallel projection, objects in scene are projected onto the 2D view plane along rays parallel to a projection vector. Parallel projection is orthogra

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