In the name of God Computer Graphics.

Slides:



Advertisements
Similar presentations
Today Composing transformations 3D Transformations
Advertisements

GR2 Advanced Computer Graphics AGR
MEG 361 CAD Chapter 3 Basic Concepts of Graphics Programming.
Computer Graphics- SCC 342 Chapter 3: Computer Graphics Software Dr. Doaa Hegazy.
COMPUTER GRAPHICS SOFTWARE.
COMPUTER GRAPHICS 2D TRANSFORMATIONS.
Computer Graphics Lecture 4 Geometry & Transformations.
Graphics Pipeline.
In the name of God Computer Graphics Bastanfard.
3D Graphics Rendering and Terrain Modeling
1 Computer Graphics Chapter 6 2D Transformations.
1 Geometrical Transformation 2 Outline General Transform 3D Objects Quaternion & 3D Track Ball.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
Introduction to OpenGL. What is OpenGL OpenGL is a low-level software interface to graphics hardware No commands for performing windowing tasks or obtaining.
CMPE 466 COMPUTER GRAPHICS
CHAPTER 7 Viewing and Transformations © 2008 Cengage Learning EMEA.
3D Graphics Goal: To produce 2D images of a mathematically described 3D environment Issues: –Describing the environment: Modeling (mostly later) –Computing.
Geometric Objects and Transformations Geometric Entities Representation vs. Reference System Geometric ADT (Abstract Data Types)
Overview of Computer Graphics Chapter 1. Bird’s Eye View  Overview of Computer Graphics –Basic concept of computer graphics, system, programming platforms,
10/5/04© University of Wisconsin, CS559 Fall 2004 Last Time Compositing Painterly Rendering Intro to 3D Graphics Homework 3 due Oct 12 in class.
UNIT - 5 3D transformation and viewing. 3D Point  We will consider points as column vectors. Thus, a typical point with coordinates (x, y, z) is represented.
Zhang & Liang, Computer Graphics Using Java 2D and 3D (c) 2007 Pearson Education, Inc. All rights reserved. 1 Chapter 1 Overview of Computer Graphics.
Basic graphics. ReviewReview Viewing Process, Window and viewport, World, normalized and device coordinates Input and output primitives and their attributes.
10/13/200© NTUST Last Time Compositing Painterly Rendering Intro to 3D Graphics Homework 2, 3 due Oct 13 in class.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
1 CMT Fundamentals of Computer Graphics Revision Dr. Xiaohong Gao BG---Room 2C23 Week 11.
Computer Graphics Raster Devices Transformations Areg Sarkissian.
2D Geometric Transformations
CSC 461: Lecture 41 CSC461: Lecture 4 Introduction to OpenGL Objectives: Development of the OpenGL API OpenGL Architecture -- OpenGL as a state machine.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Graphics Programming using OpenGL. OpenGL is a software interface that allows the programmer to create 2D and 3D graphics images. This interface consists.
1 Chapter 1 Overview of Computer Graphics  To understand the basic objectives and scope of computer graphics  To identify computer graphics applications.
OpenGl Graphics Programming. Introduction OpenGL is a low-level graphics library specification. It makes available to the programmer a small set of geomteric.
Geometric Transformations
10/3/02 (c) 2002 University of Wisconsin, CS 559 Last Time 2D Coordinate systems and transformations.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
Introduction to Computer Graphics Chapter 6 – 2D Viewing Pt 1 1.
CS559: Computer Graphics Lecture 8: 3D Transforms Li Zhang Spring 2008 Most Slides from Stephen Chenney.
Introducing: Computer Graphics Chapter 1. Chpater 1 -- Introducing: Computer Graphics2 n Computer Graphics is a branch of Computer Science, but its appeal.
CS559: Computer Graphics Lecture 8: Warping, Morphing, 3D Transformation Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
2/17/04© University of Wisconsin, CS559 Spring 2004 Last Time Resampling –Ideal reconstruction –You can only ideally reconstruct band-limited functions.
9/30/04© University of Wisconsin, CS559 Fall 2004 Last Time Reconstruction Aliasing Compositing Intro.
Computer Graphics 3D Transformations. Translation.
Geometric Transformations
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
12/24/2015 A.Aruna/Assistant professor/IT/SNSCE 1.
CS COMPUTER GRAPHICS LABORATORY. LIST OF EXPERIMENTS 1.Implementation of Bresenhams Algorithm – Line, Circle, Ellipse. 2.Implementation of Line,
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
II-1 Transformations Transformations are needed to: –Position objects defined relative to the origin –Build scenes based on hierarchies –Project objects.
CS559: Computer Graphics Lecture 9: 3D Transformation and Projection Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Perform Congruence Transformations. Transformations: when you move or change a geometric figure in some way to produce a new figure. Image is what the.
Geometric Transformations Ceng 477 Introduction to Computer Graphics Computer Engineering METU.
Graphics Programming. Graphics Functions We can think of the graphics system as a black box whose inputs are function calls from an application program;
Transformations. Transformations Introduce standard transformations ◦ Rotation ◦ Translation ◦ Scaling ◦ Shear Derive homogeneous coordinate transformation.
Applications and Rendering pipeline
Forward Projection Pipeline and Transformations CENG 477 Introduction to Computer Graphics.
Chapter 11 Three-Dimensional Geometric and Modeling Transformations
In the name of God Computer Graphics.
Computer Graphics.
Computer Graphics CC416 Week 15 3D Graphics.
Computer Graphics 3D Transformations
Graphics Fundamentals
3D Transformations Source & Courtesy: University of Wisconsin,
3D Graphics Rendering PPT By Ricardo Veguilla.
Line and Character Attributes 2-D Transformation
(c) 2002 University of Wisconsin, CS 559
(c) University of Wisconsin, CS559
Lecture 8: 3D Transforms Li Zhang Spring 2008
Presentation transcript:

