bits wase computergraphics session 6

104
Session 6 Viewing & Clipping in 2D/3D Chap 5.4, Chap 3.11-3.12, Chap 6 Course Delivery by Dr. K. Satyanarayan Reddy Text Book Computer Graphics: Principles and Practice in C, 2 nd edition Pearson education. By James D. Foley, A. Van Dam, S.K. Feiner, and J.F. Hughes

Upload: satyanarayan-reddy-k

Post on 22-Oct-2015

20 views

Category:

Documents


3 download

DESCRIPTION

Lecture Notes on Computer Graphics

TRANSCRIPT

Page 1: BITS WASE ComputerGraphics Session 6

Session 6 Viewing & Clipping in 2D/3D

Chap 5.4, Chap 3.11-3.12, Chap 6

Course Delivery by Dr. K. Satyanarayan Reddy

Text Book

Computer Graphics: Principles and Practice in C, 2nd edition Pearson education.

By James D. Foley, A. Van Dam, S.K. Feiner, and J.F. Hughes

Page 2: BITS WASE ComputerGraphics Session 6

THE WINDOW - TO - VIEWPORT TRANSFORMATION

The application programmer specifies a rectangular

region in world coordinates called the World co-ordinate Window, and at corresponding rectangular region in Screen Coordinates, called the Viewport into which the world-coordinate window is to be mapped.

The transformation that maps the World co-ordinate Window into the Viewport is applied to all of the output primitives in world coordinates, thus mapping them into screen coordinates. Following Figure shows this transformation.

November 22, 2013 2 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy

Page 3: BITS WASE ComputerGraphics Session 6

As seen in this figure, if the WINDOW and VIEWPORT do not have the same height-to-width ratio, a non-uniform scaling occurs.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 3

THE WINDOW - TO - VIEWPORT TRANSFORMATION cont’d….

Page 4: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 4

The effect of drawing output primitives with two viewports. Output primitives specifying the house were first drawn with viewport 1, the viewport was changed to viewport 2, and then the application program again called the graphics package to draw the output primitives.

THE WINDOW - TO - VIEWPORT TRANSFORMATION cont’d….

Page 5: BITS WASE ComputerGraphics Session 6

Question: Given a Window and Viewport, what is the transformation matrix that maps the window from world coordinates into the viewport in screen coordinates?

Answer: This matrix can be developed as a 3 - step Transformation composition, as suggested in following Figure

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 5

THE WINDOW - TO - VIEWPORT TRANSFORMATION cont’d….

Page 6: BITS WASE ComputerGraphics Session 6

Geometrical Transformations

The window, specified by its Lower - left and Upper-right comers, is first translated to the origin of world coordinates.

Next, the size of the window is scaled to be equal to the size of the viewport.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 6

Page 7: BITS WASE ComputerGraphics Session 6

Finally, a Translation is used to position the Viewport. The overall matrix Mwv is:

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 7

Geometrical Transformations cont’d….

Page 8: BITS WASE ComputerGraphics Session 6

CLIPPING IN A RASTER WORLD

It is essential that both Clipping and Scan Conversion be done as rapidly as possible, in order to provide the user with quick updates resulting from changes to the application model.

Clipping can be done analytically, during scan conversion, or as Part of a copyPixel with the desired clip rectangle from a canvas storing unclipped primitives to the destination canvas.

Combining Clipping and Scan Conversion, sometimes called SCISSORING, is easy to do for filled or thick primitives as part of span arithmetic.

Only the extrema need to be clipped, and no interior pixels need be examined Scissoring shows yet another advantage of span coherence.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 8

Page 9: BITS WASE ComputerGraphics Session 6

CLIPPING LINES

Lines intersecting a rectangular clip region (or any convex polygon) are always clipped to a single line segment; lines lying on the clip rectangle’s border are considered inside and hence are displayed. Figure below shows several examples of clipped lines.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 9

Rectangular Clip Region

Page 10: BITS WASE ComputerGraphics Session 6

Clipping Endpoints

lf the x coordinate boundaries of the clip rectangle are at xmin and xmax, and the y coordinate boundaries are at ymin and ymax, then four inequalities must be satisfied for a point at (x, y) to be inside the clip rectangle:

xmin ≤ x ≤ xmax and ymin ≤ y ≤ ymax

lf any of the four inequalities does not hold, the point is outside the clip rectangle.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 10

Page 11: BITS WASE ComputerGraphics Session 6

Clipping Lines by Solving Simultaneous Equations To clip a line, only its endpoints need to be considered, not its infinitely many

interior points.

lf both endpoints of a line lie inside the clip rectangle (e.g. AB in Fig. below), the entire line lies inside the clip rectangle and can be trivially accepted.

If one endpoint lies inside and one outside (eg., CD in the figure), the line intersects the clip rectangle then the intersection point must be computed.

lf both endpoints are outside the clip rectangle, the line may (or may not) intersect with the clip rectangle (EF, GH, and IJ in the figure), then further calculations need to be performed to determine whether there are any intersections, and if there are, where they occur.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 11

Page 12: BITS WASE ComputerGraphics Session 6

The brute-force approach to clipping a line that cannot be trivially accepted is to intersect that Line with each of the four clip-rectangle edges to see whether any intersection points lie on those edges; if so, the line cuts the clip rectangle and is partially inside.

