SUMMARY. CS380: Introduction to Computer Graphics Track-/Arc-ball Chapter 8. Min H. Kim KAIST School of Computing 18/04/06.
|
|
- Bonnie Lawson
- 5 years ago
- Views:
Transcription
1 8/4/6 CS38: Introduction to Computer Graphics Track-/Arc-ball Chapter 8 Min H. Kim KAIST School of Computing Quaternion SUMMARY 2
2 8/4/6 Unit norm quats. == rotations Squared norm is sum of 4 squares. Any quaternion of the form cos θ 2 cos θ sin θ 2 2 x sin θ = sin θ 2 2 y sin θ 2 z has a unit form Conversely, any such unit norm quaternion can be interpreted (along with its negation as a unique rotation matrix. ω ĉ = ω 2 + x 2 + y 2 + z 2, ĉ =[x, y,z] t ˆk = ω ĉ 3 Operations Quat * quat multiply ω ĉ ω 2 ĉ 2 = (ω ω 2 ĉ ĉ 2 (ω ĉ 2 + ω 2 ĉ + ĉ ĉ 2 Where and are the dot and cross product on 3 dimensional coordinate vectors. Correctly models (rotation matrix * (rotation matrix multiplications Trackball example: M = Matrix4::makeXRotation(-dy * Matrix4::makeYRotation(dx; 4 2
3 8/4/6 3 Unit norm quats Identity rotation example Flip rotation example Unit quaternion multiplication 5 ˆ, ˆ ˆk, ˆk ĉ ĉ 2 = ĉ ĉ 2 ĉ ĉ 2 ˆk ˆk 2 ˆk ˆk 2 = ˆk 2 ˆk Operations scalar * quat multiply NB Quaternions q and q are the same rotation!!! Unit quaternion multiplicative inverse (conjugate 6 cos θ 2 sin θ 2 = cos θ 2 sin θ 2, ˆ = cos θ 2 sin θ 2 cos θ 2 sin θ 2 α ω ĉ = αω αĉ, example - ω ĉ = ω ĉ
4 8/4/6 Rotate a vector by a unit quaternion Perform the following triple quaternion multiplication: cos θ cos θ q 2 = v' 2 cˆʹ sin θ ĉ sin θ 2 v 2 v'= qvq We need inv(q additionally, such that q and v are not orthogonal! If q and v are orthogonal, v =qv. ĉ ĉ 2 (ω ĉ 2 +ω 2 ĉ +ĉ ĉ 2 If we just multiply q with v, qv cannot become a vector (the first element will be non-zero. The additional right multiplication of inverse allows us to get a rotated vector. But we will write this in code as: cvec = quat * cvec ω ω 2 = (ω ω 2 ĉ ĉ 2 7 LERP (Linear Interpolation An even easier hack is to do 4D Linear interpolation (LERP and renormalization a α p p = a +α(b a p = a +α! v (-α p = ( αa +αb! v b cos θ cos θ ( α sin θ + α sin θ 8 4
5 8/4/6 Power-based SLERP Spherical Linear Interpolation α (-α a p α p! v p = a +α(b a! v b q p =! vq = rq q! v = rq cos θ! v = sin θ α v! = α θ = αθ 2 r p = v! α q = ( rq α q cos αθ! 2 v α = sin αθ 2 p = a +α! v p = ( αa +αb 9 Power-based SLERP cn(: ω ĉ In order to select the short interpolation of less than 8 degrees, When we interpolate, before calling the power operator, we first check the sign of the first coordinate, and conditionally negate the quaternion. We call this the conditional negation operator Quaternions q and q are the same rotation!!! Finally, we output: cos θ cos θ cn sin θ sin θ α cos θ sin θ = ω ĉ [ ω, ĉ] [ω,ĉ] 5
6 8/4/6 Sphere-based SLERPing In any dimension n, a trigonometric argument can be used to show that spherical linear interpolation between any two unit vectors in! n, can be calculated as: sin[( α Ω] sin(ω sin[( αω]! v sin(ω + sin[αω]! sin(ω where Ω = cos (! v! v cos θ sin θ + sin[αω] sin(ω v cos θ sin θ (RBT * RBT and inv(rbt The result is a new rigid transform with translation t + r t 2 and rotation r r 2 Use this to code up the * operator. Mind the Cvec3s (the t s and Cvec4s (needed for q*v. i t r i t 2 r 2 = 3D vector i t + r t 2 4D vector r r 2 i t r = i r t r 2 6
7 8/4/6 More code In GLSL, you will still use its matrix data type. The only Matrix4s (that will survive are the projmatrix, the MVM and the NMVM, which get sent to your shaders. Also, when we need to do object scaling, we cannot capture this in an RigTform, so this will also be an Matrix4 used in creating the MVM. To communicate with the vertex shader using 4- by-4 matrices, we need a procedure maketranslation(rigtform and Matrix4 quattomatrix (RigTform to use T * R, which turns quaternions into a 4-by-4 rotation matrix. 3 Chapter 8 BALLS: TRACK AND ARC 4 7
8 8/4/6 Track and arc balls How should we link mouse motion to object rotation Can do better than our current setup Want the feeling of pushing a sphere around (trackball Want path invariance (arcball Reminders: Affine transform: A affine = TL Rigid body transform: A RBT = TR 5 Track and arc balls 6 8
9 8/4/6 Setup We are moving an object with respect to cubeeye a t = w t (O T (E R The user clicks on the screen and drags the mouse. We wish to interpret this user motion as some rotation M that is applied to o t with respect to a t 7 Mental model Imagine a sphere of some chosen radius that is centered at o, the origin of o t. User clicks on the screen at screen pixel s over the sphere in the image We interpret this as the user selecting some 3D point p on the sphere. The user then moves the mouse to other screen pixel over the s sphere, (!p We interpret as a second point p 2 on the sphere 8 9
10 8/4/6 Mental model Define the unit direction vectors v, v 2 : normalize ( p o and normalize ( p 2 o respectively. Define the angle φ = arccos( v v 2 Define the axis k = normalize( v v 2 s (!p 9 Mental model Let s try to formulate the rotation about the axis k can be represented by the quaternion. Where ˆk, ˆv, ˆv 2 are the coordinates 3-vectors representing the vectors k, v, v 2 with respect to the frame a t. s (!p 2
11 8/4/6 Ball rotation using quaternions What we want Derivation Therefore! v 2 = q! v, q =! v 2! v such that q and! v are orthogonal, and q and! v 2 are orthogonal. ˆv 2 ˆv = ˆv ˆv 2 ˆv ˆv = cos(φ 2 sin(φˆk cos θ 2 cos(φ q = sin θ = sin(φˆk. 2 s (!p φ = θ 2, θ =2φ. 2 Ball rotation using quaternions Rotation of 2φ degrees about the axis k can be represented by the quaternion. cos(φ sin(φˆk = ˆv ˆv 2 ˆv ˆv 2 ˆk, ˆv, ˆv 2 Where are the coordinates 3-vectors representing the vectors with respect to the frame. = ˆv 2 ˆv k, v, v 2 a t s (!p 22
12 8/4/6 Ball rotation using quaternions Arcball: M is the rotation of 2φ degrees about the axis k. Trackball: is the rotation of φ degrees about M the axis k. Could be implemented with matrices or quaternions. Arcball is very easy with quaternions s (!p 23 Properties Trackball feels like the user is simply grabbing a physical point on a sphere and dragging it around. But s to, followed by to s 3 is different from moving directly from s to s 3 p will be rotated to p 3, but the results can differ by some twist about the axis o p 3. This path dependence also exists in our simple rotation interface. s (!p Arcball: the object appears to spin twice faster than expected. s 3 (!p
13 8/4/6 Arcball is Path independent If we compose two arcball rotations, corresponding to motion from p to p 2 followed by motion from p to p 2, we get 3 ˆv 2 ˆv 3 ˆv ˆv 2 ˆv 2 ˆv 3 ˆv ˆv 2 Read right to left, global in the unchanging a t frame ˆv 3 ˆv 2 ˆv 2 ˆv = ˆv 3 ˆv = ˆv ˆv 3 ˆv ˆv 3 which is exactly what we would have gotten had we moved directly from to. p p 3 25 Implementation Trackball and Arcball can be directly implemented using either 4-by-4 matrices or quaternions to represent the transformation M. We will use quaternions, since we already have them. The resulting quaternion depends only on vector ˆv So origin of frame is irrelevant We can work in eye coordinates instead of cubeeye. 26 3
14 8/4/6 Getting eye coordinates One slightly tricky part is computing the coordinates of the point on the sphere corresponding to a selected pixel This is geometric ray tracing (this is essentially raytracing, which we will cover later Hack: work in window coordinates X-axis is the horizontal axis of the screen, the y-axis is the vertical axis of the screen, and the z-axis is coming out of the screen. s (!p Think of the sphere s center as simply sitting on the screen. 27 Getting eye coordinates Given the (x,y window coordinates of click, the z coordinate on the sphere can be solved using (x c x 2 + (y c y 2 + (z 2 = r 2 z = r 2 (x c x 2 (y c y 2 [c x,c y,] t are the window coordinates of the center of the sphere r is the radius of the sphere measured in pixels if outside of the sphere, then clamp to its boundary All we need is normalized ˆv, so just normalized such vectors s (!p 28 4
15 8/4/6 Calculation Need the center of the sphere So we give you code that transforms eye coordinates to screen coordinates Cvec2 getscreenspacecoord(const Cvec3& p, const Matrix4& projection, double frustnear, double frustfovy, int screenwidth, int screenheight We draw the ball using object coordinates, so we need to calculate its size in eye/object coordinates So we provide you with double getscreentoeyescale(double z, double frustfovy, int screenheight In the ball drawer, you right multiply a scale matrix to the MVM 29 Translation NB the distance after perspective projection should be different from the distance in the object coordinates. In translation, we interpret mouse displacement (measured in pixels to object displacement. May as well use the same screentoeyescale factor so the object moves with the mouse Once the object is moved, or we change the eye we need to recalculate the scale Wait for click up. 3 5
CS354 Computer Graphics Rotations and Quaternions
Slide Credit: Don Fussell CS354 Computer Graphics Rotations and Quaternions Qixing Huang April 4th 2018 Orientation Position and Orientation The position of an object can be represented as a translation
More informationGraphics and Interaction Transformation geometry and homogeneous coordinates
433-324 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation
More informationAnimation Curves and Splines 2
Animation Curves and Splines 2 Animation Homework Set up Thursday a simple avatar E.g. cube/sphere (or square/circle if 2D) Specify some key frames (positions/orientations) Associate Animation a time with
More informationCOMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates
COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation
More informationAnimation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation
Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate
More informationOrientation & Quaternions
Orientation & Quaternions Orientation Position and Orientation The position of an object can be represented as a translation of the object from the origin The orientation of an object can be represented
More informationSUMMARY. CS380: Introduction to Computer Graphics Projection Chapter 10. Min H. Kim KAIST School of Computing 18/04/12. Smooth Interpolation
CS38: Introduction to Computer Graphics Projection Chapter Min H. Kim KAIST School of Computing Smooth Interpolation SUMMARY 2 Cubic Bezier Spline To evaluate the function c(t) at any value of t, we perform
More informationTransformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
Transformations Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Angel: Interactive Computer Graphics 4E Addison-Wesley 25 1 Objectives
More informationRotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops)
Cornell University CS 569: Interactive Computer Graphics Rotations (and other transformations) Lecture 4 2008 Steve Marschner 1 Rotation as rotation matrix 9 floats orthogonal and unit length columns and
More informationComputer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics
Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control
More informationLab 2A Finding Position and Interpolation with Quaternions
Lab 2A Finding Position and Interpolation with Quaternions In this Lab we will learn how to use the RVIZ Robot Simulator, Python Programming Interpreter and ROS tf library to study Quaternion math. There
More informationGeometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation
Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation and the type of an object. Even simple scaling turns a
More informationHomework #1. Displays, Alpha Compositing, Image Processing, Affine Transformations, Hierarchical Modeling
Computer Graphics Instructor: Brian Curless CSE 457 Spring 2014 Homework #1 Displays, Alpha Compositing, Image Processing, Affine Transformations, Hierarchical Modeling Assigned: Saturday, April th Due:
More information521493S Computer Graphics Exercise 2 Solution (Chapters 4-5)
5493S Computer Graphics Exercise Solution (Chapters 4-5). Given two nonparallel, three-dimensional vectors u and v, how can we form an orthogonal coordinate system in which u is one of the basis vectors?
More informationAnimation and Quaternions
Animation and Quaternions Partially based on slides by Justin Solomon: http://graphics.stanford.edu/courses/cs148-1-summer/assets/lecture_slides/lecture14_animation_techniques.pdf 1 Luxo Jr. Pixar 1986
More informationAdvanced Computer Graphics Transformations. Matthias Teschner
Advanced Computer Graphics Transformations Matthias Teschner Motivation Transformations are used To convert between arbitrary spaces, e.g. world space and other spaces, such as object space, camera space
More informationAnimation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape
More informationVisual Recognition: Image Formation
Visual Recognition: Image Formation Raquel Urtasun TTI Chicago Jan 5, 2012 Raquel Urtasun (TTI-C) Visual Recognition Jan 5, 2012 1 / 61 Today s lecture... Fundamentals of image formation You should know
More information2D Object Definition (1/3)
2D Object Definition (1/3) Lines and Polylines Lines drawn between ordered points to create more complex forms called polylines Same first and last point make closed polyline or polygon Can intersect itself
More informationIMAGE-BASED RENDERING AND ANIMATION
DH2323 DGI17 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION IMAGE-BASED RENDERING AND ANIMATION Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters
More informationTransformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science
Transformations CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive
More informationobject (say a cube) will be made up of triangles, each with three vertices, each with known object coordinates.
hello world 3d: basic approach object (say a cube) will be made up of triangles, each with three vertices, each with known object coordinates. object coordinates of vertices will be put in an OpenGL buffer
More informationGame Programming. Bing-Yu Chen National Taiwan University
Game Programming Bing-Yu Chen National Taiwan University Character Motion Hierarchical Modeling Character Animation Motion Editing 1 Hierarchical Modeling Connected primitives 2 3D Example: A robot arm
More informationFundamentals of Computer Animation
Fundamentals of Computer Animation Quaternions as Orientations () page 1 Multiplying Quaternions q1 = (w1, x1, y1, z1); q = (w, x, y, z); q1 * q = ( w1.w - v1.v, w1.v + w.v1 + v1 X v) where v1 = (x1, y1,
More informationEECE 478. Learning Objectives. Learning Objectives. Linear Algebra and 3D Geometry. Linear algebra in 3D. Coordinate systems
EECE 478 Linear Algebra and 3D Geometry Learning Objectives Linear algebra in 3D Define scalars, points, vectors, lines, planes Manipulate to test geometric properties Coordinate systems Use homogeneous
More informationInteractive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing
Interactive Computer Graphics Aliasing and Anti-Aliasing Hearn & Baker, chapter 4-7 D transforms Hearn & Baker, chapter 5 Aliasing and Anti-Aliasing Problem: jaggies Also known as aliasing. It results
More informationGEOMETRIC TRANSFORMATIONS AND VIEWING
GEOMETRIC TRANSFORMATIONS AND VIEWING 2D and 3D 1/44 2D TRANSFORMATIONS HOMOGENIZED Transformation Scaling Rotation Translation Matrix s x s y cosθ sinθ sinθ cosθ 1 dx 1 dy These 3 transformations are
More informationObjectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations
Objectives Transformations CS Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive homogeneous
More informationCS 380 Introduction to Computer Graphics
CS 380 Introduction to Computer Graphics LAB (6) 2018.04.30 Tasks Keyframes Linear Interpolation Playing the Animation 2 Keyframe Animation 3 Animation A sequence of frames To depict motion and shape change
More informationQuaternions and Exponentials
Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office
More informationImage warping , , Computational Photography Fall 2017, Lecture 10
Image warping http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2017, Lecture 10 Course announcements Second make-up lecture on Friday, October 6 th, noon-1:30
More informationMATHEMATICS FOR ENGINEERING TUTORIAL 5 COORDINATE SYSTEMS
MATHEMATICS FOR ENGINEERING TUTORIAL 5 COORDINATE SYSTEMS This tutorial is essential pre-requisite material for anyone studying mechanical engineering. This tutorial uses the principle of learning by example.
More information2D transformations: An introduction to the maths behind computer graphics
2D transformations: An introduction to the maths behind computer graphics Lecturer: Dr Dan Cornford d.cornford@aston.ac.uk http://wiki.aston.ac.uk/dancornford CS2150, Computer Graphics, Aston University,
More information2D and 3D Coordinate Systems and Transformations
Graphics & Visualization Chapter 3 2D and 3D Coordinate Systems and Transformations Graphics & Visualization: Principles & Algorithms Introduction In computer graphics is often necessary to change: the
More informationCMSC 425: Lecture 6 Affine Transformations and Rotations
CMSC 45: Lecture 6 Affine Transformations and Rotations Affine Transformations: So far we have been stepping through the basic elements of geometric programming. We have discussed points, vectors, and
More informationJorg s Graphics Lecture Notes Coordinate Spaces 1
Jorg s Graphics Lecture Notes Coordinate Spaces Coordinate Spaces Computer Graphics: Objects are rendered in the Euclidean Plane. However, the computational space is better viewed as one of Affine Space
More informationRotations in 3D Graphics and the Gimbal Lock
Rotations in 3D Graphics and the Gimbal Lock Valentin Koch Autodesk Inc. January 27, 2016 Valentin Koch (ADSK) IEEE Okanagan January 27, 2016 1 / 37 Presentation Road Map 1 Introduction 2 Rotation Matrices
More informationCS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation
CS 475 / CS 675 Computer Graphics Lecture 16 : Interpolation for Keyframing Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent)
More informationComputer Graphics. Chapter 5 Geometric Transformations. Somsak Walairacht, Computer Engineering, KMITL
Chapter 5 Geometric Transformations Somsak Walairacht, Computer Engineering, KMITL 1 Outline Basic Two-Dimensional Geometric Transformations Matrix Representations and Homogeneous Coordinates Inverse Transformations
More informationMathematics 308 Geometry. Chapter 9. Drawing three dimensional objects
Mathematics 308 Geometry Chapter 9. Drawing three dimensional objects In this chapter we will see how to draw three dimensional objects with PostScript. The task will be made easier by a package of routines
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationApplications of Dual Quaternions in Three Dimensional Transformation and Interpolation
Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation November 11, 2013 Matthew Smith mrs126@uclive.ac.nz Department of Computer Science and Software Engineering University
More information(Refer Slide Time: 00:04:20)
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 8 Three Dimensional Graphics Welcome back all of you to the lectures in Computer
More informationTransformations: 2D Transforms
1. Translation Transformations: 2D Transforms Relocation of point WRT frame Given P = (x, y), translation T (dx, dy) Then P (x, y ) = T (dx, dy) P, where x = x + dx, y = y + dy Using matrix representation
More information3D Modelling: Animation Fundamentals & Unit Quaternions
3D Modelling: Animation Fundamentals & Unit Quaternions CITS3003 Graphics & Animation Thanks to both Richard McKenna and Marco Gillies for permission to use their slides as a base. Static objects are boring
More information2D Image Transforms Computer Vision (Kris Kitani) Carnegie Mellon University
2D Image Transforms 16-385 Computer Vision (Kris Kitani) Carnegie Mellon University Extract features from an image what do we do next? Feature matching (object recognition, 3D reconstruction, augmented
More informationwe now have a good understanding of 3d representations, rigid body transforms, camera projections, and the fixed function steps in graphics
big picture goals we now have a good understanding of 3d representations, rigid body transforms, camera projections, and the fixed function steps in graphics now we are going to add higher level structure
More informationBasic Elements. Geometry is the study of the relationships among objects in an n-dimensional space
Basic Elements Geometry is the study of the relationships among objects in an n-dimensional space In computer graphics, we are interested in objects that exist in three dimensions We want a minimum set
More informationFor each question, indicate whether the statement is true or false by circling T or F, respectively.
True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)
More informationIntroduction to Computer Graphics. Animation (1) May 19, 2016 Kenshi Takayama
Introduction to Computer Graphics Animation (1) May 19, 2016 Kenshi Takayama Skeleton-based animation Simple Intuitive Low comp. cost https://www.youtube.com/watch?v=dsonab58qva 2 Representing a pose using
More informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
More informationLecture 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 informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationTo graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6
Polar Coordinates Any point in the plane can be described by the Cartesian coordinates (x, y), where x and y are measured along the corresponding axes. However, this is not the only way to represent points
More informationCS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations
CS 445 / 645 Introduction to Computer Graphics Lecture 21 Representing Rotations Parameterizing Rotations Straightforward in 2D A scalar, θ, represents rotation in plane More complicated in 3D Three scalars
More informationRigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides
Rigging / Skinning based on Taku Komura, Jehee Lee and Charles B.Own's slides Skeletal Animation Victoria 2 CSE 872 Dr. Charles B. Owen Advanced Computer Graphics Skinning http://www.youtube.com/watch?
More informationü 12.1 Vectors Students should read Sections of Rogawski's Calculus [1] for a detailed discussion of the material presented in this section.
Chapter 12 Vector Geometry Useful Tip: If you are reading the electronic version of this publication formatted as a Mathematica Notebook, then it is possible to view 3-D plots generated by Mathematica
More informationLast week. Machiraju/Zhang/Möller/Fuhrmann
Last week Machiraju/Zhang/Möller/Fuhrmann 1 Geometry basics Scalar, point, and vector Vector space and affine space Basic point and vector operations Sided-ness test Lines, planes, and triangles Linear
More informationMath 11 Fall 2016 Section 1 Monday, October 17, 2016
Math 11 Fall 16 Section 1 Monday, October 17, 16 First, some important points from the last class: f(x, y, z) dv, the integral (with respect to volume) of f over the three-dimensional region, is a triple
More information1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1
Transformations 1-1 Transformations are used within the entire viewing pipeline: Projection from world to view coordinate system View modifications: Panning Zooming Rotation 1-2 Transformations can also
More informationToday. Parity. General Polygons? Non-Zero Winding Rule. Winding Numbers. CS559 Lecture 11 Polygons, Transformations
CS559 Lecture Polygons, Transformations These are course notes (not used as slides) Written by Mike Gleicher, Oct. 005 With some slides adapted from the notes of Stephen Chenney Final version (after class)
More informationVector 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 informationTransformation Algebra
Transformation Algebra R. J. Renka Department of Computer Science & Engineering University of North Texas 0/07/205 Linear Transformations A point with Cartesian coordinates (x, y, z) is taken to be a column
More informationTransformations Week 9, Lecture 18
CS 536 Computer Graphics Transformations Week 9, Lecture 18 2D Transformations David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 3 2D Affine Transformations
More informationQuaternions and Rotations
CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body
More informationGraphics Pipeline 2D Geometric Transformations
Graphics Pipeline 2D Geometric Transformations CS 4620 Lecture 8 1 Plane projection in drawing Albrecht Dürer 2 Plane projection in drawing source unknown 3 Rasterizing triangles Summary 1 evaluation of
More informationMath background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6
Math background 2D Geometric Transformations CS 4620 Lecture 6 Read: Chapter 2: Miscellaneous Math Chapter 5: Linear Algebra Notation for sets, functions, mappings Linear transformations Matrices Matrix-vector
More informationPetShop (BYU Students, SIGGRAPH 2006)
Now Playing: PetShop (BYU Students, SIGGRAPH 2006) My Mathematical Mind Spoon From Gimme Fiction Released May 10, 2005 Geometric Objects in Computer Graphics Rick Skarbez, Instructor COMP 575 August 30,
More informationAnimation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions
More informationQuaternions and Dual Coupled Orthogonal Rotations in Four-Space
Quaternions and Dual Coupled Orthogonal Rotations in Four-Space Kurt Nalty January 8, 204 Abstract Quaternion multiplication causes tensor stretching) and versor turning) operations. Multiplying by unit
More informationLecture 21: Shading. put your trust in my shadow. Judges 9:15
Lecture 21: Shading put your trust in my shadow. Judges 9:15 1. Polygonal Models Polygonal models are one of the most common representations for geometry in Computer Graphics. Polygonal models are popular
More informationAnimation. Animation
CS475m - Computer Graphics Lecture 5 : Interpolation for Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent) results.
More informationCS612 - Algorithms in Bioinformatics
Fall 2017 Structural Manipulation November 22, 2017 Rapid Structural Analysis Methods Emergence of large structural databases which do not allow manual (visual) analysis and require efficient 3-D search
More informationCSE328 Fundamentals of Computer Graphics
CSE328 Fundamentals of Computer Graphics Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 794--44 Tel: (63)632-845; Fax: (63)632-8334 qin@cs.sunysb.edu
More informationStudents are not expected to work formally with properties of dilations until high school.
Domain: Geometry (G) Cluster: Understand congruence and similarity using physical models, transparencies, or geometry software. Standard: 8.G.1. Verify experimentally the properties of rotations, reflections,
More informationTo Do. Outline. Translation. Homogeneous Coordinates. Foundations of Computer Graphics. Representation of Points (4-Vectors) Start doing HW 1
Foundations of Computer Graphics Homogeneous Coordinates Start doing HW 1 To Do Specifics of HW 1 Last lecture covered basic material on transformations in 2D Likely need this lecture to understand full
More information3D Game Engine Programming. Understanding Quaternions. Helping you build your dream game engine. Posted on June 25, 2012 by Jeremiah van Oosten
3D Game Engine Programming Helping you build your dream game engine. Understanding Quaternions Posted on June 25, 2012 by Jeremiah van Oosten Understanding Quaternions In this article I will attempt to
More informationLecture 4: Transforms. Computer Graphics CMU /15-662, Fall 2016
Lecture 4: Transforms Computer Graphics CMU 15-462/15-662, Fall 2016 Brief recap from last class How to draw a triangle - Why focus on triangles, and not quads, pentagons, etc? - What was specific to triangles
More informationVector Calculus: Understanding the Cross Product
University of Babylon College of Engineering Mechanical Engineering Dept. Subject : Mathematics III Class : 2 nd year - first semester Date: / 10 / 2016 2016 \ 2017 Vector Calculus: Understanding the Cross
More information+ i a y )( cosφ + isinφ) ( ) + i( a x. cosφ a y. = a x
Rotation Matrices and Rotated Coordinate Systems Robert Bernecky April, 2018 Rotated Coordinate Systems is a confusing topic, and there is no one standard or approach 1. The following provides a simplified
More informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry Transforms (part II) Christopher Dyken and Martin Reimers 21.09.2011 Page 1 Transforms (part II) Real Time Rendering book: Transforms (Chapter 4) The Red
More informationRay Tracer I: Ray Casting Due date: 12:00pm December 3, 2001
Computer graphics Assignment 5 1 Overview Ray Tracer I: Ray Casting Due date: 12:00pm December 3, 2001 In this assignment you will implement the camera and several primitive objects for a ray tracer. We
More informationReading. Hierarchical Modeling. Symbols and instances. Required: Angel, sections , 9.8. Optional:
Reading Required: Angel, sections 9.1 9.6, 9.8 Optional: Hierarchical Modeling OpenGL rogramming Guide, the Red Book, chapter 3 cse457-07-hierarchical 1 cse457-07-hierarchical 2 Symbols and instances Most
More informationChapter 5. Transforming Shapes
Chapter 5 Transforming Shapes It is difficult to walk through daily life without being able to see geometric transformations in your surroundings. Notice how the leaves of plants, for example, are almost
More informationMassachusetts Institute of Technology Department of Computer Science and Electrical Engineering 6.801/6.866 Machine Vision QUIZ II
Massachusetts Institute of Technology Department of Computer Science and Electrical Engineering 6.801/6.866 Machine Vision QUIZ II Handed out: 001 Nov. 30th Due on: 001 Dec. 10th Problem 1: (a (b Interior
More informationCSE528 Computer Graphics: Theory, Algorithms, and Applications
CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin Stony Brook University (SUNY at Stony Brook) Stony Brook, New York 11794-2424 Tel: (631)632-845; Fax: (631)632-8334 qin@cs.stonybrook.edu
More informationEarly Fundamentals of Coordinate Changes and Rotation Matrices for 3D Computer Vision
Early Fundamentals of Coordinate Changes and Rotation Matrices for 3D Computer Vision Ricardo Fabbri Benjamin B. Kimia Brown University, Division of Engineering, Providence RI 02912, USA Based the first
More informationPart II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors.
Visualizing Quaternions Part II: Visualizing Quaternion Geometry Andrew J. Hanson Indiana University Part II: OUTLINE The Spherical Projection Trick: Visualizing unit vectors. Quaternion Frames Quaternion
More informationa a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b
MATH 245 Extra Effort ( points) My assistant read through my first draft, got half a page in, and skipped to the end. So I will save you the flipping. Here is the assignment. Do just one of them. All the
More informationCoordinate transformations. 5554: Packet 8 1
Coordinate transformations 5554: Packet 8 1 Overview Rigid transformations are the simplest Translation, rotation Preserve sizes and angles Affine transformation is the most general linear case Homogeneous
More informationCS6670: Computer Vision
CS6670: Computer Vision Noah Snavely Lecture 7: Image Alignment and Panoramas What s inside your fridge? http://www.cs.washington.edu/education/courses/cse590ss/01wi/ Projection matrix intrinsics projection
More informationGame Engineering: 2D
Game Engineering: 2D CS420-2010F-07 Objects in 2D David Galles Department of Computer Science University of San Francisco 07-0: Representing Polygons We want to represent a simple polygon Triangle, rectangle,
More informationTransformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering
RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Transformation Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Announcement Project
More informationCS 4620 Midterm 1. Tuesday 22 October minutes
CS 4620 Midterm 1 Tuesday 22 October 2013 90 minutes Problem 1: Transformations (20 pts) Consider the affine transformation on R 3 defined in homogeneous coordinates by the matrix: 1 M = 1 0 0 2 0 1 0
More informationDr. Allen Back. Nov. 21, 2014
Dr. Allen Back of Nov. 21, 2014 The most important thing you should know (e.g. for exams and homework) is how to setup (and perhaps compute if not too hard) surface integrals, triple integrals, etc. But
More informationRectification and Distortion Correction
Rectification and Distortion Correction Hagen Spies March 12, 2003 Computer Vision Laboratory Department of Electrical Engineering Linköping University, Sweden Contents Distortion Correction Rectification
More informationTransforms. 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 informationVisualizing Quaternions
Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 1 Tutorial 1 GRAND PLAN I: Fundamentals of Quaternions II: Visualizing Quaternion Geometry III: Quaternion
More informationTo graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6. ) is graphed below:
Polar Coordinates Any point in the plane can be described by the Cartesian coordinates (x, y), where x and y are measured along the corresponding axes. However, this is not the only way to represent points
More informationComputer Animation II
Computer Animation II Orientation interpolation Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic Lecture 13 6.837 Fall 2002 Interpolation Review from Thursday Splines Articulated bodies
More information