Graphics Hit-testing. Shape Models Selecting Lines and Shapes. 2.7 Graphics Hit-testing 1

Size: px
Start display at page:

Download "Graphics Hit-testing. Shape Models Selecting Lines and Shapes. 2.7 Graphics Hit-testing 1"

Transcription

1 Graphics Hit-testing Shape Models Selecting Lines and Shapes 2.7 Graphics Hit-testing 1

2 Recap - Graphic Models and Images Computer Graphics is the creation, storage, and manipulation of images and their models Model: a mathematical representation of an image containing the important properties of an object (location, size, orientation, color, texture, etc.) in data structures Rendering: Using the properties of the model to create an image to display on the screen Image: the rendered model Model Rendering Image 2.7 Graphics Hit-testing 2

3 Recap - Shape Model an array of points: {P 1, P 2,, P n } isclosed flag (shape is polyline or polygon) isfilled flag (polygon is filled or not) (and stroke thickness, colours, etc.) 2.7 Graphics Hit-testing 3

4 Implementing Direct Manipulation Objective: test when a rendered shape is selected - could be a filled or outlined polygon or a polyline - selections that just miss the shape should snap to shape Tasks: - create a model of the shape - draw it - choose a selection paradigm - implement shape hit tests - respond to events 2.7 Graphics Hit-testing 4

5 Selection Paradigms Hit-test selection - open shapes like lines and polyline use edge hit-test - closed shapes like rectangles, and polygons use inside hit-test Alternate approaches we won t cover: - Rubberband rectangle - Lasso 2.7 Graphics Hit-testing 5

6 Linear Algebra: Affine Space s v P a scalar: a single value (real number) a vector: directed line segment (direction and magnitude) a point: a fixed location in space (represents a position) Legal operations: vector + vector: v 1 + v 2 = v 3 vector multiplied by scalar: v 1 x s 1 = v 4 point minus point: P 1 P 2 = v 5 point + vector: P 2 + v 5 = P 1 Two ways to multiply vector by vector, dot (inner) product: v 1 v 2 = s 2 cross (outer) product: v 1 x v 2 = v Graphics Hit-testing 6

7 Line Segment Hit-test a line model has no thickness pick a threshold distance from mouse position to line point to line distance can be computed using vector projection (blackboard ) 2.7 Graphics Hit-testing 7

8 ClosestPoint.java // find closest point using projection method static Point2d closestpoint(point2d M, Point2d P0, Point2d P1) { Vector2d v = new Vector2d(); v.sub(p1,p0); // v = P2 - P1 // early out if line is less than 1 pixel long if (v.lengthsquared() < 0.5) return P0; Vector2d u = new Vector2d(); u.sub(m,p0); // u = M - P1 } // scalar of vector projection... double s = u.dot(v) / v.dot(v); // find point for constrained line segment if (s < 0) return P0; else if (s > 1) return P1; else { Point2d I = P0; Vector2d w = new Vector2d(); w.scale(s, v); // w = s * v I.add(w); // I = P1 + w return I; } 2.7 Graphics Hit-testing 8

9 ClosestPointDemo.java // get distance using Java2D method double d2 = Line2D.ptSegDist(P0.x, P0.y, P1.x, P1.y, M.x, M.y); 2.7 Graphics Hit-testing 9

10 Polyline and Multiple Polyline Hit-testing a polyline is just many line segments check distance from every every polyline to mouse position - how can this be optimized? (blackboard ) 2.7 Graphics Hit-testing 10

11 Rectangle Shape Hit-Test assume axis-aligned rectangle shape useful as a bounding box (blackboard ) 2.7 Graphics Hit-testing 11

12 Mouse Inside Polygon Test is a point inside or outside a polygon? approach: find intersection points of horizontal line with polygon (can be optimized ) need special case test when horizontal line passes through end of line segments need a line-line intersection routine (blackboard ) 2.7 Graphics Hit-testing 12

13 PolygonHittest.java public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2 = (Graphics2D) g; if (poly.contains(m.x, M.y)) g2.setcolor(color.blue); else g2.setcolor(color.red); g2.fillpolygon(poly); } g2.setcolor(color.black); g.drawpolyline(poly.xpoints, poly.ypoints, poly.npoints); 2.7 Graphics Hit-testing 13

14 Hit-testing with Transformed Shapes Mouse and shape model are in different coordinate systems Two options for hit testing: 1. Transform shape model to mouse coordinates 2. Transform mouse to shape model coordinates p (0,0) x shape model coordinates p mouse coordinates y A p m m 2.7 Graphics Transformations 14

15 Transform Shape Model to Mouse Coordinates Have to transform every point and/or parameter in shape model before running each hit-test algorithm - extra memory, lots of extra calculation p (0,0) x shape model coordinates mouse coordinates y p = A p m 2.7 Graphics Transformations 15

