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

Flat panel displays - hardware primitives, Flat Panel Displays - Hardware P...

Flat Panel Displays - Hardware Primitives 1.  Flat panel displays have now become more common. These include liquid crystal displays (LCD) and thin film electroluminescent disp

Explain the advantage and disadvantage of raster crt, Explain the advantage...

Explain the advantage and disadvantage of Raster CRT Advantages Allows solids, not just wireframes Leverages low-cost CRT technology (i.e., TVs) Bright, i.e.

Difference, difference between vecgen algoritham and bresenham''s algori

difference between vecgen algoritham and bresenham''s algori

Different types of simulating motion - computer animation, Different types ...

Different types of Simulating Motion - Computer Animation Here we discuss different ways of simulating motion as: a. Zero Acceleration or Constant Speed b. No

What is graphics, What is Graphics It is a term that refers to any com...

What is Graphics It is a term that refers to any computer device or program which makes a computer able of displaying and manipulating pictures. The name also refers to the im

Objectives of viewing ttransformation, Objectives of Viewing transformation...

Objectives of Viewing transformation After going through this section, you should be capable to: - Explain the projection; - Classify different types of Perspective and

What is the feature of inkjet printers, What is the feature of Inkjet print...

What is the feature of Inkjet printers? Features of inkjet printers: They can print 2 to 4 pages/minutes. Resolution is about 360d.p.i. Thus better print quality is achie

Define resolution, What is Resolution, how to adjust it.  Resolution: T...

What is Resolution, how to adjust it.  Resolution: The maximum number of points that can be displayed without overlap on a CRT is referred to as the resolution . A more prec

What are the disadvantages of CAD, Disadvantages of CAD - Risk of deski...

Disadvantages of CAD - Risk of deskilling - High training costs to use packages - Can move work overseas     One CAD operator can do work of 5 manual draftsmen

Why are the bitmap images unsuitable, Question: (a) (i) Give four re...

Question: (a) (i) Give four reasons to explain why are the bitmap images unsuitable for use in a high end print production workflow. (ii) An eps file has two main parts,

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