For each line and clip-rectangle edge, the two mathematically infinite lines are taken which contain them and intersect them.

Next, it is tested whether this intersection point is "interior"—that is, whether it lies within both the clip rectangle edge and the line; if so, there is an intersection with the clip rectangle.

In Fig in previous slide, intersection points G' and H‘ are interior, but I' and J' are not.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 12

Clipping Lines by Solving Simultaneous Equations cont’d….

Page 13: BITS WASE ComputerGraphics Session 6

A parametric formulation for line segments is used:

x = x0 + t(x1 – x0); y = y0 + t(y0 – y1)

These equations describe (x, y) on the directed line segment from (x0, y0) to (x1, y1) for the parameter t in the range [0, 1] as simple substitution for t confirms.

Two sets simultaneous equations of this parametric form can be solved tor parameters tedge for the edge and tline for the line segment.

The values of tedge and tline can then be checked to see whether both lie in [0, 1]; if they do, the intersection point lies within both segments and is a true clip -rectangle intersection.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 13

Clipping Lines by Solving Simultaneous Equations cont’d….

Page 14: BITS WASE ComputerGraphics Session 6

The Cohen-Sutherland Line—CIipping Algorithm

The more efficient Cohen—Sutherland algorithm performs initial tests on a line to determine whether intersection calculations can be avoided.

First, endpoint pairs are checked for trivial acceptance. lf the line cannot be trivially accepted, region checks are done.

e.g. 2 simple comparisons on x, show that both endpoints of line EF in Fig. discussed in previous slides have an x coordinate less than xmin, and thus lie in the region to the left of the clip rectangle; therefore, line segment EF can be trivially rejected and needs to be neither clipped nor displayed.

Similarly, the lines can trivially be rejected with both endpoints in regions to the right of xmax, below ymin, and above ymax.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 14

Page 15: BITS WASE ComputerGraphics Session 6

To perform trivial accept and reject tests. we extend the edges of the clip rectangle to divide the plane of the clip rectangle into nine regions.

Each region is assigned a 4-bit code, determined by where the region lies with respect to the outside half planes of the clip-rectangle edges.

Each bit in the outcode is set to either 1 (true) or 0 (false); the 4- bits in the code correspond to the following conditions:

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 15

Clipping Lines by Solving Simultaneous Equations cont’d….

First bit outside halfplane of top edge, above top edge y > ymax Second bit outside halfplane of bottom edge, below bottom edge y < ymin Third bit outside halfplane of right edge. to the right of right edge x > xmax Fourth bit outside halfplane of left edge, to the left of left edge x < xmin,

Page 16: BITS WASE ComputerGraphics Session 6

Since the region lying above and to the left of the clip rectangle, lies in the outside halfplane of the top and left edges, it is assigned a code of 1001.

A particularly efficient way to calculate the outcode derives

from the observation that bit 1 is the sign bit of (ymax— y); bit 2 is that of (y — ymin); bit 3 is that of (xmax — x); and bit 4 is that of (x — xmin).

Each endpoint of the line segment is then assigned the code of the region in which it lies.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 16

Clipping Lines by Solving Simultaneous Equations cont’d….

Page 17: BITS WASE ComputerGraphics Session 6

Each endpoint of the line segment is then assigned the code of the region in which it lies.

These endpoint codes can now be used to determine whether the line segment lies completely inside the clip rectangle or in the outside halfplane of an edge.

If both 4-bit codes of the endpoints are zero, then the line lies completely inside the clip rectangle (see edge AB in the figure below).

However, if both endpoints lie in the outside halfplane of a particular edge, as for EF in Fig. below, the codes for both endpoints each have the bit set showing that the point lies in the outside halfplane of that edge. For EF, the outcodes are 0001 and 1001, respectively, showing with the fourth bit that the line segment lies in the outside halfplane of the left edge.

Therefore, if the Logical AND of the codes of the endpoints is not zero, the line can be trivially rejected.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 17

Clipping Lines by Solving Simultaneous Equations cont’d….

Page 18: BITS WASE ComputerGraphics Session 6

If a line cannot be trivially accepted or rejected, then it must be subdivided into two segments such that one or both segments can be discarded.

This subdivision is accomplished by using an edge that the line crosses to cut the line into two segments: The section lying in the outside halfplane of the edge is thrown away.

To test edges any order can be chosen, but use the same order each time in the algorithm; Use the top—to-bottom, right-to-left order of the outcode.

A key property of the outcode is that bits that are set in a nonzero outcode correspond to edges crossed: If one endpoint lies in the outside halfplane of an edge and the line segment fails the trivial-rejection tests, then the other point must lie on the inside halfplane of that edge and the line segment must cross it.

Thus, the algorithm always chooses a point that lies outside and then uses an outcode bit that is set to determine a clip edge; the edge chosen is the first in the top-to-bottom, right-to-left order that is, it is the leftmost bit that is set in the outcode.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 18

Clipping Lines by Solving Simultaneous Equations cont’d….

Page 19: BITS WASE ComputerGraphics Session 6

e.g.: Consider the line segment AD in Fig. below; Point A has outcode 0000 and point D has outcode 1001. The line can be neither trivially accepted or rejected.