16 Transform Mouse to Shape Model Coordinates Only one point to transform Need to adjust hit-test threshold - e.g. 3 pixels in mouse coords. is how far in model coords? - what if non-uniform scale? Computing inverse can be costly p (0,0) x shape model coordinates mouse coordinates y m = A -1 m A p m 2.7 Graphics Transformations 16

17 TransformHittest.java Canvas () { // create transformation matrix for shape1 AT1 = new AffineTransform(); AT1.translate(350, 100); AT1.rotate(Math.toRadians(30)); // create another transformation matrix for shape2 AT2 = new AffineTransform(); AT2.translate(200, 300); AT2.rotate(Math.toRadians(30)); AT2.scale(2, 2); } public void paintcomponent(graphics g) { // Shape1 g2.settransform(at1); // Use matrix AT1 g2.setcolor(color.red); g2.drawpolygon(shape.xpoints, shape.ypoints, shape.npoints); // Shape2 g2.settransform(at2); // Use matrix AT2 g2.setcolor(color.blue); g2.drawpolygon(shape.xpoints, shape.ypoints, shape.npoints); } 2.7 Graphics Hit-testing 17

18 TransformHittest.java public void paintcomponent(graphics g) { // hit testing Point MT = new Point(); // create an inverse matrix of AT1 AffineTransform IAT1 = AT1.createInverse(); // apply the inverse transformation to the mouse position IAT1.transform(M, MT); } // Hit test with transformed mouse position if (shape.contains(mt.x, MT.y)) g2.setcolor(color.red); else g2.setcolor(color.white); g2.fillpolygon(shape); 2.7 Graphics Hit-testing 18

2D Graphics. Shape Models, Drawing, Selection. CS d Graphics 1

2D Graphics. Shape Models, Drawing, Selection. CS d Graphics 1 2D Graphics Shape Models, Drawing, Selection 1 Graphic Models vs. Images Computer Graphics: the creation, storage, and manipulation of images and their models Model: a mathematical representation of an

More information

2D Graphics. Shape Models, Drawing, Selection. CS d Graphics 1

2D Graphics. Shape Models, Drawing, Selection. CS d Graphics 1 2D Graphics Shape Models, Drawing, Selection 1 Graphic Models vs. Images Computer Graphics: the creation, storage, and manipulation of images and their models Model: a mathematical representation of an

More information

Java 2D Graphics. Drawing Primitives, Affine Transformations, Scene Graphs, Hit Tests. Drawing Primitives 2/9/2014. Using it is simple.

Java 2D Graphics. Drawing Primitives, Affine Transformations, Scene Graphs, Hit Tests. Drawing Primitives 2/9/2014. Using it is simple. Java 2D Graphics Drawing Primitives, Affine Transformations, Scene Graphs, Hit Tests Drawing Primitives Graphics - Abstract Base Class that supports basic drawing and rendering - Conceptually sim. to WatGUI

More information

Affine Transformations. Transforming shape models Combining affine transformations Scene graphs, interactor trees Hit tests on transformed shapes

Affine Transformations. Transforming shape models Combining affine transformations Scene graphs, interactor trees Hit tests on transformed shapes Affine Transformations Transforming shape models Combining affine transformations Scene graphs, interactor trees Hit tests on transformed shapes Reacll: Shape Models We can think of widgets as shape models

More information

Graphics Transformations

Graphics Transformations Graphics Transformations Translate, Scale, Rotate Homogeneous Coordinates Affine Transformation Matrices Combining Transformations Shape Model Class 2.7 Graphics Transformations 1 Positioning Shapes Translate

More information

Affine Transformation. Edith Law & Mike Terry

Affine Transformation. Edith Law & Mike Terry Affine Transformation Edith Law & Mike Terry Graphic Models vs. Images Computer Graphics: the creation, storage and manipulation of images and their models Model: a mathematical representation of an image

More information

(C) 2010 Pearson Education, Inc. All rights reserved. Omer Boyaci

(C) 2010 Pearson Education, Inc. All rights reserved. Omer Boyaci Omer Boyaci A sprite must monitor the game environment, for example, reacting to collisions with different sprites or stopping when it encounters an obstacle. Collision processing can be split into two

More information

Graphics (Output) Primitives. Chapters 3 & 4

Graphics (Output) Primitives. Chapters 3 & 4 Graphics (Output) Primitives Chapters 3 & 4 Graphic Output and Input Pipeline Scan conversion converts primitives such as lines, circles, etc. into pixel values geometric description a finite scene area

More information

Principles of Computer Game Design and Implementation. Lecture 6

Principles of Computer Game Design and Implementation. Lecture 6 Principles of Computer Game Design and Implementation Lecture 6 We already knew Game history game design information Game engine 2 What s Next Mathematical concepts (lecture 6-10) Collision detection and

More information

Lecture 5 2D Transformation

Lecture 5 2D Transformation Lecture 5 2D Transformation What is a transformation? In computer graphics an object can be transformed according to position, orientation and size. Exactly what it says - an operation that transforms

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Applications of Integration. Copyright Cengage Learning. All rights reserved.

Applications of Integration. Copyright Cengage Learning. All rights reserved. Applications of Integration Copyright Cengage Learning. All rights reserved. Volume: The Shell Method Copyright Cengage Learning. All rights reserved. Objectives Find the volume of a solid of revolution

More information

Tutorial 14b: Advanced polygonal modeling

Tutorial 14b: Advanced polygonal modeling Tutorial 14b: Advanced polygonal modeling Table of Contents................................... 3 2 Download items Tutorial data Tutorial PDF Part 1: Polygonal Modeling Note that you can also find a video

More information

REVIT ARCHITECTURE 2016

REVIT ARCHITECTURE 2016 Page 1 of 6 REVIT ARCHITECTURE 2016 Revit Architecture 2016: CREATE A CHAMFERED COLUMN COMPONENT About creating a chamfered column family typical to the Victorian cottage style. Add the column to your

More information

1 Preview. Dr. Scott Gordon Computer Science Dept. CSUS. Virtual Cameras, Viewing Transformations: CSc-155 Advanced Computer Graphics

1 Preview. Dr. Scott Gordon Computer Science Dept. CSUS. Virtual Cameras, Viewing Transformations: CSc-155 Advanced Computer Graphics CSc-155 Advanced Computer Graphics 1 Preview Dr. Scott Gordon Computer Science Dept. CSUS Course Description Modeling, viewing, and rendering techniques in 3D computer graphics systems. Topics include:

More information

Image Warping, Linear Algebra CIS581

Image Warping, Linear Algebra CIS581 Image Warping, Linear Algebra CIS581 From Plane to Plane Degree of freedom Translation: # correspondences? How many correspondences needed for translation? How many Degrees of Freedom? What is the transformation

More information

Vector Algebra Transformations. Lecture 4

Vector Algebra Transformations. Lecture 4 Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures

More information

3ds Max Cottage Step 1. Always start out by setting up units: We re going with this setup as we will round everything off to one inch.

3ds Max Cottage Step 1. Always start out by setting up units: We re going with this setup as we will round everything off to one inch. 3ds Max Cottage Step 1 Always start out by setting up units: We re going with this setup as we will round everything off to one inch. File/Import the CAD drawing Be sure Files of Type is set to all formats

More information

CS559 Computer Graphics Fall 2015

CS559 Computer Graphics Fall 2015 CS559 Computer Graphics Fall 2015 Practice Midterm Exam Time: 2 hrs 1. [XX Y Y % = ZZ%] MULTIPLE CHOICE SECTION. Circle or underline the correct answer (or answers). You do not need to provide a justification

More information

Building Java Programs

Building Java Programs Building Java Programs Graphics Reading: Supplement 3G Objects (briefly) object: An entity that contains data and behavior. data: variables inside the object behavior: methods inside the object You interact

More information

Computer Graphics. Lecture 9 Environment mapping, Mirroring

Computer Graphics. Lecture 9 Environment mapping, Mirroring Computer Graphics Lecture 9 Environment mapping, Mirroring Today Environment Mapping Introduction Cubic mapping Sphere mapping refractive mapping Mirroring Introduction reflection first stencil buffer

More information

Ray Tracing Part 1. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar & Kevin Gibson

Ray Tracing Part 1. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar & Kevin Gibson Ray Tracing Part 1 CSC418/2504 Introduction to Computer Graphics TA: Muhammed Anwar & Kevin Gibson Email: manwar@cs.toronto.edu Overview Introduction / Motivation Rasterization vs Ray Tracing Basic Pseudocode

More information

Overview. Java2D. Graphics in Java2D: Colour Images Fonts. The bigger picture of Java Graphics: Java Advanced Imaging (JAI) API Java3D

Overview. Java2D. Graphics in Java2D: Colour Images Fonts. The bigger picture of Java Graphics: Java Advanced Imaging (JAI) API Java3D Graphics in Java2D: Colour Images Fonts Overview The bigger picture of Java Graphics: Java Advanced Imaging (JAI) API Java3D The bigger picture of Java multimedia ITNP80: Multimedia 1 ITNP80: Multimedia

More information

Building Java Programs

Building Java Programs Building Java Programs Graphics reading: Supplement 3G videos: Ch. 3G #1-2 Objects (briefly) object: An entity that contains data and behavior. data: Variables inside the object. behavior: Methods inside

More information

Illustrator Domains 1-4: Getting to Know Your Workspace. Dreamweaver Domain 3

Illustrator Domains 1-4: Getting to Know Your Workspace. Dreamweaver Domain 3 Illustrator Domains 1-4: Getting to Know Your Workspace 1 Lesson 1: Getting to Know the Work Area Toolbar Fly-out menus for hidden tools Panels Can be opened, closed, docked, or hide all (Tab) Like your

More information

Topic 9 More Graphics. Based on slides bu Marty Stepp and Stuart Reges from

Topic 9 More Graphics. Based on slides bu Marty Stepp and Stuart Reges from Topic 9 More Graphics Based on slides bu Marty Stepp and Stuart Reges from http://www.buildingjavaprograms.com/ Clicker Question What happens if a graphics object is used to draw a shape that exceeds the

More information

Rasterization, or What is glbegin(gl_lines) really doing?

Rasterization, or What is glbegin(gl_lines) really doing? Rasterization, or What is glbegin(gl_lines) really doing? Course web page: http://goo.gl/eb3aa February 23, 2012 Lecture 4 Outline Rasterizing lines DDA/parametric algorithm Midpoint/Bresenham s algorithm

More information

Data Representation in Visualisation

Data Representation in Visualisation Data Representation in Visualisation Visualisation Lecture 4 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Taku Komura Data Representation 1 Data Representation We have

More information

EXAMINATIONS 2016 TRIMESTER 2

EXAMINATIONS 2016 TRIMESTER 2 EXAMINATIONS 2016 TRIMESTER 2 CGRA 151 INTRODUCTION TO COMPUTER GRAPHICS Time Allowed: TWO HOURS CLOSED BOOK Permitted materials: Silent non-programmable calculators or silent programmable calculators

More information

create 2 new grid lines

create 2 new grid lines STEP 1: open your class-01 Project file _ go to Level 1 _ select grid line 1 _ type CO (copy) _ repeat for grid line 3 as shown in image 1 Architectural Column STEP 2: from the Ribbon under the Home tab

More information

Graphics and Interaction Rendering pipeline & object modelling

Graphics and Interaction Rendering pipeline & object modelling 433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering

More information

Computer Graphics Fundamentals. Jon Macey

Computer Graphics Fundamentals. Jon Macey Computer Graphics Fundamentals Jon Macey jmacey@bournemouth.ac.uk http://nccastaff.bournemouth.ac.uk/jmacey/ 1 1 What is CG Fundamentals Looking at how Images (and Animations) are actually produced in

More information

Solution Notes. COMP 151: Terms Test

Solution Notes. COMP 151: Terms Test Family Name:.............................. Other Names:............................. ID Number:............................... Signature.................................. Solution Notes COMP 151: Terms

More information

Drawing in 3D (viewing, projection, and the rest of the pipeline)

Drawing in 3D (viewing, projection, and the rest of the pipeline) Drawing in 3D (viewing, projection, and the rest of the pipeline) CS559 Spring 2016 Lecture 6 February 11, 2016 The first 4 Key Ideas 1. Work in convenient coordinate systems. Use transformations to get

More information

Transforms. COMP 575/770 Spring 2013

Transforms. COMP 575/770 Spring 2013 Transforms COMP 575/770 Spring 2013 Transforming Geometry Given any set of points S Could be a 2D shape, a 3D object A transform is a function T that modifies all points in S: T S S T v v S Different transforms

More information

3D Viewing. CS 4620 Lecture 8

3D Viewing. CS 4620 Lecture 8 3D Viewing CS 46 Lecture 8 13 Steve Marschner 1 Viewing, backward and forward So far have used the backward approach to viewing start from pixel ask what part of scene projects to pixel explicitly construct

More information

Captain America Shield

Captain America Shield Captain America Shield 1. Create a New Document and Set Up a Grid Hit Control-N to create a new document. Select Pixels from the Units drop-down menu, enter 600 in the width and height boxes then click

More information

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

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations Multimedia Systems 03 Vector Graphics 2D and 3D Graphics, Transformations Imran Ihsan Assistant Professor, Department of Computer Science Air University, Islamabad, Pakistan www.imranihsan.com Lectures

More information

Software System Components 1 Graphics

Software System Components 1 Graphics Software System Components 1 Graphics Shan He LECTURE 3 Introduction to Java 2D Graphics (II) 1.1. Outline of Lecture Review of what we learned Rendering Shapes 1.2. Review of what we learned Last lecture,

More information

Using Graphics. Building Java Programs Supplement 3G

Using Graphics. Building Java Programs Supplement 3G Using Graphics Building Java Programs Supplement 3G Introduction So far, you have learned how to: output to the console break classes/programs into static methods store and use data with variables write

More information

EXAMINATIONS 2017 TRIMESTER 2

EXAMINATIONS 2017 TRIMESTER 2 EXAMINATIONS 2017 TRIMESTER 2 CGRA 151 INTRODUCTION TO COMPUTER GRAPHICS Time Allowed: TWO HOURS CLOSED BOOK Permitted materials: Silent non-programmable calculators or silent programmable calculators

More information

Garfield AP CS. Graphics

Garfield AP CS. Graphics Garfield AP CS Graphics Assignment 3 Working in pairs Conditions: I set pairs, you have to show me a design before you code You have until tomorrow morning to tell me if you want to work alone Cumulative

More information

Programming Fundamentals

Programming Fundamentals Programming Fundamentals Lecture 03 Introduction to Löve 2D Edirlei Soares de Lima Computer Graphics Concepts What is a pixel? In digital imaging, a pixel is a single

More information

3D Rendering and Ray Casting

3D Rendering and Ray Casting 3D Rendering and Ray Casting Michael Kazhdan (601.457/657) HB Ch. 13.7, 14.6 FvDFH 15.5, 15.10 Rendering Generate an image from geometric primitives Rendering Geometric Primitives (3D) Raster Image (2D)

More information

Drawing in 3D (viewing, projection, and the rest of the pipeline)

Drawing in 3D (viewing, projection, and the rest of the pipeline) Drawing in 3D (viewing, projection, and the rest of the pipeline) CS559 Fall 2016 Lecture 6/7 September 26-28 2016 The first 4 Key Ideas 1. Work in convenient coordinate systems. Use transformations to

More information

Overview. Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections

Overview. Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections Overview Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections ITCS 4120/5120 1 Mathematical Fundamentals Geometric Transformations A set of tools that aid

More information

Adobe Illustrator CS Design Professional GETTING STARTED WITH ILLUSTRATOR

Adobe Illustrator CS Design Professional GETTING STARTED WITH ILLUSTRATOR Adobe Illustrator CS Design Professional GETTING STARTED WITH ILLUSTRATOR Chapter Lessons Create a new document Explore the Illustrator window Create basic shapes Apply fill and stroke colors to objects

More information

Lecture 11. More Ray Casting/Tracing

Lecture 11. More Ray Casting/Tracing Lecture 11 More Ray Casting/Tracing Basic Algorithm For each pixel { } Shoot a ray from camera to pixel for all objects in scene Compute intersection with ray Find object with closest intersection Display

More information

SHORTCUTS DRAW PERSONA

SHORTCUTS DRAW PERSONA SHORTCUTS DRAW PERSONA esc CANCEL OPERATION ± SHOW/HIDE TABS F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 1 2 3 4 5 6 7 8 9 0 200% 400% 800% ACTUAL PIXEL 10% 20% QUIT CLOSE RULERS CHAR- OUTLINE Q W E R T ACTER

More information

Building Java Programs

Building Java Programs Building Java Programs Supplement 3G: Graphics 1 drawing 2D graphics Chapter outline DrawingPanel and Graphics objects drawing and filling shapes coordinate system colors drawing with loops drawing with

More information

Constraint Based Modeling Geometric and Dimensional. ENGR 1182 SolidWorks 03

Constraint Based Modeling Geometric and Dimensional. ENGR 1182 SolidWorks 03 Constraint Based Modeling Geometric and Dimensional ENGR 1182 SolidWorks 03 Today s Objectives Using two different type of constraints in SolidWorks: Geometric Dimensional SW03 In-Class Activity List Geometric

More information

Visual C# Program: Simple Game 3

Visual C# Program: Simple Game 3 C h a p t e r 6C Visual C# Program: Simple Game 3 In this chapter, you will learn how to use the following Visual C# Application functions to World Class standards: Opening Visual C# Editor Beginning a

More information

The Department of Construction Management and Civil Engineering Technology CMCE-1110 Construction Drawings 1 Lecture Introduction to AutoCAD What is

The Department of Construction Management and Civil Engineering Technology CMCE-1110 Construction Drawings 1 Lecture Introduction to AutoCAD What is The Department of Construction Management and Civil Engineering Technology CMCE-1110 Construction Drawings 1 Lecture Introduction to AutoCAD What is AutoCAD? The term CAD (Computer Aided Design /Drafting)

More information

Objective Utilize appropriate tools and methods to produce digital graphics.

Objective Utilize appropriate tools and methods to produce digital graphics. INSTRUCTIONAL NOTES There are many similarities between Photoshop and Illustrator. We have attempted to place tools and commands in the context of where they are most effective or used most often. This

More information

creating files and saving for web

creating files and saving for web creating files and saving for web the template files assume a default image size of 300 x 300 pixels images intended for the web should be produced in rgb mode name your images in a logical format, so

More information

CHAPTER V IMPLEMENTATION AND TESTING

CHAPTER V IMPLEMENTATION AND TESTING CHAPTER V IMPLEMENTATION AND TESTING 5.1. Implementation This program will process the annual rings image in trunk which has been inputted by user. The process will change the image into grayscale, apply

More information

Linear Algebra Simplified

Linear Algebra Simplified Linear Algebra Simplified Readings http://szeliski.org/book/drafts/szeliskibook_20100903_draft.pdf -2.1.5 for camera geometry, -2.1.3, 2.1.4 for rotation representation Inner (dot) Product v w α 3 3 2

More information

Experimental Design and Graphical Analysis of Data

Experimental Design and Graphical Analysis of Data Experimental Design and Graphical Analysis of Data A. Designing a controlled experiment When scientists set up experiments they often attempt to determine how a given variable affects another variable.

More information

COMP3421. Vector geometry, Clipping

COMP3421. Vector geometry, Clipping COMP3421 Vector geometry, Clipping Transformations Object in model co-ordinates Transform into world co-ordinates Represent points in object as 1D Matrices Multiply by matrices to transform them Coordinate

More information

Rational Numbers: Graphing: The Coordinate Plane

Rational Numbers: Graphing: The Coordinate Plane Rational Numbers: Graphing: The Coordinate Plane A special kind of plane used in mathematics is the coordinate plane, sometimes called the Cartesian plane after its inventor, René Descartes. It is one

More information

Week 4 Part 2. Introduction to 2D Graphics & Java 2D

Week 4 Part 2. Introduction to 2D Graphics & Java 2D Week 4 Part 2 Introduction to 2D Graphics & Java 2D 2D graphics Vector graphics! Use of geometric primitives: points, lines, curves, etc.! Primitives are created by using mathematical equations! Can be

More information

Java Programming. Computer Science 112

Java Programming. Computer Science 112 Java Programming Computer Science 112 Recap: Swing You use Window Builder to put Widgets together on a Layout. User interacts with Widgets to produce Events. Code in the Client Listens for Events to know

More information

INKSCAPE BASICS. 125 S. Prospect Avenue, Elmhurst, IL (630) elmhurstpubliclibrary.org. Create, Make, and Build

INKSCAPE BASICS. 125 S. Prospect Avenue, Elmhurst, IL (630) elmhurstpubliclibrary.org. Create, Make, and Build INKSCAPE BASICS Inkscape is a free, open-source vector graphics editor. It can be used to create or edit vector graphics like illustrations, diagrams, line arts, charts, logos and more. Inkscape uses Scalable

More information

Chapter 1. Getting to Know Illustrator

Chapter 1. Getting to Know Illustrator Chapter 1 Getting to Know Illustrator Exploring the Illustrator Workspace The arrangement of windows and panels that you see on your monitor is called the workspace. The Illustrator workspace features

More information

1. Complete these exercises to practice creating user functions in small sketches.

1. Complete these exercises to practice creating user functions in small sketches. Lab 6 Due: Fri, Nov 4, 9 AM Consult the Standard Lab Instructions on LEARN for explanations of Lab Days ( D1, D2, D3 ), the Processing Language and IDE, and Saving and Submitting. Rules: Do not use the

More information

Education and Training CUFMEM14A. Exercise 2. Create, Manipulate and Incorporate 2D Graphics

Education and Training CUFMEM14A. Exercise 2. Create, Manipulate and Incorporate 2D Graphics Education and Training CUFMEM14A Exercise 2 Create, Manipulate and Incorporate 2D Graphics Menu Exercise 2 Exercise 2a: Scarecrow Exercise - Painting and Drawing Tools... 3 Exercise 2b: Scarecrow Exercise

More information

Assignment 6: Ray Tracing

Assignment 6: Ray Tracing Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.

More information

Create Text Inside a Shape with Photoshop CS6

Create Text Inside a Shape with Photoshop CS6 518 442-3608 Create Text Inside a Shape with Photoshop CS6 One of the cool features of Photoshop CS6 is the ability to fill a shape with text. The shape can be as simple as a standard rectangle or a complicated

More information

Pipeline and Rasterization. COMP770 Fall 2011

Pipeline and Rasterization. COMP770 Fall 2011 Pipeline and Rasterization COMP770 Fall 2011 1 The graphics pipeline The standard approach to object-order graphics Many versions exist software, e.g. Pixar s REYES architecture many options for quality

More information

Building Java Programs

Building Java Programs Building Java Programs Graphics reading: Supplement 3G videos: Ch. 3G #1-2 Objects (briefly) object: An entity that contains data and behavior. data: variables inside the object behavior: methods inside

More information

Einführung in Visual Computing

Einführung in Visual Computing Einführung in Visual Computing 186.822 Rasterization Werner Purgathofer Rasterization in the Rendering Pipeline scene objects in object space transformed vertices in clip space scene in normalized device

More information

EDITING SHAPES. Lesson overview

EDITING SHAPES. Lesson overview 3 CREATING AND EDITING SHAPES Lesson overview In this lesson, you ll learn how to do the following: Create a document with multiple artboards. Use tools and commands to create basic shapes. Work with drawing

More information

COMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting

COMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting Ray Casting COMP 175: Computer Graphics April 26, 2018 1/41 Admin } Assignment 4 posted } Picking new partners today for rest of the assignments } Demo in the works } Mac demo may require a new dylib I

