Concept Art Mohammad Zikky, M.T. 2 Outline  The Pipeline  Concept Art(next)  2D Art  Animation, Tiles  3D Art  Modeling, Texturing, Lighting.

Slides:



Advertisements
Similar presentations
Today Composing transformations 3D Transformations
Advertisements

Interactive Media and Game Development 2-D Tiles and Sprites.
IMGD 1001: Concept Art. IMGD Outline  The Pipeline  Concept Art(next)  2D Art Animation, Tiles  3D Art Modeling, Texturing, Lighting.
Graphite and Values Drawing
Chapter 6 Photoshop and ImageReady: Part II The Web Warrior Guide to Web Design Technologies.
Interactive Media and Game Development Tiles, Sprites and Concept Art.
IMGD 1001: 3D Art. IMGD Outline  The Pipeline  Concept Art  2D Art Animation, Tiles  3D Art (next) Modeling, Texturing, Lighting, Transformations.
IMGD 1001: 2D Art by Mark Claypool Robert W. Lindeman
CS 4731: Computer Graphics Lecture 7: Introduction to Transforms, 2D transforms Emmanuel Agu.
1 CSCE 441 Computer Graphics: 2D Transformations Jinxiang Chai.
CE En 112 Engineering Drawing with CAD Application
Interactive Media and Game Development
Scenes, Cameras & Lighting. Outline  Constructing a scene  Using hierarchy  Camera models  Light models.
2D Transformations x y x y x y. 2D Transformation Given a 2D object, transformation is to change the object’s Position (translation) Size (scaling) Orientation.
2D Transformations Unit - 3. Why Transformations? In graphics, once we have an object described, transformations are used to move that object, scale it.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Hierarchical Transformations Hierarchical Models Scene Graphs
09/18/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Bump Mapping Multi-pass algorithms.
Hidden Surface Removal
Guilford County Sci Vis V204.01
MULTIMEDIA TECHNOLOGY SMM 3001 MEDIA - GRAPHICS. In this chapter how the computer creates, stores, and displays graphic images how the computer creates,
Elements of Art.
IMGD 1001: Concept Art by Mark Claypool Robert W. Lindeman
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
IMGD 1001: 3D Art by Mark Claypool Robert W. Lindeman
Introduction to 3D Graphics Lecture 4: Scenes and Scene Graphs Anthony Steed University College London.
University of Illinois at Chicago Electronic Visualization Laboratory (EVL) CS 426 Intro to 3D Computer Graphics © 2003, 2004, 2005 Jason Leigh Electronic.
C O M P U T E R G R A P H I C S Stuff CMSC 435 / 634 Transformations 1/29 Geometric Transformations Readings: Chapters 5-6.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CS324e - Elements of Graphics and Visualization Checkerboard World.
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
Chapter 10 Creating 3D Objects. Extruding Objects The Extrude & Bevel effect makes two- dimensional objects three-dimensional. A two-dimensional object.
Elements of Art (pages 32-36)
Introduction to Textures and Skins Chapter 8 & 9 3D Game Programming All-in-One By Ken Finney.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
BASIC DRAWING SKILLS 6 th Grade Art & Introduction to Art Ms. McDaniel.
ENTC 1110 OBLIQUE PICTORIALS.
SKM 4200 Computer Animation Chapter 4: Animation (3D Computer Animation – Part 1)
PowerPoint Basics Tutorial 3: Graphics In this tutorial we’ll be looking at graphics, and the various types of illustrations that can be included in a.
Lecture 6: 3D graphics Concepts 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271 
Unit 2: Engineering Design Process
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
Chapter 7 Animation Prepared by: Ms. Ma. Anna Corina G. Kagaoan College of Arts and Sciences.
Chapter 4 Working with Frames. Align and distribute objects on a page Stack and layer objects Work with graphics frames Work with text frames Chapter.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Gesture and Contour Drawing!
IMGD 1001: 2D Art.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Sky Boxes and Vector Math 2 Course Information CVG: Programming 4 My Name: Mark Walsh Website:
© 2011 Delmar, Cengage Learning Chapter 4 Working with Frames.
CS COMPUTER GRAPHICS LABORATORY. LIST OF EXPERIMENTS 1.Implementation of Bresenhams Algorithm – Line, Circle, Ellipse. 2.Implementation of Line,
CISC 110 Day 3 Introduction to Computer Graphics.
1Ellen L. Walker 3D Vision Why? The world is 3D Not all useful information is readily available in 2D Why so hard? “Inverse problem”: one image = many.
Computer Graphics Matrices
 Advancing from moving premade primitives to making our own models  Two different approaches: ◦ Direct mesh editing: A more traditional approach commonly.
 The terms LMB, MMB, RMB, and mouse wheel (MW).