Therefore, the algorithm chooses D as the outside point, whose outcode shows that the line crosses the top edge and the left edge.

By the testing order, first the top edge is used to clip AD to AB and B’s outcode is computed as 0000.

In the next iteration, trivial Acceptance/rejection test is applied the to AB, and it is trivially accepted and displayed.

Line EI requires multiple iterations. The first endpoint, E, has an outcode of 0100, so the algorithm chooses it as the outside point and tests the outcode to find that the first edge against which the line is cut is the bottom edge, where EI is clipped to FI.

In the second iteration, Fl cannot be trivially accepted or rejected. The outcode of the first endpoint, F is 0000, so the algorithm chooses the outside point I that has outcode 1010. The first edge clipped against is therefore the top edge, yielding FH. H’s outcode is determined to be 0010, so the third iteration results in a clip against the right edge to FG. This is trivially accepted in the fourth and final iteration and displayed.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 19

Clipping Lines by Solving Simultaneous Equations cont’d….

Note: Any line which has 1 in the same bit positions of both the end points, it is guaranteed to lie outside the box completely (e.g. L2and L3), Reject it. Test is performed by bit-wise AND operation. If the results in not [0000], reject the line.

Page 20: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 20

Clipping Lines by Solving Simultaneous Equations cont’d….

Page 21: BITS WASE ComputerGraphics Session 6

A Parametric Line Clipping Algorithm :The Cyrus—Beck Technique

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 21

Page 22: BITS WASE ComputerGraphics Session 6

The Cyrus-Beck Technique cont’d…. The Cyrus-Beck technique can be used to clip a 2D line against a rectangle or an

arbitrary convex polygon in the plane, or a 3D line against an arbitrary convex polyhedron in 3D space.

The Cyrus-Beck algorithm is based on the following formulation of the intersection between two lines. Following Figure shows in single edge Ei of the clip rectangle and that edge's outward normal Ni (i.e. . outward to the clip rectangle} as well as the line segment from P0 to P1 that must be clipped to the edge. Either the edge or the line segment may have to be extended to find the intersection point .

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 22

Page 23: BITS WASE ComputerGraphics Session 6

As before, this line is represented parametrically as

P(t) = P0 + (P1 — P0)t

where t = 0 at P0 and t = 1 at P1. Now, pick an arbitrary point PEi on edge Ei and consider the three vectors P(t) - PEi from PEi to three designated points on the line from P0 to P1: the intersection point to be determined, an endpoint of the line on the inside halfplane of the edge, and an endpoint on the line in the outside halfplane of the edge.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 23

The Cyrus-Beck Technique cont’d….

Page 24: BITS WASE ComputerGraphics Session 6

Now the value of t can be solved at the intersection of P0P1 with the edge:

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 24

The Cyrus-Beck Technique cont’d….

Page 25: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 25

The Cyrus-Beck Technique cont’d….

Page 26: BITS WASE ComputerGraphics Session 6

Clipping Against a Rectangular Region Multiple Cases

A

B

C

D

E

F

Clip Rectangle

G

H

Page 27: BITS WASE ComputerGraphics Session 6

Division of Space

ymin

ymax

xmin

xmax

Clip Region

Page 28: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: “Outcodes”

1 1 0 0

minyy

y ymax

minxx

x xmax

min

min

1

max

max

0

0

1

0

1

:Example

yy

yyb

yy

yyb

0b 1b 2b 3b

Page 29: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: Region Outcodes

ymin

ymax

xmin

xmax

1001 1000 1010

0001

0101 0100 0110

0010 0000

Page 30: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: Trivial Acceptance: O(P0) = O(P1) = 0

ymin

ymax

xmin

xmax

1001 1000 1010

0001

0101 0100 0110

0010 0000

P0

P1

Page 31: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: Trivial Rejection: O(P0) & O(P1)

0

ymin

ymax

xmin

xmax

1001 1000 1010

0001

0101 0100 0110

0010 0000

P0

P1

P1 P1

P0

P0

Page 32: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: O(P0) =0 , O(P1) 0

ymin

ymax

xmin

xmax

1001 1000 1010

0001

0101 0100 0110

0010 0000

P0

P1

P1

P1 P0

P0

Page 33: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: The Algorithm

Compute the outcodes for the two vertices Test for Trivial Acceptance or Rejection.

Select a vertex for which outcode is not zero. There will always be one

Select the first nonzero bit in the outcode to define the boundary against which the line segment will be clipped

Compute the intersection and replace the vertex with the intersection point

Compute the outcode for the new point and iterate

Page 34: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: Example 1

ymin

ymax

xmin

xmax

1001 1000 1010

0001

0101 0100 0110

0010 0000

A

B

C

Page 35: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: Example 1

ymin

ymax

xmin

xmax

1001 1000 1010

0001

0101 0100 0110

0010 0000

B

C

Page 36: BITS WASE ComputerGraphics Session 6

Chopping at each boundary

Page 37: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: Example 2

ymin

ymax

xmin

xmax

1001 1000 1010

0001

0101 0100 0110

0010 0000

B

C

A

D

E

Page 38: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: Example 2

ymin

ymax

xmin

xmax

1001 1000 1010