More information

Rasterization and Graphics Hardware. Not just about fancy 3D! Rendering/Rasterization. The simplest case: Points. When do we care?

Rasterization and Graphics Hardware. Not just about fancy 3D! Rendering/Rasterization. The simplest case: Points. When do we care? Where does a picture come from? Rasterization and Graphics Hardware CS559 Course Notes Not for Projection November 2007, Mike Gleicher Result: image (raster) Input 2D/3D model of the world Rendering term

More information

GraphWorX64 Productivity Tips

GraphWorX64 Productivity Tips Description: Overview of the most important productivity tools in GraphWorX64 General Requirement: Basic knowledge of GraphWorX64. Introduction GraphWorX64 has a very powerful development environment in

More information

User Interaction. User Interaction. Input devices. Input devices. Input devices GUIs and GUI design Event-driven programming 3D interaction

User Interaction. User Interaction. Input devices. Input devices. Input devices GUIs and GUI design Event-driven programming 3D interaction User Interaction User Interaction Input devices GUIs and GUI design Event-driven programming 3D interaction CS 465 lecture 19 2003 Steve Marschner 1 2003 Steve Marschner 2 Input devices Input devices Discrete

More information

2D Design. Window. 3D Window. Toolpat h Operati ons. Navigation Homepage. Layer Managemen t. Component Manager. Modeling Tools