Composition & Elements of Art and Principles of Design A artists toolbox.
CSCE 441 Computer Graphics: 2D Transformations
Drawing Concepts. The first thing we do when beginning to draw is contour drawing, which is another name for drawing the outline and inner details of.
3D Ojbects: Transformations and Modeling. Matrix Operations Matrices have dimensions: Vectors can be thought of as matrices: v=[2,3,4,1] is a 1x4 matrix.
Composition & Elements of Art and Principles of Design
Perspective, Scene Design, and Basic Animation
UMBC Graphics for Games
IMGD 1001: Concept Art.
Computer Graphics Lecture 15.
Computer Graphics Material Colours and Lighting
Presentation transcript:

Concept Art Mohammad Zikky, M.T

2 Outline  The Pipeline  Concept Art(next)  2D Art  Animation, Tiles  3D Art  Modeling, Texturing, Lighting

3 Why Not Just Prototype?  Even creating prototypes can be time consuming and expensive  Getting it right on the first try is unlikely  Revising instantiated work can be difficult Thus the need for some forethought! Art and organization by Paolo Piselli,

4 What is a Better Way? Make decisions on paper, where changes and variations can be made quickly and easily.

5 What is Concept Drawing? (1 of 2)  From illustration, but is a modern idea  Main goal to convey visual representation of a design, idea, and/or mood  Use in movies, comic books and computer games  Before it is put into the final product (or even prototype)

6 What is Concept Drawing? (2 of 2) It is not a full design, blueprint or specification. It is a partial design that gives enough detail to imply a full design. IMPLIES ConceptImplementation Art and organization by Paolo Piselli,

7 Who Is Involved? We can think of the process as a two-part system: The ARTIST generates drawings based on the given constraints. The BOSS supplies the constraints that the drawing needs to fill. Art and organization by Paolo Piselli,

IMGD The BOSS (1 of 3)  Takes part in a higher-level design process with goals of its own Attract web-visitors Sell more widgets Win an Oscar Art and organization by Paolo Piselli,

IMGD The BOSS (2 of 3)  Communicates constraints inherited from this higher- level process to the ARTIST We need a happy, purple dinosaur to sell more widgets! Happy Purple Dinosaur Art and organization by Paolo Piselli,

10 The BOSS (3 of 3)  Evaluates the fitness of the ARTIST’s solutions based on various heuristics Market research says its good Wife likes it Magic 8-Ball says outlook not so good Art and organization by Paolo Piselli,

11 The ARTIST (1 of 4)  Generates drawings based on the given constraints We need a happy, purple dinosaur to sell more widgets! Happy Purple Dinosaur Art and organization by Paolo Piselli,

12 The ARTIST (2 of 4)  Has expert knowledge of drawing materials and techniques Art and organization by Paolo Piselli,

13 The ARTIST (3 of 4)  Has aesthetic heuristics (acquired by studying style, design and master artwork) Art and organization by Paolo Piselli,

14 The ARTIST (4 of 4)  May need to cache domain-specific knowledge (dinosaur anatomy, typical dress of a noblewoman in 13 th century England, etc.) Art and organization by Paolo Piselli,

15 A Space of Ideas (1 of 3) There is a space of drawings that potentially satisfy some set of constraints (could be from cache) (Space of Evil Lizard- Monsters) Art and organization by Paolo Piselli,

16 A Space of Ideas (2 of 3) The ARTIST is capable of generating drawings that represent regions of this space. (Remember that because a concept drawing is not a full design, there is some range of designs that each drawing represents) Art and organization by Paolo Piselli,

17 A Space of Ideas (3 of 3) The BOSS provides the ARTIST with direction in searching this space for a solution that optimizes BOSS’s heuristics. My wife says it needs more armor! “Concepting” is like a “hill-climbing” search of the idea space! Art and organization by Paolo Piselli,

