MET71 COMPUTER AIDED DESIGN

Similar documents
Part 3: 2D Transformation

Institutionen för systemteknik

UNIT 2 2D TRANSFORMATIONS

Chapter - 2: Geometry and Line Generations

Output Primitives Lecture: 3. Lecture 3. Output Primitives. Assuming we have a raster display, a picture is completely specified by:

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.

Chapter 5. Projections and Rendering

(a) rotating 45 0 about the origin and then translating in the direction of vector I by 4 units and (b) translating and then rotation.

Viewing with Computers (OpenGL)

From Vertices to Fragments: Rasterization. Reading Assignment: Chapter 7. Special memory where pixel colors are stored.

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM

End-Term Examination

Chapter 3. Sukhwinder Singh

CS 4204 Computer Graphics

Chapter 8: Implementation- Clipping and Rasterization

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Computer Graphics

CSE528 Computer Graphics: Theory, Algorithms, and Applications

QUESTION BANK 10CS65 : COMPUTER GRAPHICS AND VISUALIZATION

CSE328 Fundamentals of Computer Graphics

3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination

So we have been talking about 3D viewing, the transformations pertaining to 3D viewing. Today we will continue on it. (Refer Slide Time: 1:15)

Figure 1. Lecture 1: Three Dimensional graphics: Projections and Transformations

Tópicos de Computação Gráfica Topics in Computer Graphics 10509: Doutoramento em Engenharia Informática. Chap. 2 Rasterization.

COMP30019 Graphics and Interaction Scan Converting Polygons and Lines


(Refer Slide Time: 00:02:00)

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

CS 130 Final. Fall 2015

Advantages: Disadvantages: Q.1 Explain raster scan display with its advantages and disadvantages?

UNIT 2 GRAPHIC PRIMITIVES

CMSC427: Computer Graphics Lecture Notes Last update: November 21, 2014

Graphics for VEs. Ruth Aylett

Overview of Computer Graphics

4.5 VISIBLE SURFACE DETECTION METHODES

(Refer Slide Time: 00:03:51)

SAZ4C COMPUTER GRAPHICS. Unit : 1-5. SAZ4C Computer Graphics

Introduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)

(Refer Slide Time: 00:01:26)

SRM INSTITUTE OF SCIENCE AND TECHNOLOGY

Aptitude Test Question

Viewing. Reading: Angel Ch.5

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

EXAMINATIONS 2017 TRIMESTER 2

CSCI 4620/8626. Coordinate Reference Frames

Points and lines, Line drawing algorithms. Circle generating algorithms, Midpoint circle Parallel version of these algorithms

Graphics (Output) Primitives. Chapters 3 & 4

Efficient Plotting Algorithm

Course Title: Computer Graphics Course no: CSC209

Graphics for VEs. Ruth Aylett

(Refer Slide Time: 00:04:20)

From 3D World to 2D Screen. Hendrik Speleers

Chapter 1. Linear Equations and Straight Lines. 2 of 71. Copyright 2014, 2010, 2007 Pearson Education, Inc.

Write C++/Java program to draw line using DDA and Bresenham s algorithm. Inherit pixel class and Use function overloading.

(Refer Slide Time: 00:02:02)

Computer Graphics : Bresenham Line Drawing Algorithm, Circle Drawing & Polygon Filling

CS 184, Fall 1996 Midterm #1 Professor: unknown

Notes on Assignment. Notes on Assignment. Notes on Assignment. Notes on Assignment

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations

Game Architecture. 2/19/16: Rasterization

Introduction to Visualization and Computer Graphics

Clipping and Scan Conversion

Computer Graphics Solved MCQs -Part 2 MCQs Questions

Solution Notes. COMP 151: Terms Test

CHAPTER 1 Graphics Systems and Models 3

CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo)

CS 184, Fall 1996 Midterm #1 Professor: unknown

Computer Graphics and GPGPU Programming

OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS

The Traditional Graphics Pipeline

Lecture 4. Viewing, Projection and Viewport Transformations

(Refer Slide Time 05:03 min)

9. Visible-Surface Detection Methods

UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4620/8626 Computer Graphics Spring 2014 Homework Set 1 Suggested Answers

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Topics and things to know about them:

CS451Real-time Rendering Pipeline

CS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination

Overview. Viewing and perspectives. Planar Geometric Projections. Classical Viewing. Classical views Computer viewing Perspective normalization

The Traditional Graphics Pipeline

CPSC / Scan Conversion

Computer Graphics I Lecture 11

Output Primitives. Dr. S.M. Malaek. Assistant: M. Younesi

Computer Graphics 7: Viewing in 3-D

Lecture 5 2D Transformation

MODULE - 4. e-pg Pathshala

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14

Interactive Math Glossary Terms and Definitions

Introduction to Computer Graphics 4. Viewing in 3D

Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches:

Specifying Complex Scenes

CS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination (Total: 100 marks)

The Traditional Graphics Pipeline

Transforms. COMP 575/770 Spring 2013

Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer

Prentice Hall Mathematics: Course Correlated to: Colorado Model Content Standards and Grade Level Expectations (Grade 8)

The University of Calgary

Unit 3 Transformations and Clipping

Basic Elements. Geometry is the study of the relationships among objects in an n-dimensional space

(Refer Slide Time 03:00)

Transcription:

UNIT - II BRESENHAM S ALGORITHM BRESENHAM S LINE ALGORITHM Bresenham s algorithm enables the selection of optimum raster locations to represent a straight line. In this algorithm either pixels along X or Y directions are incremented by one unit depending upon the slope of the line. The increment in the other direction is determined by examining the error or distance between actual line location and the nearest grid locations. The principle of Bresenham s algorithm can be explained with the aid of Fig a. If the slope of the line (in the first octant) is more than 1/2, the pixel point in the Y direction is shifted by one. Thus lines L1 and L2 passes through pixel (0, 0). For line L2 slope is greater than 1/2; hence the pixel point is (1, 1) whereas for L1 the slope is less than 1/2 and hence (1, 0) is the pixel point. Bresenham s algorithm selects optimum raster locations with minimum computation. To accomplish this, the algorithm always increments by one unit in either X or Y depending upon the slope of the line. The increment in the other variable either zero or one is determined by examining the distance (error) between the actual line location and the nearest grid location. Only the sign of this error needs be examined. Consider the line of slope m = 0.4 and passing through (0, 0) in Fig (a). The error team e is initialized to 1/2. The next raster point can be determined by adding the slope (m) to the error term. i.e. e = e + m e = 0.5 + 0.4 = 0.1 Since e is negative, the line will pass below the middle of the pixel. Hence the pixel is at the same horizontal level i.e., (0, 1). For the next location X is incremented to 2. Error e = -0.1 + 0.4 = 0.3. Since e is positive the line passes above the middle of the raster line. Hence the location of pixel is (2, 1). Before examining the next pixel location the error term has to be reinitialized as its value is positive. Re-initialization is done by subtracting one from the current e value. Hence e = 0.3-1 = -0.7. Adding the slope 0.4 we get e = -0.3. Table 3.2 shows the computed values and the location of pixels. A plot of the pixel location is shown in Fig. (b). Table: Calculation of Pixel Position M.SRINIVASSAN, ASST. PROF 1 RGCET

Fig. a Location of Pixels Using Fig. b Pixels for Line of Bresenham Algorithm Slope, m = 0.4 The speed of the Bresenham s algorithm can be increased by using integer arithmetic and eliminating division to determine slope.the pseudo code and a C-program for implementing Bresenham s algorithm are given below: Pseudo code for Bresenham s line-drawing algorithm Given a line from x1, y1 to x2, y2... dx is the difference between the x components of end points dy is the difference between the y components of end points ix is the absolute value of dx iy is the absolute value of dy inc is the larger of dx, dy plotx is x1 ploty is y1 (the beginning of line) x starts at 0 y starts at 0 plot a pixel at plotx, ploty increment x using ix increment y using iy plot is false if x is greater than inc plot is true decrement x using inc increment plotx if dx is positive decrement plotx id dx is negative if y is greater than inc plot is true decrement y using inc increment ploty if dy is positive decrement ploty if dy is negative if plot is true, plot a pixel at plotx, ploty M.SRINIVASSAN, ASST. PROF 2 RGCET