2D Design. Window. 3D Window. Toolpat h Operati ons. Navigation Homepage. Layer Managemen t. Component Manager. Modeling Tools Navigation Homepage Click on the region of the interface you are interested in to navigate to the relevant section of this manual. At the foot of each page is a Navigation Homepage link, click on this

More information

Warping & Blending AP

Warping & Blending AP Warping & Blending AP Operation about AP This AP provides three major functions including Warp, Edge Blending and Black Level. If the AP is already installed, please remove previous version before installing

More information

CS418 OpenGL & GLUT Programming Tutorial (IV) MP2 Bonus/Object Picking. Presented by : Wei-Wen Feng 2/20/2008

CS418 OpenGL & GLUT Programming Tutorial (IV) MP2 Bonus/Object Picking. Presented by : Wei-Wen Feng 2/20/2008 CS418 OpenGL & GLUT Programming Tutorial (IV) MP2 Bonus/Object Picking Presented by : Wei-Wen Feng 2/20/2008 MP2 MP2 is due next Mon. Try to get key parts done first Terrain Rendering with Texture Camera

More information

Loops. Variable Scope Remapping Nested Loops. Donald Judd. CS Loops 1. CS Loops 2

Loops. Variable Scope Remapping Nested Loops. Donald Judd. CS Loops 1. CS Loops 2 Loops Variable Scope Remapping Nested Loops CS105 05 Loops 1 Donald Judd CS105 05 Loops 2 judd while (expression) { statements CS105 05 Loops 3 Four Loop Questions 1. What do I want to repeat? - a rect

More information

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1 Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees Z-Buffer

More information

MET 107 Drawing Tool (Shapes) Notes Day 3

MET 107 Drawing Tool (Shapes) Notes Day 3 MET 107 Drawing Tool (Shapes) Notes Day 3 Shapes: (Insert Tab Shapes) Example: Select on the rounded rectangle Then use the mouse to position the upper left corner and produce the size by dragging out

More information

Drawing in 3D (viewing, projection, and the rest of the pipeline)

Drawing in 3D (viewing, projection, and the rest of the pipeline) Drawing in 3D (viewing, projection, and the rest of the pipeline) CS559 Spring 2017 Lecture 6 February 2, 2017 The first 4 Key Ideas 1. Work in convenient coordinate systems. Use transformations to get

More information

Graphic Design & Digital Photography. Photoshop Basics: Working With Selection.

Graphic Design & Digital Photography. Photoshop Basics: Working With Selection. 1 Graphic Design & Digital Photography Photoshop Basics: Working With Selection. What You ll Learn: Make specific areas of an image active using selection tools, reposition a selection marquee, move and

More information

Module 5: Creating Sheet Metal Transition Piece Between a Square Tube and a Rectangular Tube with Triangulation

Module 5: Creating Sheet Metal Transition Piece Between a Square Tube and a Rectangular Tube with Triangulation 1 Module 5: Creating Sheet Metal Transition Piece Between a Square Tube and a Rectangular Tube with Triangulation In Module 5, we will learn how to create a 3D folded model of a sheet metal transition

More information

Hidden surface removal. Computer Graphics

Hidden surface removal. Computer Graphics Lecture Hidden Surface Removal and Rasterization Taku Komura Hidden surface removal Drawing polygonal faces on screen consumes CPU cycles Illumination We cannot see every surface in scene We don t want

More information

public void paintcomponent(graphics g) { Graphics2D g2 = (Graphics2D)g;... }

public void paintcomponent(graphics g) { Graphics2D g2 = (Graphics2D)g;... } 6.1 RANDERING The original JDK 1.0 had a very simple mechanism for drawing shapes. You select color and paint mode, and call methods of the Graphics class such as drawrect or filloval. The Java 2D API

More information

Generating Vectors Overview

Generating Vectors Overview Generating Vectors Overview Vectors are mathematically defined shapes consisting of a series of points (nodes), which are connected by lines, arcs or curves (spans) to form the overall shape. Vectors can

More information

OpenGL: A Practical Introduction. (thanks, Mark Livingston!)

OpenGL: A Practical Introduction. (thanks, Mark Livingston!) OpenGL: A Practical Introduction (thanks, Mark Livingston!) Outline What is OpenGL? Auxiliary libraries Basic code structure Rendering Practical hints Virtual world operations OpenGL Definitions Software

More information

Overview: The Map Window

Overview: The Map Window Overview: The Map Window The Map Menu Map Window Tools and Controls Map Drawing Tools Clipboard Commands Undoing Edits Overview: The Map Window The MFworks Map window is a powerful facility for the visualization

More information

Computer Graphics and Linear Algebra Rebecca Weber, 2007

Computer Graphics and Linear Algebra Rebecca Weber, 2007 Computer Graphics and Linear Algebra Rebecca Weber, 2007 Vector graphics refers to representing images by mathematical descriptions of geometric objects, rather than by a collection of pixels on the screen

More information

3DS Max Tutorial Surface, Shell, Editable Mesh and Mesh Smooth.

3DS Max Tutorial Surface, Shell, Editable Mesh and Mesh Smooth. 3DS Max Tutorial Surface, Shell, Editable Mesh and Mesh Smooth. This is a tutorial that shows how to use the 3D Studio Max modifiers Surface and Shell and how to work with meshes. To start with you really

More information

Paint by Numbers and Comprehensible Rendering of 3D Shapes

Paint by Numbers and Comprehensible Rendering of 3D Shapes Paint by Numbers and Comprehensible Rendering of 3D Shapes Prof. Allison Klein Announcements Sign up for 1 st presentation at end of class today Undergrads: Thinking about grad school? Still here over

More information

When dragging out a marquee: Shift toggles the corner selection

When dragging out a marquee: Shift toggles the corner selection VECTORSCRIBE DYNAMIC CORNERS When dragging out a marquee: Esc cancels the marquee When dragging out a marquee: Shift toggles the corner selection When dragging out a marquee: Option+Alt adds corners to

More information

CS452/552; EE465/505. Geometry Transformations

CS452/552; EE465/505. Geometry Transformations CS452/552; EE465/505 Geometry Transformations 1-26-15 Outline! Geometry: scalars, points & vectors! Transformations Read: Angel, Chapter 4 (study cube.html/cube.js example) Appendix B: Spaces (vector,

More information

Project report Augmented reality with ARToolKit

Project report Augmented reality with ARToolKit Project report Augmented reality with ARToolKit FMA175 Image Analysis, Project Mathematical Sciences, Lund Institute of Technology Supervisor: Petter Strandmark Fredrik Larsson (dt07fl2@student.lth.se)

More information

Open GL Framework For A Computer Graphics Course

Open GL Framework For A Computer Graphics Course Open GL Framework For A Computer Graphics Course Programmer: Daniel Odle Sponsor / Advisor: Dr. Morse University of Evansville 4-26-03 Table of Contents Introduction 3 Statement of Problem 3 Design Approach

More information

CoderDojo Athenry Code and notes by Martha Fahy, 2017

CoderDojo Athenry Code and notes by Martha Fahy, 2017 CoderDojo Athenry Code and notes by Martha Fahy, 2017 CoderDojo Athenry "Above all, be cool" Every week: Sign in at the door If you are new: Fill in Registration Form Ask a Mentor how to get started Make

More information

VANSTEENKISTE LEO DAE GD ENG UNFOLD SHADER. Introduction

VANSTEENKISTE LEO DAE GD ENG UNFOLD SHADER. Introduction VANSTEENKISTE LEO 2015 G E O M E T RY S H A D E R 2 DAE GD ENG UNFOLD SHADER Introduction Geometry shaders are a powerful tool for technical artists, but they always seem to be used for the same kind of

More information

Topic 8 graphics. -mgrimes, Graphics problem report 134

Topic 8 graphics. -mgrimes, Graphics problem report 134 Topic 8 graphics "What makes the situation worse is that the highest level CS course I've ever taken is cs4, and quotes from the graphics group startup readme like 'these paths are abstracted as being

More information