18 Beginning with Thumbnails (1 of 3)  The exploration of possible solutions often begins with ARTIST generating rough drawings.  These rough drawings - called “thumbnails” – are often little more than suggestive scribbles.  Thumbnails can be generated very rapidly. This allows ARTIST to generate many points of search space at little cost. Art and organization by Paolo Piselli,

19 Beginning with Thumbnails (2 of 3) But where does the artist come up with all these samples of search space? The ARTIST forms these partial solutions from domain experience and/or cached reference images! Art and organization by Paolo Piselli,

20 Beginning with Thumbnails (3 of 3)  Thumbnails enable ARTIST and BOSS to quickly get their bearings and identify fruitful starting-points for exploration.  These rough drawings can quickly expose problems with the given constraints.  It doesn’t take highly detailed concepts to cull large portions of search space! I like the one with the sunglasses. Let’s see where we can go with that! Art and organization by Paolo Piselli,

IMGD Drawing the Concept (1 of 5)  There are many techniques for creating more detailed concepts (pencils, markers, watercolors, etc.)  In general, the drawing process is one of iterative refinement.  For example, when rendering a concept with markers, the ARTIST will begin by roughly sketching most of the detail with a light marker. Art and organization by Paolo Piselli,

IMGD Drawing the Concept (2 of 5)  Next, the ARTIST does some line selection.  In this stage, the ARTIST is choosing the best of the rough details for inclusion in the final concept.  The ARTIST may also be adding some lower-level details as well, now that the higher-level details are becoming more specific. Art and organization by Paolo Piselli,

IMGD Drawing the Concept (3 of 5)  Next, the ARTIST does some region coloring to separate the different elements of the drawing … Art and organization by Paolo Piselli,

IMGD Drawing the Concept (4 of 5) … and now a shading pass to reveal the 3D form of the concept … Art and organization by Paolo Piselli,

IMGD Drawing the Concept (5 of 5) … and finally a detail pass, picking out lines to reinforce and areas to highlight. This concept is finished … but wait! Art and organization by Paolo Piselli,

IMGD Back to Hill-Climbing! Very nice! But the Magic 8-Ball doesn’t like all those spots; and the VCs think it should have big, muscley arms! ! Art and organization by Paolo Piselli,

IMGD Questions and Discussion Art and organization by Paolo Piselli,

2D and 3D Concept Design

Animation  Animation  produces the illusion of movement  Display a series of frames with small differences between them  Done in rapid succession, eye blends to get motion  Unit is Frames Per Second (fps). For video:  fps: full-motion (Game Maker does 30)  15 fps: full-motion approximation  7 fps: choppy  3 fps: very choppy  Less than 3 fps: slide show  (2D Sprites can get away with about ½ the above)  To do successfully, need to keenly observe, focus on differences in movement  Apply basic principles (next)

IMGD 1001 Key Frames  Images at extremes in movement  Most noticeable to observer  Ex: for flight wings up and wings down  Ex: for walking, right leg forward, leg together  The more the better?  Smoother, yes  But more time to develop (tradeoffs)  And more prone to errors, “bugs” that interfere with the animation Based on Chapter 9, Designing Arcade Computer Game Graphics, by Ari Feldman

IMGD 1001 In-Between Frames  Generated to get smooth motion between key- frames  Can be tedious and time consuming to make  Most software allows duplication Based on Chapter 9, Designing Arcade Computer Game Graphics, by Ari Feldman

IMGD 1001 Frame Animation Guidelines Based on Chapter 9, Designing Arcade Computer Game Graphics, by Ari Feldman (See GameMaker tutorial shooter for examples of Enemy Planes, Explosions) Faster motion needs fewer drawings. Slower motion needs more drawings.

IMGD 1001 Secondary Actions  Animation part that does not lead movement, but follows it  Add extra dimension of reality  Ex: Hair moving in wind  Ex: Cape billowing backward Based on Chapter 9, Designing Arcade Computer Game Graphics, by Ari Feldman

