MEG 361 CAD Chapter 3

download MEG 361  CAD Chapter 3

If you can't read please download the document

description

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 : - PowerPoint PPT Presentation

Transcript of MEG 361 CAD Chapter 3

  • MEG 361 CADChapter 3Basic Concepts of GraphicsProgramming

  • Interactive shape manipulation plays a major role in CAD/CAM/CAEProgramming 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 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

  • 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 uuuvvvscreenz

  • 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 uvscreen

  • 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 ProjectionParallel Projection

  • Transformation bet. Coordinate Systems

  • 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 displayedParallel ProjectionViewport(s) is the area(s) on the display monitor where we want the projected image to appear.

    More

  • Window and ViewportOpenGL SampleParallel 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 displayLocator and Button are two types of physical device.

  • Graphics InputLocator 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 ( )

  • Representation of CurevesCircle Nonparametric

    Parametric

  • Conic Sections

  • See meg361_.....doc%parametric representation of curve%Line%----------------%example:% fro the position vector P1=[1;2]%P2=[4;3];plot the linet=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
  • Linear TransformationTranslation

  • Linear TransformationRotationRotation @ x-axis

  • Linear TransformationRotationRotation @ x-axis

  • Linear TransformationRotationRotation @ x-axis...Rot_x=

  • Linear TransformationRotationSimilarly; Rotation @ y-axis...Rot_y=

  • Linear TransformationRotationSimilarly; Rotation @ z-axis...Rot_z=

  • Linear TransformationGraphics LibraryExample: how transformation matrix is called