increment i. Program in Turbo-C to draw a line # include <stdio. h> # include <graphics. h> # include <stdlb. h> void draw line (int x1, int y1, int x2, int y2), void main (void) { draw line (100, 100, 50, 50) ; } void draw line (int x1, int y1, int x2 m int y2) { int dx, dy, inc, ix, iy, x, y, plot, plotx, ploty, i ; int gd, gm ; gd = DETECT ; initgraph (&gd, &gm, ) ; dx = x1 x2 ; dy = y1 y2 ; ix = abs (dx) ; iy = abs (dy) ; inc = max (ix, iy) ; x = y = 0 ; plot x = x1 ; plot y = y1 ; for (i = 0 ; i <inc ; i ++) { x + = ix ; y + iy ; plot = 0 if (x > inc) { plot = 1 ; x = inc ; if (dx < 0) plot x = 1 ; else plotx + = 1 ; } if (y > inc) M.SRINIVASSAN, ASST. PROF 3 RGCET

{ plot = 1 ; y = inc ; if (dy) ploty = 1 ; else ploty + = 1 ; } if (plot) putpixel (plotx, ploty, 1) else } getch ( ) ; closegraph ( ) ; BRESENHAM S CIRCLE ALGORITHM An efficient algorithm for generating a circle has been developed by J. Bresenham. Values of a circle centered at the origin are computed in the sector X = 0 to X = R /2 where R is the radius of the circle. The symmetry of the circle is used to obtain the pixels corresponding to other sectors. Bresenham s circle algorithm can be explained as follows: Consider an origin-centred circle. The algorithm begins at X = 0 and Y = R. In the first quadrant of the circle, Y is a monotonically decreasing function of X. Referring to Fig., (Xi, Yi) is a point on the circle. For clockwise generation of the circle there are only three possible selections of the next pixel, which represents the circle. These positions are also shown in Fig. 3.4. The algorithm is designed to choose the pixel which minimizes the square of the distance between one of these pixels and the true circle, i.e., the minimum of H = [ (Xi + 1) 2 + (Yi)2 R 2] V = [ (Xi ) 2 + ( Yi 1) 2 R 2 ] D = [ ( Xi + 1) 2 + ( Yi 1 ) 2 R 2 ] Fig. First Quadrant Pixel Position M.SRINIVASSAN, ASST. PROF 4 RGCET