Steps in Creating Animation Sequences (1 of 3)  Conceptualize – have vision (in mind or on paper) of what animation will look like  Decide on object behavior 1. Animated once (no looping) 2. Animated continuously (using cycles) 3. 2 nd choice means must make last key frame blend with first  Choose an image size – will contain and constrain object  Test and experiment briefly to have plenty of room  Design key-frames - drawing the motion extremes  Use simple shapes to represent main actions  Ex: stick figures or basic shapes (circles, squares) Based on Chapter 9, Designing Arcade Computer Game Graphics, by Ari Feldman

Steps in Creating Animation Sequences (2 of 3)  Estimate the in-betweens  Think of how many you will need to complete the sequence smoothly  Be conservative. Easier to add additional transition frames than to remove them  Apply secondary enhancements  Embellish to look convincing and enticing  Exaggeration Based on Chapter 9, Designing Arcade Computer Game Graphics, by Ari Feldman

IMGD 1001 Steps in Creating Animation Sequences (3 of 3)  Test each movement  Can be done with ‘copy’ and ‘undo’ in tool  Others have animation rendering (ex- Game Maker)  Look for flaws (movement, discolored pixels …)  Repeat  Repeat for all animations Based on Chapter 9, Designing Arcade Computer Game Graphics, by Ari Feldman

IMGD 1001 Tiles  Needed for common backgrounds  Too hard to make every pixel different!  Exploration games (especially outdoors) make heavy use of these  Grass, trees, water, sand  Start with a grass tile to warm up So You Want to Be a Pixel Artist?, by Tsugumo

IMGD 1001 Grass is Green  Use a basic green square  But this looks unnatural  Like flat, shiny metal  No illusion of movement So You Want to Be a Pixel Artist?, by Tsugumo  Simply a Green Box (Ex: bkg_grass0 )

IMGD 1001 Grass has Variation  Can do a lot with simple enhancement of color shades So You Want to Be a Pixel Artist?, by Tsugumo (Ex: bkg_grass1 )

IMGD 1001 Make Variation More Random  Can use the “spray” tool So You Want to Be a Pixel Artist?, by Tsugumo (Ex: bkg_grass2 )

IMGD 1001 Make Look Random but with Control  Draw by hand for more control  4 pixel line strokes So You Want to Be a Pixel Artist?, by Tsugumo (Ex: bkg_grass3 )

IMGD 1001 The “Grid” (1 of 3)  Looks too much like tiles  “Large” blank is problem, so remove So You Want to Be a Pixel Artist?, by Tsugumo

IMGD 1001 The “Grid” (2 of 3)  Still, some “lines” are visible when repeated  Break up with more color So You Want to Be a Pixel Artist?, by Tsugumo

IMGD 1001 The “Grid” (3 of 3)  Much better! So You Want to Be a Pixel Artist?, by Tsugumo (Ex: bkg_grass4 )

IMGD 1001 Don’t Try This at Home  Don’t use same texture for all, else not much better than just colors So You Want to Be a Pixel Artist?, by Tsugumo

3D Art IMGD

IMGD Polygonal Modeling Basics: Primitives  Primitives are basic shapes  Most 3d packages have same primitives:  Sphere, Cube, Cylinder, Plane  Use for “broad strokes”  Concentrate on primitives within object  Ex: human body (ovals for shoulders, cylinders for legs, sphere for head…)  Components are parts that make up primitive  Ex: vertices, edges, triangles, faces, elements  Similar across all packages but terminology can vary  Transformation allows moving, rotating, scaling object or component

IMGD Polygonal Modeling Basics: Normals  Face normals are at right angle to polygon  Tell what direction if facing, how to render, how light will react  Viewed from other side, is invisible  Fine if on inside (say, of solid cube)  When debugging, pay attention to normals as well as polygons

IMGD Polygonal Modeling Basics: Backface Culling  Toggles display of faces that point away from view  When on, see through wireframe  When off, looks solid (not drawn)  Makes look less cluttered

IMGD Modeling Tools  Certain tools and techniques used 80-90% of the time  Line Tool:  Draw outline of object and extrude to get 3-d shape  Ex: profile of car. Use line tool. Then, extrude outward to get shape.  Extrude:  Take component (often face), duplicating it, pulling pushing or scaling to refine model  Ex: take cube. Extrude face outward and smaller  Cut:  Subdivides faces and adds new faces  Adjust:  The artistic part of modeling. Try to capture form, profile and character by moving vertices  “Vertex surgery”, part of the technical manipulation Based on Chapter 6.2, Introduction to Game Development

