MEG 361 CAD Chapter 3 Basic Concepts of Graphics Programming
Interactive shape manipulation plays a major role in CAD/CAM/CAE Programming for graphics display on monitor is essential part of CAD/CAM/CAE software
Graphics Libraries Graphics Software may be divided into two groups : device driver and graphics libraries.
Graphics Libraries Application Program Device Driver Input/output Devices Graphics programming using graphics driver Directly, i. e.,"no libraries" … More …
Graphics Libraries … Device Driver is a set of machine-dependant codes that directly controls the display processing unit of a graphics device so that the electron beam is cast at the desired location. Each device driver (machine- dependant) has only a primitive capability, and so a graphics program written with such commands would be very long if any meaningful task to be performed. A program with poor readability will result.
Graphics Libraries … More … Application Program Device Driver Input/output Devices Graphics programming using graphics libraries Graphics Library
Graphics Libraries … Graphics Libraries: Similar to the math libraries in conventional programming, the graphics library is a set of subroutines, each of which has a specific purpose. For example, a subroutine might draw a line or subroutine might draw a circle. The graphics library is built on top of the device driver as shown below. Each subroutine is created by using a supporting set of device driver commands, for example a subroutine for drawing a drawing a short straight-line segment, circle might be composed of series of device driver commands … More …
Graphics Libraries … Examples of Existing Graphics Libraries: Core graphics provided in 1977, SIGGraph of the Association of Computing Machinery (ACM) It does not provide enough commands to use all raster graphics systems. GKS was developed by (ISO) in about 1977. … More …
Graphics Libraries … Examples of Existing Graphics Libraries….: Both CORE and GKS have some deficiencies with regard to supporting dynamic display and versatile user interaction. OpenGL, set of libraries developed by Silicon Graphics Company, runs under MSwindows NT. It becomes the standard graphics library.
Coordinate Systems… Basic tasks to display an image of an object on a graphics device: Specifying the location of all points on the object in space. Determining which locations on the display monitor to be occupied by those points. … More …
Coordinate Systems… Thus a coordinate system is necessary to provide a reference for specifying the location of a point both in space and on the monitor … More …
Coordinate Systems… 1 Device coordinate system: Is used as the reference in defining a location on the display monitor. The origin of u-v-z axes is chosen arbitrary. … More … u u u v v v screen z
Coordinate Systems… 2 Virtual device coordinate system: Has the same origin. The origin of u-v-z axes is in the lower left part. Graphics programmer specifies a shape consistently regardless of the DCS. … More … u v screen
Coordinate Systems… Device coordinate system and Virtual device coordinate system are 2-Dimesional … More …
World Coordinate System (WCS) Is used to describe how the world of interest looks like. It is 3-Dimesional. … More … It describes the locations and orientations of desks, chairs, and the blackboard if our world is a classroom.
Model Coordinate System (MCS) Is used to describe the shape of a part w.r.t. MCS attached to it. It is 3-Dimesional. … More … In MCS the coordinates of points on the part do not change their values even when the part is translated and/or rotated.
Model Coordinate System (MCS)….. The location and orientation of each part are then specified by WCS. The coordinates of all points of the parts are obtained in WCS using transformation matrices. … More …
Two Types of Projection … More … Perspective Projection Parallel Projection
Window and Viewport Window defines the region in space that will be projected onto the display monitor so that any object outside the space of the monitor will not be displayed Parallel Projection Viewport(s) is the area(s) on the display monitor where we want the projected image to appear. … More …
Window and Viewport OpenGL Sample Parallel Projection
Output primitives are the graphics elements that can be displayed by a graphics libraray. Line, Polygon, marker and Text are examples of output primitives.
Graphics Input … Graphics program accepts points, lines, or polygons as input in addition to numbers and text strings (e.,g; select a polygon among all the graphics elements on the display Locator and Button are two types of physical device.
Graphics Input Locator and Button Locator transfers location of cursor to the graphics program (mouse ball) Button transfers action of user on or off at current cursor location (mouse button)
Representation of Cureves In solid modeling and computer aided drafting systems, curve equation itself or its attributes (center point, radius,..) have to be stored.
…Representation of Cureves Curve equations: nonparametric Parametric,(x, y, z are related with a parameter ( θ )
Nonparametric Parametric …Representation of Cureves Circle
See meg361_.....doc %parametric representation of curve %Line %---------------- %example: % fro the position vector P1=[1;2] %P2=[4;3];plot the line t=0:.01:1; x=1+3*t; y=2+t; plot(x,y);grid; xlabel('x'),ylabel('y'); axis([0 5 0 5]);
%meg361 %parametric representation of %curve %parabola %---------------- %example: % Generate the parabolic segment % in the first quadrant for 1<x<4 %for the parabola given by % x=1*th^2, y=2*th, i;e; a=1 %plot the segment of the parabola a=1; xmin=1;xmax=4; thmin=sqrt(xmin/a); thmax=sqrt(xmax/a); th=thmin:(thmax-thmin)/101:thmax; x=a*th.^2; y=2*a*th; plot(x,y);grid; xlabel('x'),ylabel('y'); axis([0 5 0 5]);