0001

0101 0100 0110

0010 0000

B

C

D

E

Page 39: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: Example 2

ymin

ymax

xmin

xmax

1001 1000 1010

0001

0101 0100 0110

0010 0000

B

C

D

Page 40: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: Example 2

ymin

ymax

xmin

xmax

1001 1000 1010

0001

0101 0100 0110

0010 0000

B

C

Page 41: BITS WASE ComputerGraphics Session 6

Cohen-Sutherland Clipping: Advantages/Extension

Easily extended to 3 dimensions by adding two bits

to the outcode for the z axis.

Calculations then reduce to intersection of line with

plane

Algorithm most efficient when most segments can

either be trivially accepted or trivially rejected

Page 42: BITS WASE ComputerGraphics Session 6

Other Clipping Algorithm Cyrus–Beck, Liang–Barsky

generally, these try to be more clever about intersections

represent lines parametrically, solve for intersection t values

P(t) = P0 + t(P1-P0)

can clip in fewer steps than Cohen–Sutherland

try to increase number of trivial rejection cases

Page 43: BITS WASE ComputerGraphics Session 6

Parametric Representation of Lines

)0(0 pp

)1(1 pp

)(p

10)1()( ppp

Page 44: BITS WASE ComputerGraphics Session 6

Liang-Barsky Clipping Consider the parametric form of a line segment

We can distinguish between the cases by looking at the ordering of the values of where the line determined by the line segment crosses the lines that determine the window

p( ) = (1- )p1+ p2 1 0

p1

p2

Page 45: BITS WASE ComputerGraphics Session 6

Liang-Barsky Parametric Clipping

)()( 010 pppp

0)(iEi ppN

0)(iEi ppN

Edge Ei

0p

1p

iEp

Ni

Inside Outside

0)(iEi ppN

Page 46: BITS WASE ComputerGraphics Session 6

Potentially Entering (PE) and Potentially Leaving (PL) Points

001 ppNi

Edge Ei

0p

1p

Ni

Inside Outside

Edge Ei

Ni

Inside Outside

001 ppNi

Potentially Entering (PE) Point

Potentially Leaving (PL) Point

0p

1p

Page 47: BITS WASE ComputerGraphics Session 6

Liang-Barsky Clipping: Computing the Intersection

0)(iEi ppN

)()( 010 pppp

0010 ppNppN iEi i

:for solve and )(Let 01 ppD

DN

ppN

i

Ei i0=

Page 48: BITS WASE ComputerGraphics Session 6

Liang-Barsky Clipping: Potentially Leaving vs. Potentially Entering

ymin

ymax

xmin

xmax

= “Inside”

0p

1pPE

PE

PE

PE

PL

PL

PL

PL

0p

0p

1p

1p

Page 49: BITS WASE ComputerGraphics Session 6

Liang-Barsky Clipping: Algorithm Strategy

Find the largest PE greater than zero. Find the smallest PL less than one. Reject the segment if PE > PL.

Page 50: BITS WASE ComputerGraphics Session 6

Liang-Barsky Clipping: Pseudocode of Algorithm

for (each line segment to be clipped)

alpha_E=0; alpha_L=1;

for (each candidate intersection with a clip edge) {

if (Ni•D!=0) { /*edges not parallel to line*/

calculate alpha;

use sign of Ni•D to class alpha as PE

or PL;

if (PE) alpha_E = max(alpha_E,alpha);

if (PL) alpha_L = min(alpha_L,alpha);

}

}

if (alpha_E > alpha_L)

return NULL;

else

return P(alpha_E) and P(alpha_L) as clip

intersections

Page 51: BITS WASE ComputerGraphics Session 6

Viewing in 3D

The 3D viewing process is inherently more complex than is the 2D viewing process. The extra complexity of 3D viewing is caused in part by the added dimension and in part by the fact that display devices are only 2D.

The solution to the mismatch between 3D objects and 2D displays is accomplished by introducing projections, which transform 3D objects onto 2D projection plane.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 51

Page 52: BITS WASE ComputerGraphics Session 6

In 3D viewing, a view volume is specified in the world, a projection onto a projection plane, and a viewport on the view surface.

Conceptually, objects in the 3D world are clipped against the 3D view volume and are then projected.

The contents of the projection of the view volume onto the projection plane, called the WINDOW, are then transformed (mapped) into the VIEWPORT for display. Figure 6.1 shows this conceptual model of the 3D viewing process, which is the model presented to the users of numerous 3D graphics subroutine packages.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 52

Viewing in 3D cont’d.....

Page 53: BITS WASE ComputerGraphics Session 6

PROJECTIONS In general, projections transform points in a coordinate system of dimension n into

points in a coordinate system of dimension less than n.

The projection of a 3D object is defined by straight Projection Rays (called PROJECTORS) emanating from a center of projection, passing through each point of the object, and intersecting a projection plane to form the projection.

Figure below shows two different projections of the same line. Fortunately, the projection of a line is itself a line, so only line endpoints need actually to be projected.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 53

Page 54: BITS WASE ComputerGraphics Session 6

Planar geometric projections, hereafter referred to simply as projections, can be divided into two basic classes: PERSPECTIVE and PARALLEL.

The distinction is in the relation of the Center of Projection (CoP)to the Projection Plane.

If the distance from the CoP to the Projection Plane is Finite, then the projection is PERSPECTIVE;

if the Distance is Infinite, the projection is PARALLEL.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 54

PROJECTIONS cont’d….

Page 55: BITS WASE ComputerGraphics Session 6

The parallel projection is so named because, with the center of projection infinitely distant, the projectors are parallel.

When defining a Perspective Projection, its Center of Projection is explicitly specified; direction of projection is given for a parallel projection.

The Center of Projection, being a point, it has homogeneous coordinates of the form (x, y, z, 1).

Since the direction of projection is a vector (i.e. a difference between points). it can be computed by subtracting two points

d = (x. y, z, 1) - (x' , y', z', 1) = (a, b, c, 0).

A perspective projection whose center is a point at infinity becomes a parallel projection.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 55

PROJECTIONS cont’d….

Page 56: BITS WASE ComputerGraphics Session 6

Perspective Projections The perspective projections of any set of parallel lines that are

not parallel to the projection plane converge to a Vanishing Point.

ln 3D, the parallel lines meet only at infinity, so the vanishing point can be thought of as the projection of a point at infinity.

If the set of lines is parallel to one of the three principal axes, the vanishing point is called an axis vanishing point.

There are at most three such points, corresponding to the number of principal axes cut by the projection plane.

e.g. If the projection plane cuts only the z axis (and is therefore normal to it), only the z axis has a principal vanishing point, because lines parallel to either the y or x axes are also parallel to the projection plane and have no vanishing point.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 56

Page 57: BITS WASE ComputerGraphics Session 6

Perspective projections are categorized by their number of principal vanishing points and therefore by the number of axes the projection plane cuts. Figure below shows two different One—point perspective projections of a cube.

It is clear that they are one-point projections because lines parallel to the x and y axes do not converge; only lines parallel to the z axis do so.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 57

Perspective Projections cont’d….

Page 58: BITS WASE ComputerGraphics Session 6

The Figure on left shows the construction of a one-point perspective with some of

the projectors and with the projection plane cutting only the z axis.

Figure on right shows the construction of a two-point perspective. Notice that lines parallel to the y axis do not converge in the projection.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 58

Perspective Projections cont’d….

Page 59: BITS WASE ComputerGraphics Session 6

Parallel Projections Parallel projections are categorized into two types, depending on the relation between the

direction of projection and the normal to the projection plane.

In Orthographic Parallel Projections, these directions are the same (or the reverse of each other), so the direction of projection is normal to the projection plane.

For the Oblique Parallel Projection, they are not.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 59

The most common types of orthographic projections are the Front Elevation, Top-Elevation (also called Plan-Elevation), and Side Elevation projections. In all these, the projection plane is perpendicular to a principal axis, which is therefore the direction of projection. Figure on right shows the construction of these three projections.

Page 60: BITS WASE ComputerGraphics Session 6

Axonometric Orthographic Projections use projection planes that are not normal to a principal axis and therefore SHOW SEVERAL FACES OF AN OBJECT AT ONCE.

Parallelism of lines is preserved but angles are not, while distances can be measured along each principal axis (generally with different scale factors).

The Isometric Projection is a commonly used Axonometric Projection. The projection-plane normal (and therefore the direction of projection) makes equal angles with each principal axis.

If the projection-plane normal is (dx, dy, dz), then it is required that |dx | = | dy | = | dz | or ± dx = ± dy = ± dz.

There are just eight directions (one in each octant) that satisfy this condition.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 60

Parallel Projections cont’d….

Page 61: BITS WASE ComputerGraphics Session 6

Figure on left shows the construction of an isometric projection along one such direction. (1, -1, -1).

The Isometric Projection has the useful property that all three principal axes are equally foreshortened, allowing measurements along the axes to be made to the same scale (hence the name: ISO for equal, metric for measure).

In addition, the principal axes project so as to make equal angles one with another, as shown in Figure on right.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 61

Parallel Projections cont’d….

Page 62: BITS WASE ComputerGraphics Session 6

The second class of parallel projections called as Oblique Projections, differ from Orthographic Projections in which the projection-plane normal and the direction of projection differ.

Oblique Projections combine properties of the Front, Top, and Side orthographic projections with those of the axonometric projection: the projection plane is normal to a principal axis, so the projection of the face of the object parallel to this plane allows measurement of angles and distances.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 62

Parallel Projections cont’d….

Other faces of the object project also, allowing distances along principal axes but not angles, to be measured.

Page 63: BITS WASE ComputerGraphics Session 6

Figure on left shows the construction of an oblique projection, Notice that the projection-plane normal and the direction of projection are not the same.

Two frequently used oblique projections are the Cavalier and the Cabinet.

For the cavalier projection, the direction of projection makes a 45° angle with the projection plane.

The projection of a line perpendicular to the projection plane has the same length as the line itself; that is, there is no foreshortening. Figure on right shows several cavalier projections of the unit cube onto the (x, y) plane; the receding lines are the projections of the cube edges that are perpendicular to the (x, y) plane, and they form an angle α to the horizontal. This angle is typically 30° or 45°.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 63

Parallel Projections cont’d….

Page 64: BITS WASE ComputerGraphics Session 6

Subclasses of Planar Geometric Projections

The subclasses of planar geometric projections.

Plan-View is another term for a Top View, Front and Side are often used without the term elevation.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 64

Page 65: BITS WASE ComputerGraphics Session 6

SPECIFYING AN ARBITRARY 3D VIEW

The Projection Plane, henceforth called the View Plane is defined by a point on the plane called the View Reference Point (VRF) and the normal to the plane called the View Plane Normal (VPN).

The view plane may be anywhere with respect to the world objects to be projected, it may be in front of, cut through, or be behind the objects.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 65

VRF VPN

Page 66: BITS WASE ComputerGraphics Session 6

Given the View Plane, a window on the view plane is needed. The windows role is similar to that of a 2D window; its contents are mapped into the viewport, and any part of the 3D world that projects onto the view plane outside of the window is NOT displayed.

To define a window on the view plane, some means of specifying minimum and maximum window coordinates is needed along two orthogonal axes.

These axes are part of the 3D Viewing Reference Coordinate (VRC) system. The origin of the VRC system is the VRP.

One axis of the VRC is VPN; this axis is called the n axis. A second axis of the VRC is found from the View Up Vector (VUP), which determines the v-axis direction on the view plane.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 66

SPECIFYING AN ARBITRARY 3D VIEW cont’d….

Page 67: BITS WASE ComputerGraphics Session 6

The v axis is defined such that the projection of VUP parallel to VPN onto the view plane is coincident with the v axis.

The u-axis direction is defined such that u, v, and n form a right-handed coordinate system, as shown in Fig. on left. The VRP and the two direction vectors VPN and VUP are specified in the right-handed world-coordinate system.

With the VRC system defined, the window‘s minimum and maximum u and v values can be defined, as shown in Fig. on right. This figure illustrates the window need not be symmetrical about the view reference point, and explicitly shows the center of the window CW.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 67

The view reference-coordinate system (VRC) is a right-handed system made up of the u, v, and n axes. The n axis is always the VPN. CW is the center of the window.

The semi-infinite pyramid view volume for perspective projection. CW is the center of the window.

SPECIFYING AN ARBITRARY 3D VIEW cont’d….

Page 68: BITS WASE ComputerGraphics Session 6

The Center of Projection and Direction of Projection (DOP) are defined by a Projection Reference Point (PRP) plus an indicator of the projection type.

If the projection type is perspective, then PRP is the center of projection. If the projection type is parallel, then the DOP is from the PRP to CW.

The CW is in general not the VRP, which need not even be within the window bounds.

The PRP is specified in the VRC system, not in the world coordinate system; thus the position of the PRP relative to the VRP does not change as VUP or VRP are moved.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 68

SPECIFYING AN ARBITRARY 3D VIEW cont’d….

Page 69: BITS WASE ComputerGraphics Session 6

For parallel projections, the view volume is an infinite parallelepiped with sides parallel to the direction of projection, which is the direction from the PRP to the center of the window.

Figures on left and right show parallel-projection view volumes and their relation to the view plane, window, and PRP.

For orthographic parallel projections but not for oblique parallel projections, the sides of the view volume are normal to the view plane.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 69

Infinite parallelepiped view volume of parallel orthographic projection. The VPN and direction of projection {DOP) are parallel. DOP is the vector from PRP t0 CW and is parallel to the VPN.

Infinite parallelepiped view volume of oblique orthographic projection. The direction of projection {DOP) is not parallel to the VPN.

SPECIFYING AN ARBITRARY 3D VIEW cont’d….

Page 70: BITS WASE ComputerGraphics Session 6

Figures 1, 2, and 3 show how the view volume is made finite with a Front Clipping Plane and Back Clipping Plane. These plane, sometimes called the Hither and Yon planes, are parallel to the view plane; their normal is the VPN.

The planes are specified by the signed quantities from distance (F) and back distance (B) relative to the view reference point and along the VPN, with positive distances in the direction of the VPN. For the view volume to be positive, the front distance must be algebraically greater than the back distance.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 70

SPECIFYING AN ARBITRARY 3D VIEW cont’d….

1

2

3

Perspective Projection

Page 71: BITS WASE ComputerGraphics Session 6

EXAMPLES OF 3D VIEWING How the basic viewing concepts can be applied to create a variety of

projections, such as those shown in Figs. 1 and 2. Because the house shown in these figures is used throughout this section, it will be helpful to remember its dimensions and position, which are indicated in Fig. 3.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 71

Page 72: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 72

EXAMPLES OF 3D VIEWING cont’d….

Page 73: BITS WASE ComputerGraphics Session 6

Perspective Projections To obtain the front one point perspective view of the house shown in Fig. 1, the center of

projection is positioned (which can be thought of as the position of the viewer) at x = 8,

y = 6. and z = 84. The x value is selected to be at the horizontal center of the house and the y value to correspond to the approximate eye level of a viewer standing on the (x, z) plane; the z value is arbitrary.

In this case, z is removed 30 units from the front of the house ( z = 54 plane). The window has been made quite large, to guarantee that the house fits within the view volume. All other viewing parameters have their default values, so the overall set of viewing parameters is as follows:

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 73

Page 74: BITS WASE ComputerGraphics Session 6

Parallel Projections We create a front parallel projection of the house (Fig. 1) by making the direction of

projection parallel to the z axis. Recall that the direction of projection is determined by the PRP and by the center of the window. With the default VRC system and a window of (-1, 17, -1, 17), the center of the window is (8, 8, 0).

A PRP of (8, 8, 100) provides a direction of projection parallel to the z axis. Figure 2 shows the viewing situation that creates Fig. 1. The viewing parameters are as follows;

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 74

Fig. 2 Viewing situation that creates Fig1, a front view of the house. The PRP could be any point with x = 8 and y = 8.

For Fig. 1

Page 75: BITS WASE ComputerGraphics Session 6

The center of the window is at (12, 8, 0) in VRC; hence. the PRP has these same u and v coordinates.

A top view of the house is created by using the (x, z) plane as the view plane and VPN as the y axis. The default view-up direction of +y must be changed; the negative x axis is used. With VRP again specified as a corner of the house, the viewing situation is given in Fig. 6.40, defined by the following viewing parameters:

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 75

Parallel Projections cont’d….

Page 76: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 76

Parallel Projections cont’d….

Page 77: BITS WASE ComputerGraphics Session 6

Finite View Volumes The front and back clipping planes, both of which are parallel to the view plane are

at distances F and B respectively from the view reference point, measured from VRP along VPN.

To avoid a negative view volume. it must be ensured that F is algebraically greater than B.

A Front Perspective View of the house with the rear wall clipped away results from the following viewing specification, in which F and B have been added. If a distance is given. then clipping against the corresponding plane is assumed; otherwise, it is not. The viewing specification is as follows;

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 77

Page 78: BITS WASE ComputerGraphics Session 6

THE MATHEMATICS OF PLANAR GEOMETRIC PROJECTIONS

Assuming that in the perspective projection, the projection plane is normal to the z axis at z = d and that, in the parallel projection, the projection plane is the z = 0 plane.

Each of the projections can be defined by a 4 X 4 matrix. The projections, beginning with a projection plane at a distance d from the origin and a point P to be projected onto it.

To calculate Pp = (xp, yp, zp), the perspective projection of

(x, y, z) onto the projection plane at z = d, we use the

similar triangles in Fig. on right side to write the ratios

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 78

The Transformation of equation (6.2) can be expressed as a 4 x 4 matrix:

Page 79: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 79

THE MATHEMATICS OF PLANAR GEOMETRIC PROJECTIONS cont’d….

These equations are the correct results of Eq. (6.1), plus the transformed z coordinate of d, which is the position of the projection plane along the 2 axis.

Page 80: BITS WASE ComputerGraphics Session 6

IMPLEMENTING PLANAR GEOMETRIC PROJECTIONS

Given a view volume and a projection, then how the viewing operation of clipping and projecting is actually applied.

As suggested by the conceptual model for viewing; the lines could be clipped against the View Volume by calculating their intersections with each of the six planes that define the view volume.

Lines remaining after clipping would be projected onto the View Plane, by solution of simultaneous equations tor the intersection of the projectors with the view plane.

The coordinates would then be transformed from 3D world coordinates to 2D device coordinates.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 80

Page 81: BITS WASE ComputerGraphics Session 6

it is simple to calculate the intersections of a line with each of the planes of a parallel projection view volume defined by the six planes

x = -1, x = 1, y = -1, y = 1, z = 0, z = -1. (6.22)

This is also true of the perspective projection view volume defined by the planes

x = z, x= -z, y = z, y = -z, z = -zmin, z = -1 (6.23)

These canonical view volumes are shown in Fig. below

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 81

IMPLEMENTING PLANAR GEOMETRIC PROJECTIONS cont’d….

Page 82: BITS WASE ComputerGraphics Session 6

The Canonical View Volumes are defined to simplify the clipping equations and to provide the consistency between Parallel and Perspective projections.

On the other hand, the PHIGS default View Volumes are defined to make 2D viewing be a special case of 3D viewing.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 82

IMPLEMENTING PLANAR GEOMETRIC PROJECTIONS cont’d….

Page 83: BITS WASE ComputerGraphics Session 6

Parallel Projection

Deriving the normalizing transformation Npar for parallel projections in order to transform WORLD-COORDINATE positions such that the view volume is transformed into the Canonical View Volume defined by (6.22).

x = -1, x = 1, y = -1, y = 1, z = 0, z = -1. (6.22)

The transformed coordinates are clipped against this canonical view volume, and the clipped results are projected onto the z = 0 plane, then are transformed into the viewport for display.

Transformation Npar is derived tor the most general case, the oblique (rather than Orthographic) parallel projection.

Npar includes a Shear Transformation that causes the direction of projection in viewing coordinates to be parallel to z, even though in (u, v, n) coordinates,it is not parallel to VPN.

By including the shear, the projection can taken onto the z = 0 plane simply by setting z= 0.

If the parallel projection is orthographic, the shear component of the normalization transformation becomes the identity.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 83

Page 84: BITS WASE ComputerGraphics Session 6

The series of transformations that make up Npar is as follows:

1. Translate the VRP to the origin

2. Rotate VRC such that the n axis (VPN) becomes the z axis. the u axis becomes the x axis and the v axis becomes the y axis.

3. Shear such that the direction of projection becomes parallel to the z axis

4. Translate and Scale into the parallel-projection canonical view volume of Eq. (6.22).

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 84

Parallel Projection cont’d….

Page 85: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 85

Parallel Projection cont’d….

Figure 6.47 shows this sequence of transformations as applied to a parallel projection view volume and to an outline of a house;

Page 86: BITS WASE ComputerGraphics Session 6

Fig. 6.48 shows the parallel projection that results.

Step 1 is just the translation T(-VRP).

For step 2, we use the properties of orthonormal matrices and illustrated in the derivation of Eqs. (5.66) and (5.67).

The row vectors of the rotation matrix to perform step 2 are the unit

vectors that are rotated by R into the x. y, and z axes.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 86

Parallel Projection cont’d….

Page 87: BITS WASE ComputerGraphics Session 6

VPN is rotated into the z axis, so

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 87

Parallel Projection cont’d….

Page 88: BITS WASE ComputerGraphics Session 6

The 3rd step is to Shear the View Volume along the z axis such that all of its planes are normal to one of the coordinate system axes.

It is determining by the shear to be applied to the Direction of Projection (DOP) to make DOP coincident with the z axis.

As it is known that DOP is the vector from PRP to the center of the window (CW), and that PRP is specified in the VRC system.

The first two transformation steps have brought VRC into correspondence with the world-coordinate system, so the PRP is now itself in world coordinates. Hence, DOP is CW - PRP. Given

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 88

Parallel Projection cont’d….

Page 89: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 89

Parallel Projection cont’d….

Page 90: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 90

Parallel Projection cont’d….

Page 91: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 91

Parallel Projection cont’d….

Page 92: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 92

Parallel Projection cont’d….

Page 93: BITS WASE ComputerGraphics Session 6

To develop the normalizing transformation NPER, for perspective projections.

NPER transforms world coordinate positions such that the view volume becomes the perspective- projection canonical view volume, the truncated pyramid with apex at the origin defined by Eq. (6.23).

After NPER is applied, clipping is done against this canonical volume and the results are projected onto the view plane using MPER

The series of transformations making up NPER, is as follows:

1. Translate VRP to the origin

2. Rotate VRC such that the n axis (VPN) becomes the z axis, the u axis becomes the x axis, and the v axis becomes the y axis

3. Translate such that the Center of Projection (COP), given by the PRP, is at the origin

4. Shear such that the center line of the view volume becomes the z axis

5. Scale such that the view volume becomes the canonical perspective view volume, the truncated right pyramid defined by the six planes of (6.23).

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 93

Perspective Projection

Page 94: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 94

Perspective Projection cont’d….

Page 95: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 95

Perspective Projection cont’d….

Page 96: BITS WASE ComputerGraphics Session 6

Perspective Projection cont’d….

Steps 1 and 2 are the same as those for the parallel projection:

R . T(—VRP).

Step 3 is a translation of the center of projection (COP) to the origin, as required for the canonical perspective view volume.

COP is specified relative to VRP in VRC by the PRP = (prpu, prpv, prpn).

Viewing-reference coordinates have been transformed into world coordinates by steps 1 and 2, so the specification for COP in VRC is now also in world coordinates. Hence, the translation for step 3 is just T(—PRP).

To compute the shear for step 4, examine Fig. 6.53, which shows a side view of the view volume after transformation steps 1 to 3.

The purpose of the shear is to transform the center line into the - z axis. The center line of the view volume goes from PRP (which is now at the origin) to CW, the center of the window.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 96

Page 97: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 97

Perspective Projection cont’d….

Page 98: BITS WASE ComputerGraphics Session 6

The final step is a scaling along all three axes to create the Canonical View Volume defined by Eq. (6.231, and shown in Fig. 6.54).

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 98

Perspective Projection cont’d….

Page 99: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 99

Perspective Projection cont’d….

Page 100: BITS WASE ComputerGraphics Session 6

Clipping Against a Canonical View Volume in 3D

The canonical view volumes are the unit cube for parallel projections and the truncated right regular pyramid for perspective projections.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 100

Page 101: BITS WASE ComputerGraphics Session 6

To calculate the intersection of a line with the y = 1 plane of the view volume, replacing the variable y of Eq. (6.43) with 1 and solve for r to find

t = (1 - y0)/(y1 - y0).

lf t is outside the 0 to 1 interval, the intersection is on the infinite line through points P0 and P1 but is not on the portion of the line between P0 and P1 and hence is not of interest.

lf t is in (0, 1), then its value is substituted into the equations for x and z to find the intersection`s coordinates:

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 101

Clipping Against a Canonical View Volume in 3D cont’d….

Page 102: BITS WASE ComputerGraphics Session 6

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 102

Clipping Against a Canonical View Volume in 3D cont’d….

Page 103: BITS WASE ComputerGraphics Session 6

The Liang-Barsky 2D clipping Algorithm extended to the 3D canonical perspective-projection view volume.

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 103

Page 104: BITS WASE ComputerGraphics Session 6

THANK YOU

November 22, 2013 BITS WASE Computer Graphics: Course Delivered by Dr. K. Satyanarayan Reddy 104