IMGD A Modeling Technique: Box Modeling  Done for character, but can apply to other things  General idea:  Start with box, cylinder or other primitive  Extrude, Cut, Adjust…  Get topology, proportions right  Once happy, refine until details complete

IMGD Box modeling: Quick Example  Reference  Box modeling: extrude, cut, adjust  Compare to reference  Shade Based on Chapter 6.2, Introduction to Game Development

IMGD Polygons and Limits  3d Software renders scene of polygons like game  But 3d software slow (Toy Story 1 frame / 15 hrs)  Game is real time (30 frames / second)  Need to limit polygons. How spent depends upon world size and where needed.  Ex: Medal of Honor versus Soul Caliber 2. MoH details spread across world, less on avatars. SC2 can have detailed avatars since only 2 in one ring.  Think of how many polygons each item needs. Estimates, educated guesses. Then, make pass. (Tools will often give count)  Used wisely, can make detailed scenes with few (Ex: 2.5, page 24)  Ch 6.2 assumes 4000 (typical for PS2 street fighting game or hero in 3 rd person action game) Based on Chapter 2, Creating the Art of the Game, by Matthew Omernick

IMGD Polygon Reduction (1 of 4)  Being able to model without wasting polygons important  takes practice  If a player will see face?  Ex: oil barrel as cylinder. Will see bottom? Nope, then delete.  Are all faces necessary? Looks great, yeah, but some can be removed.  Ex: 12-sided cylinder still looks “round” with 8 sides? Then do it.  (Example exercise p30-31) Based on Chapter 2, Creating the Art of the Game, by Matthew Omernick

IMGD Polygon Reduction (2 of 4)  Level-of-detail (LOD) meshes  Multiple versions of object, progressively lower levels  When far away, use low level  Assume more objects in Field of View  When close, use higher level  Assume fewer objects in Field of View

IMGD Polygon Reduction (3 of 4)  For entire level (ie- map with environment), entire polygon count matters  Impacts amount of memory needed  But only visible polygons rendered  Rest are “culled” and not computed Based on Chapter 6.2, Introduction to Game Development Images courtesy of WildTangent

IMGD Polygon Reduction (4 of 4)  With low polygon modeling, much of the detail is painted into the texture (next topic!) Images courtesy of WildTangent, model and texture by David Johnson. Based on Chapter 6.2, Introduction to Game Development

IMGD Texture  Shader – define surface property of object – how shiny, bumpy, how light effects  Texture – bitmap plugged into shader that defines image we want to appear on object Based on Chapter 6.4, Introduction to Game Development

