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

Reflection and types of reflection, Reflection and Types of Reflection ...

Reflection and Types of Reflection Reflection and its types:   Reflection: this is the phenomenon of bouncing back of light; such phenomenon obeys laws of Reflec

Bresenham rasterisation algorithm, 2. Describe how the Bresenham rasterisat...

2. Describe how the Bresenham rasterisation algorithm is advantageous when compared to any other existing method.

Scripting systems- computer animation, Scripting Systems- Computer Animatio...

Scripting Systems- Computer Animation Scripting Systems are the earliest type of motion control systems. Scripting systems permit object specifications and animation sequenc

Constant intensity shading or flat shading, Constant intensity shading OR F...

Constant intensity shading OR Flat shading  In this technique particular intensity is calculated for each polygon surface that is all points that lie upon the surface of the

Region filling, what is region filling? give details

what is region filling? give details

Advantages and deficiencies of gourand shading, Advantages and Deficiencies...

Advantages and Deficiencies of Gourand Shading Advantages of Gourand Shading: this eliminates the intensity discontinuities related with the constant shading model. Defi

What is scan line algorithm, What is scan line algorithm?  One way to f...

What is scan line algorithm?  One way to fill the polygon is to apply the inside test. I.e. to check whether the pixel is inside the polygon or outside the polygon and then hig

Concept for eliminating hidden lines, Concept for Eliminating Hidden Lines,...

Concept for Eliminating Hidden Lines, Surfaces or Edges To exemplify the concept for eliminating hidden-lines, surfaces or edges, see a classic wire frame model of a cube as i

Interrupts - event driven devices, Interrupts - Event driven devices ...

Interrupts - Event driven devices Interrupts: An option to polling is the interrupt feature. The device sends an interrupt signal to the processor while an event happens. T

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