A flow chart to obtain the pixel values for representing a circle is given in Fig. It is sufficient to obtain the pixel values for 1/8th of a circle, the remaining obtained by symmetry. A program which implements Bresenham s algorithm follows. include <stdio.h> include <graphics.h> Void draw circle (int xc, int yc, int y) ; Void symmetry (int x, int y, int xc, int yc) ; double ratio ; Void main (void) { draw circle (300, 150, 50) ; } int d, x ; int gd, gm ; gd = DETECT ; initgraph (&gd, &gm, ) ; d = 3-2 * y ; ratio = 1.5 x = 0 ; while (x < y) { symmetry (x, y, xc, yc) ; if (d < 0) d + = 4 * x + 6 ; else { d + = 4 * (X Y) + 10 ; y - : } x++ ; if (x = = y) symmetry (x, y, xc, yc) ; } getch ( ) ; closegraph ( ) ; } void symmetry (int x, int y, int xc, int yc) { M.SRINIVASSAN, ASST. PROF 5 RGCET

} int x start, x end, x out ; int y start, y end, y out ; x start = x * ratio x end = (x + 1) * ratio ; y start = y * ratio ; y end = (y + 1) * ratio for (x out = x start ; x out < x end ; ++ x out) { put pixel (x out + xc, y + yc, 1 ) ; put pixel (x out + xc, y + yc, 1) ; put pixel (-x out + xc, y + yc, 1) ; put pixel (-x out + xc, y + yc, 1) ; (y out = y start ; y out < y end ; ++y out) { put pixel (y out + xc, x + yc, 1 ) ; put pixel (y out + xc, x + yc, 1) ; put pixel (-y out + xc, x + yc, 2) ; put pixel (-y out + xc, x + yc, 1) ; } M.SRINIVASSAN, ASST. PROF 6 RGCET

Flow Chart to Determine Pixel Values EXAMPLE OF BRESENHAM S ALGORITHM Consider a circle with centre at the origin and radius equal to 10 units. Because of symmetry only the first octant is considered here. X = 0 Y = 10 i = 2 (1 10) = 18 LIMIT = 0 PLOT (0, 10) Y1 > LIMIT CONTINUE i < 0 GOTO 2 M.SRINIVASSAN, ASST. PROF 7 RGCET

2 = 2 ( 18) + 2 (10) 1 = 17 < 0 GOTO 10 10 X = 0 + 1 = 1 i = 17 + 2 + 1 = 14 GOTO 1 1 PLOT (1, 10) Yi > LIMIT CONTINUE i < 0 = 2 ( 14) + 2 (10) 1 = 9 < 0 GOTO 10 X = 1 + 1 i = 14 + 2 (2) + 1 = 9 GOTO 1 PLOT (2, 10) The procedure is to be continued till the required point is reached. The results are given in Table and are plotted in Fig. shown below. Pixel Values for Circle Plot of First Octant of a Circle M.SRINIVASSAN, ASST. PROF 8 RGCET

TRANSFORMATION IN GRAPHICS Geometric transformations provide a means by which an image can be enlarged in size, or reduced, rotated, or moved. These changes are brought about by changing the co-ordinates of the picture to a new set of values depending upon the requirements. CO-ORDINATE SYSTEMS USED IN GRAPHICS AND WINDOWING Transformations can be carried out either in 2-dimensions or in 3-dimensions. The theory of two-dimensional transformations is discussed first in this chapter. This is then extended to three dimensions. When a design package is initiated, the display will have a set of co-ordinate values. These are called default co-ordinates. A user co-ordinate system is one in which the designer can specify his own co-ordinates for a specific design application. These screen independent coordinates can have large or small numeric range, or even negative values, so that the model can be represented in a natural way. It may, however, happen that the picture is too crowded with several features to be viewed clearly on the display screen. Therefore, the designer may want to view only a portion of the image, enclosed in a rectangular region called a window. Different parts of the drawing can thus be selected for viewing by placing the windows. Portions inside the window can be enlarged, reduced or edited depending upon the requirements. Figure shows the use of windowing to enlarge the picture. VIEW PORT It may be sometimes desirable to display different portions or views of the drawing in different regions of the screen. A portion of the screen where the contents of the window are displayed is called a view port. Let the screen size be X = 0 to 200 and Y = 0 to 130. A view port can be defined by the co-ordinates say X1 = 65, X2 = 130, Y1 = 50 and Y2 = 100. If we use the same window as in Fig., the definition of this view port will display the image in the right hand top quarter of the screen (Fig.) choosing different view ports multiple views can be placed on the screen. Fig. shows four views of a component displayed using view port commands. M.SRINIVASSAN, ASST. PROF 9 RGCET

CLIPPING Clipping is the process of determining the visible portions of a drawing lying within a window. In clipping each graphic element of the display is examined to determine whether or not it is completely inside the window, completely outside the window or crosses a window boundary. Portions outside the boundary are not drawn. If the element of a drawing crosses the boundary the point of inter-section is determined and only portions which lie inside are drawn. Readers are advised to refer to books on computer graphics for typical clipping algorithms like Cohen- Sutherland clipping algorithm. Fig. Shows an example of clipping. HIDDEN SURFACE REMOVAL One of the difficult problems in computer graphics is the removal of hidden surfaces from the images of solid objects. In Fig. (a) An opaque cube is shown in wire frame representation. Edges 15, 48, 37, 14, 12, 23, 58 and 87 are visible whereas edges 56, 67 and 26 are not visible. Correspondingly, surfaces 1265, 2673 and 5678 are not visible since the object is opaque. The actual representation of the cube must be as shown in Fig. (b). M.SRINIVASSAN, ASST. PROF 10 RGCET

There are a number of algorithms available for removal of hidden lines and hidden surfaces. Table gives a list of algorithms for hidden line removal and hidden surface removal. Table Algorithms for Hidden Line and Hidden Surface There are two popular approaches to hidden surface removal. These are scan line based systems and Z-buffer based systems. Other important approaches are area subdivision and depth list schemes. 2-D & 3-D TRANSFORMATION 2-D TRANSFORMATIONS In computer graphics, drawings are created by a series of primitives which are represented by the co-ordinates of their end points. Certain changes in these drawings can be made by performing some mathematical operations on these co-ordinates. The basic transformations are scaling, translation and rotation. ROTATION Another useful transformation is the rotation of a drawing about a pivot point. Consider Fig. Point P1 (40, 20) can be seen being rotated about the origin through an angle, =45, in the anti-clockwise direction to position P2. The co-ordinates of P2 can be obtained by multiplying the co-ordinates of P1 by the matrix: M.SRINIVASSAN, ASST. PROF 11 RGCET

SCALING Changing the dimensions of window and view port, it is possible to alter the size of drawings. This technique is not satisfactory in all cases. A drawing can be made bigger by increasing the distance between the points of the drawing. In general, this can be done by multiplying the co-ordinates of the drawing by an enlargement or reduction factor called scaling factor and the operation is called scaling. Referring to Fig., P1 (30, 20) represents a point in the XY plane. In matrix form, P1 can be represented as:p1 = [30, 20] If we multiply this by a matrix M.SRINIVASSAN, ASST. PROF 12 RGCET

An example of scaling in the case of a triangle is shown in Fig. Fig. (a) Shows the original picture before scaling. Fig. (b) Shows the triangle after the co-ordinates are multiplied by the scaling matrix. TRANSLATION Moving drawing or model across the screen is called translation. This is accomplished by adding to the co-ordinates of each corner point the distance through which the drawing is to be moved (translated). Fig. shows a rectangle (Fig.(a)) being moved to a new position (Fig.(b)) by adding 40 units to X co-ordinate values and 30 units to Y coordinate values. In general, in order to translate drawing by (TX, TY ) every point X, Y will be replaced by a point X1, Y1 where X1 = X + TX Y = Y + TY M.SRINIVASSAN, ASST. PROF 13 RGCET

REFLECTION Shading is an important element in 3-D computer graphics, as it gives the necessary realism to the representation of the object. Fig. shows what happens when light is incident on a surface. Light gets partly reflected, partly scattered, partly absorbed and partly transmitted. The relative magnitudes of these are influenced by many factors like the opaqueness of the solid, surface texture etc. The intensity and wave length of light reflected from a surface depends on the incident angle, the surface roughness, incident wave length and the electrical properties of the surface. In computer graphics designer can model reflected light and transmitted light. Reflected light could be categorized into two types: Diffuse reflection: Diffuse light is scattered in all directions and is responsible for the color of the object. The light is reflected from a surface due to molecular interaction between incident light and the surface material. A yellow object for example, absorbs white light and reflects yellow component of the light. This property is attributed to diffuse reflection. When light from a point source is incident on a solid object, the diffuse reflection depends upon the angle of inclination of the surface with that of the incident beam. More important source of illumination of the objects is ambient light, which is the result of multiple reflections from the walls and other objects in the vicinity and is incident on a surface in all directions. M.SRINIVASSAN, ASST. PROF 14 RGCET

Specular reflection: A perfectly matt surface scatters light in all directions. Most of the surfaces that we deal with, however, have different levels of glossiness. The specular deflection deals with the reflection of the surface due to glossiness. Consider Fig. which shows the reflection of light on a surface. If the surface is perfectly glossy the reflected light is in the direction of R. If the surface becomes more and more matt, the reflection intensity varies as in a profile shown as the shaded area of the figure. A technique to model reflection from an object based on specular reflection has been proposed by Phong. This model assumes that: Light sources are point sources. All geometry except the surface normal is ignored. Diffuse and specular components are modeled as local components The model to simulate the specular term is empirical. The color of specular reflection is that of the light source The ambient lighting is constant. SHEARING A shearing transformation produces distortion of an object or an entire image. There are two types of shears: X-shear and Y-shear. A Y-shear transforms the point (X, Y) to the point (X1, Y1) by a factor Sh1, where X1 = X Y1 = Sh1. X + Y Fig. shows Y shear applied to a drawing. M.SRINIVASSAN, ASST. PROF 15 RGCET

HOMOGENEOUS TRANSFORMATIONS Each of the above transformations with the exception of translation can be represented as a row vector X, Y and a 2 X 2 matrix. However, all the four transformations discussed above can be represented as a product of a 1 X 3 row vector and an appropriate 3 X 3 matrix. The conversion of a two-dimensional co-ordinate pair (X, Y) into a 3-dimensional vector can be achieved by representing the point as [X Y 1]. After multiplying this vectorby a 3 X 3 matrix, another homogeneous row vector is obtained [X1 Y1 1]. The first two terms in this vector are the co-ordinate pair which is the transform of (X, Y). This three dimensional representation of a two dimensional plane is called homogeneous coordinates and the transformation using the homogeneous co-ordinates is called homogeneous transformation. The matrix representations of the four basic transformations are given below. M.SRINIVASSAN, ASST. PROF 16 RGCET

Translation: COMBINATION TRANSFORMATIONS Sequences of transformations can be combined into a single transformation using the concatenation process. For example, consider the rotation of a line about an arbitrary point. Line M.SRINIVASSAN, ASST. PROF 17 RGCET

AB is to be rotated through 45 in anticlockwise direction about point A (Fig (a)). Fig. (b) Shows an inverse translation of AB to A1B1. A1B1 is then rotated through 45 to A2B2. The line A2B2 is then translated to A3B3 Since matrix operations are not commutative, care must be taken to preserve the order in which they are performed while combining the matrices. 3-D TRANSFORMATIONS It is often necessary to display objects in 3-D on the graphics screen. The transformation matrices developed for 2-dimensions can be extended to 3-D. M.SRINIVASSAN, ASST. PROF 18 RGCET

PROJECTIONS In drawing practice, a 3-dimensional object is represented on a plane paper. Similarly in computer graphics a 3-dimensional object is viewed on a 2-dimensional display. A projection is a transformation that performs this conversion. Three types of projections are commonly used in engineering practice: parallel, perspective and isometric. PARALLEL (ORTHOGONAL) PROJECTION This is the simplest of the projection methods. Fig. shows the projection of a cube on to a projection plane. The projectors, which are lines passing through the corners of the object are all parallel to each other. It is only necessary to project the end points of a line in 3-D and then join these projected points. This speeds up the transformation process. However a major disadvantage of parallel projection is lack of depth information. M.SRINIVASSAN, ASST. PROF 19 RGCET

PERSPECTIVE PROJECTION The perspective projection enhances the realism of displayed image by providing the viewer with a sense of depth. Portions of the object farther away from the viewer are drawn smaller than those in the foreground. This is more realistic as it is the way we see an object. In perspective projection the projections connect the eye with every point of the object and therefore all projections converge to the eye. As the display screen is a two-dimensional space, we cannot display three-dimensional objects but only their projections. Computationally, projection transformations are in general quite expensive. Since the generation of a perspective view of a given object may require the projection transformation of a considerable number of points, the projection applied is usually restricted to the central projection and sometimes to even simpler parallel or orthographic projection in order to keep the execution time for the generation of a perspective view within reasonable limits. Figure explains the central projection as it is usually applied in computer graphics. The problem is to determine the projection of an object point, located somewhere in a threedimensional space, onto a plane in that space, called the image plane. This projection is called the image point of the corresponding object point. In a central projection, the center of projection, also called the viewpoint, is located on one of the axes of the three dimensional orthogonal coordinate systems. In Figure the viewpoint is arbitrarily located on the Z-axis. This fact can also be expressed by saying that the optical axis is aligned with the Z-axis of the co-ordinate system. The image plane is perpendicular to the optical axis; i.e., in figure it is parallel to the xy-plane of the co-ordinate system. This fact accounts for the simplicity of a central projection. Let the coordinates in the two-dimensional co-ordinate system of the image plane, which we may call the image co-ordinate system, be denoted by X and Y. Let the distance of the image plane to the origin of the spatial co-ordinate system be denoted by Z and the distance of the viewpoint to the origin of the co-ordinate system by Z. M.SRINIVASSAN, ASST. PROF 20 RGCET

This projection is called orthographic. The orthographic projection is a special form of the parallel projection by which parallel lines of the three-dimensional object are transformed into parallel lines of its image. ISOMETRIC PROJECTION In isometric projection the three orthogonal edges of an object are inclined equally to the projection plane. Because of the relative ease of projection and the ability to give 3-D perception, isometric projection is widely used in computer aided design. In computer aided design the coordinates of the drawing are available in their natural co-ordinate system. These are transformed suitably to enable the viewer different views or rotate the object in such away that all the faces of the object are made visible continuously. There are several uses for this technique in product design. Hence good design packages incorporate several viewing transformation techniques. The viewing parameters depend upon the system graphics standard followed in developing the graphics package. The algorithms for these viewing transformations are available in literature. 21

M.SRINIVASSAN, ASST. PROF 42 RGCET