IMGD Detail in Texture  Add depth, lines, etc. without polygons  Box is 12 polygons, bricks would take many more (Taken from Based on Chapter 6.4, Introduction to Game Development

IMGD Lighting  Can conjure feelings, emotions, even change what you are seeing  Reveal (or hide) depth  (Many books on traditional lighting)  AR/ID LIGHT, VISION AND UNDERSTANDING  Color, Mood Based on Chapter 6.6, Introduction to Game Development

IMGD The Role of Color RTX Red Rock Color indicates danger

IMGD The Role of Lighting Long shadows not only add to the atmosphere, but also help break up repetition

IMGD Key light – main source. The Key light is placed next to the camera, about degree angle to the subject. The angle is determined by what kind of mood that you want the scene to have. Lighting Setup (1 of 3)

IMGD Fill light – Brings out some details out of shadow. Place the Fill Light at a 90 degree angle from the Key Light, usually slightly higher or lower than the Key Light. Lighting Setup (2 of 3)

IMGD Backlight - Highlights edges, pulls away from background. Placed directly opposite the camera and behind the subject. Lighting Setup (3 of 3)

IMGD Working with 3D Lights  Directional Lights – used for sunlight or moonlight. Often as key light. Predictable.  Spot Lights – focus beam on single location. Great control.  Point Lights – single point in all directions. Light bulbs, candles, etc.  Ambient Lights – spread everywhere, equally. Uniform diffuse lights. Precise control over illumination. Based on Chapter 6.6, Introduction to Game Development

IMGD Example of Working with 3D Lights Ambient light Based on Chapter 6.6, Introduction to Game Development

IMGD Effective Lighting Practices (1 of 2) Pools of light – Don’t always try to light evenly. - Gives sense of mystery Pools of light in Indiana Jones: The Emperor's Tomb Based on Chapter 6.6, Introduction to Game Development

IMGD Effective Lighting Practices (2 of 2) Guide lights – - Use light to guide the player. - Helps highlight areas that are accessible and important to the objectives. Based on Chapter 6.6, Introduction to Game Development

IMGD Introduction to Transformations  A transformation changes an object's  Size (scaling)  Position (translation)  Orientation (rotation)  Transform object by applying sequence of matrix multiplications to object vertices

IMGD Hierarchical Transformations  Graphical scenes have object dependencies  Many small objects  Attributes (position, orientation, etc.) depend on each other base lower arm hammer A Robot Hammer!

IMGD Hierarchical Transformations  Object dependency description using tree structure Base Lower arm Upper arm Hammer Root node Leaf node Object position and orientation can be affected by its parent, grand-parent, grand-grand-parent, … nodes Hierarchical representation is known as Scene Graph

IMGD Hierarchical Transformations  Relative Transformations - Specify the transformation for each object relative to its parent Step 1: Translate the base (and its descendants) by (5, 0, 0); x z y x z y x z y

IMGD Hierarchical Transformations Step 2: Rotate the lower arm and (its descendants) relative to the base's local y axis by -90 degrees x z y x z y x z y

IMGD Hierarchical Transformations Base Lower arm Upper arm Hammer Rotate (-90) about its local y Translate (5, 0, 0) Apply all the way down Apply all the way down

IMGD Transformation uses Matrices  All transformations can be performed using matrix/vector multiplication  Allows pre-multiplication of all matrices  Note: point (x, y) needs to be represented as (x, y, 1), also called homogeneous coordinates

IMGD Point Representation  We use a column matrix (2x1 matrix) to represent a 2D point  General form of transformation of a point (x, y) to (x’, y’) can be written as: or

IMGD Translation  To reposition a point along a straight line  Given point (x, y) and translation distance (t x, t y )  The new point: (x’, y’) (x,y) (x’,y’) or where x’ = x + t x y’ = y + t y

IMGD x3 2D Translation Matrix use 3x1 vector Note: it becomes a matrix-vector multiplication x’ = x + t x y’ = y + t y

IMGD Translation of Objects  How to translate an object with multiple vertices? Translate individual vertices

IMGD D Scaling  Scale: Alter object size by scaling factor (Sx, Sy). i.e., x’ = x * Sx y’ = y * Sy (1,1) (2,2) Sx = 2, Sy = 2 (2,2) (4,4)

IMGD x3 2D Scaling Matrix x’ = x * Sx y’ = y * Sy

IMGD D Rotation  Default rotation center is origin (0,0) Rotate counter clockwise Rotate clockwise 

IMGD D Rotation (cont.) (x,y)  Rotate about the origin by  (x’, y’) How to compute (x’, y’) ? x = r*cos() y = r*sin() (x,y) (x’,y’)   r x' = r*cos( +) y' = r*sin( +)

IMGD D Rotation (cont.)  Using trigonometric identities (x,y) (x’,y’)   r x’ = x cos() – y sin() y’ = x sin() + y cos() Matrix form?

IMGD x3 2D Rotation Matrix (x,y) (x’,y’)   r

IMGD D Rotation  How to rotate an object with multiple vertices? Rotate individual Vertices 

IMGD Arbitrary Rotation Center  To rotate about arbitrary point P = (Px, Py) by :  Translate object by T(-Px, -Py) so that P coincides with origin  Rotate the object by R()  Translate object back: T(Px, Py)  In matrix form  T(Px,Py) R() T(-Px,-Py) * P  Similar for arbitrary scaling anchor

IMGD Composing Transformations  Composing transformations  Applying several transforms in succession to form one overall transformation  Example  M1 X M2 X M3 X P where M1, M2, M3 are transform matrices applied to P  Be careful with the order!  For example  Translate by (5, 0), then rotate 60 degrees is NOT same as  Rotate by 60 degrees, then translate by (5, 0)