In the name of God Computer Graphics

Overview Introduction Geometry Interaction Graphic systems Graphics Standards

Is Computer Graphics Important?

Graphics Systems Interface between users and application software Consists of input subroutines and output subroutines accepting input data or commands from a user and converting internal representations into external pictures on screen, respectively

Software Portability and Graphics Standards It used to be low-level and device dependent packages supplied by the vendor, making it very difficult to port the software. We have now moved to high-level device independent packages, which allow much easier porting of software. Several standard device-independent graphics libraries are based on geometric modeling.

Graphics Software History(1) Graphics Software Standards: CORE -- 3D Core Graphics Systems -- a specification produced by an ACM SIGGRAPH committee in 1977. GKS - Graphical Kernel System -- (1985) cleaned up and implemented the 2D portion of CORE. GKS-3D (1988) -- implemented CORE’s 3D portions. Permitted the grouping of primitives (such as lines, polygons, and character strings -- and their attributes) into collections.

Graphics Software History(2) PHIGS - Programmers Hierarchical Interactive Graphics System (1988) PHIGS also supports a retained database of structures, and automatically updated the screen when the database had been altered. PHIGS+ (1992) added features for photorealistic rendering. Other standards Postscript X-Windows OpenGL PEX

3D Graphics Goal: To produce 2D images of a mathematically described 3D environment Issues: Describing the environment: Modeling Computing the image: Rendering What does it take to describe a scene?

Graphics Toolkits Graphics toolkits typically take care of the details of producing images from geometry Input (via API functions): Where the objects are located and what they look like Where the camera is and how it behaves Parameters for controlling the rendering Functions (via API): Perform well defined operations based on the input environment Output: Pixel data in a framebuffer – an image in a special part of memory Data can be put on the screen Data can be read back for processing (part of toolkit)

OpenGL OpenGL is an open standard graphics toolkit Derived from SGI’s GL toolkit Provides a range of functions for modeling, rendering and manipulating the framebuffer Why use it? Alternatives: Direct3D, Java3D - more complex and less well supported respectively

Coordinate Systems(1) The use of coordinate systems is fundamental to computer graphics Coordinate systems are used to describe the locations of points in space Multiple coordinate systems make graphics algorithms easier to understand and implement

Coordinate Systems (2) Different coordinate systems represent the same point in different ways Some operations are easier in one coordinate system than in another For instance, given a point and a box, which coordinate system makes it easy to determine if the point is in the box? (2,3) (1,2) v v y y u u x x

Transformations Transformations convert points between coordinate systems (2,3) u=x-1 v=y-1 (1,2) v v y y u x=u+1 y=v+1 u x x

Transformations (Alternate Interpretation) Transformations modify an object’s shape and location in one coordinate system The previous interpretation is better for some problems, this one is better for others (2,3) x’=x-1 y’=y-1 y y (1,2) x=x’+1 y=y’+1 x x

2D Translation Moves an object y y by x bx x

2D Translation Moves an object y y by x bx x

2D Scaling Resizes an object in each dimension y y syy y x x sxx x

2D Scaling Resizes an object in each dimension y y syy y x x sxx x

2D Rotation Rotate counter-clockwise about the origin by an angle  y x x

2D Rotation Rotate counter-clockwise about the origin by an angle  y x x

X-Axis Shear Shear along x axis (What is the matrix for y axis shear?)

X-Axis Shear Shear along x axis (What is the matrix for y axis shear?)

Reflect About X Axis x x What is the matrix for reflect about Y axis?

Reflect About X Axis x x What is the matrix for reflect about Y axis?

Rotating About An Arbitrary Point What happens when you apply a rotation transformation to an object that is not at the origin? y ? x

Rotating About An Arbitrary Point What happens when you apply a rotation transformation to an object that is not at the origin? It translates as well y x x

How Do We Fix it? How do we rotate an about an arbitrary point? Hint: we know how to rotate about the origin of a coordinate system

Rotating About An Arbitrary Point x x y y x x

Rotate About Arbitrary Point Say you wish to rotate about the point (a,b) You know how to rotate about (0,0) Translate so that (a,b) is at (0,0) x’=x–a, y’=y–b Rotate x”=(x-a)cos-(y-b)sin, y”=(x-a)sin+(y-b)cos Translate back again xf=x”+a, yf=y”+b

Scaling an Object not at the Origin What also happens if you apply the scaling transformation to an object not at the origin? Based on the rotating about a point composition, what should you do to resize an object about its own center?

Back to Rotation About a Pt Say R is the rotation matrix to apply, and p is the point about which to rotate Translation to Origin: Rotation: Translate back: The translation component of the composite transformation involves the rotation matrix. What a mess!

Basic Transformations Translation: Rotation: Scaling:

3D Translation