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

What are the developments of cad, What are the Developments of CAD Now...

What are the Developments of CAD Now CAD packages can be linked to 3D ink jet printers which produce an actual prototype model by building up layers/slices in fine powder (suc

Design the poster taking, Question : (a) With the help of illustrations...

Question : (a) With the help of illustrations, briefly describe the influence of the following style on layout and typographic design: (i) Bauhaus (ii) Avant Garde (iii)

What are the steps to mapping artwork to an object, Question 1: (a) How...

Question 1: (a) How can you select and manipulate individual objects in a group? (b) How do you resize an object? Explain how you determine the point from which the object r

Briefly explain the 12 stages in image processing, QUESTION (a) In Autom...

QUESTION (a) In Automatic Contrast Adjustment briefly explain how to stretch an image to its full intensity (b) Write down a mathematical function of a Modified Automatic Con

Understanding the concept of hypertext and hypermedia, Understanding the Co...

Understanding the Concept of hypertext and hypermedia: For know the principle of Hypertext and Hypermedia we will look at how the human memory works.

Physx, what is physx.?

what is physx.?

What is monitor, Q. What is Monitor? A Monitor is a television like bo...

Q. What is Monitor? A Monitor is a television like box connected to your computer and providing you a vision into the mind of your PC. It displays what your computer is thinki

Line drawing algorithm, Adavantage and disadvantages of DDA and Bresenhams ...

Adavantage and disadvantages of DDA and Bresenhams line drawing algorithm

Define random scan and raster scan displays, Define Random Scan/Raster Scan...

Define Random Scan/Raster Scan displays. Ans. Random scan is a process in which the display is made by the electronic beam, which is directed, only to the points or division of

Explain clearly the condense editing using examples, QUESTION 1. Creat...

QUESTION 1. Create a COMPLETE storyboard for a movie of 2 minutes duration on ONE of the following subject: a. Poverty b. Global Warming c. Smoking d. Drugs e. D

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