VISUALIZING QUATERNIONS

Size: px
Start display at page:

Download "VISUALIZING QUATERNIONS"

Transcription

1 THE MORGAN KAUFMANN SERIES IN INTERACTIVE 3D TECHNOLOGY VISUALIZING QUATERNIONS ANDREW J. HANSON «WW m.-:ki -. " ;. *' AMSTERDAM BOSTON HEIDELBERG ^ M Ä V l LONDON NEW YORK OXFORD <* И PARIS * SAN DIEGO * SAN FRANCISCO,. ~ ' *-ШЯь^ SINGAPORE SYDNEY TOKYO ELSEVIER Morgan Kaufmann is an imprint of Elsevier MORGAN KAUFMANN PUBLISHERS

2 Contents ABOUT THE AUTHOR FOREWORD PREFACE ACKNOWLEDGMENTS X XXIII XXV XXXI PART I ELEMENTS OF QUATERNIONS 1 01 THE DISCOVERY OF QUATERNIONS 5 l. I Hamilton's Walk S l. 2 Then Came Octonions 8 l. 3 The Quaternion Revival 9 02 FOLKLORE OF ROTATIONS The Belt Trick The Rolling Ball The Apollo 10 Gimbal-lock Incident D Game Developer's Nightmare The Urban Legend of the Upside-down F Quaternions to the Rescue BASIC NOTATION Vectors 31

3 XII CONTENTS 3.2 Length of a Vector D Dot Product D Cross Product Unit Vectors Spheres Matrices Complex Numbers WHAT ARE QUATERNIONS? ROAD MAP TO QUATERNION VISUALIZATION The Complex Number Connection The Cornerstones of Quaternion Visualization FUNDAMENTALS OF ROTATIONS D Rotations Relation to Complex Numbers The Half-angle Form Complex Exponential Version Quaternions and 3D Rotations Construction Quaternions and Half Angles Double Values Recovering в and n Euler Angles and Quaternions 52 * 6.5 f Optional Remarks f Connections to Group Theory f "Pure" Quaternion Derivation f Quaternion Exponential Version Conclusion VISUALIZING ALGEBRAIC STRUCTURE Algebra of Complex Numbers 5 7 * A dagger (t) denotes a section with advanced content that can be skipped on a first reading.

4 7.1.1 Complex Numbers Abstract View of Complex Multiplication Restriction to Unit-length Case Quaternion Algebra The Multiplication Rule Scalar Product Modulus of the Quaternion Product Preservation of the Unit Quaternions VISUALIZING SPHERES D: Visualizing an Edge-on Circle Trigonometric Function Method Complex Variable Method Square Root Method The Square Root Method D: Visualizing a Balloon Trigonometric Function Method Square Root Method D: Visualizing Quaternion Geometry on S Seeing the Parameters of a Single Quaternion Hemispheres in S VISUALIZING LOGARITHMS AIMD EXPONENTIALS Complex Numbers Quaternions VISUALIZING INTERPOLATION METHODS 93 I O.I Basics of Interpolation 93 I Interpolation Issues Gram-Schmidt Derivation of the SLERP 97 Ю.1.3 t Alternative Derivation Quaternion Interpolation lol l 0.3 Equivalent 3x3 Matrix Method 104

5 11 LOOKING AT ELEMENTARY QUATERNION FRAMES A Single Quaternion Frame Several Isolated Frames A Rotating Frame Sequence Synopsis l l 0 12 QUATERNIONS AND THE BELT TRICK: CONNECTING TO THE IDENTITY Very Interesting, but Why? I l The Intuitive Answer f The Technical Answer The Details Frame-sequence Visualization Methods One Rotation Two Rotations Synopsis QUATERNIONS AND THE ROLLING BALL: EXPLOITING ORDER DEPENDENCE Order Dependence l The Rolling Ball Controller I Rolling Ball Quaternions l f Commutators S Three Degrees of Freedom From Two l 3 l 14 QUATERNIONS AND GIMBAL LOCK: LIMITING THE AVAILABLE SPACE Guidance System Suspension Mathematical Interpolation Singularities Quaternion Viewpoint 134 PART II ADVANCED QUATERNION TOPICS 137

6 xv 15 ALTERNATIVE WAYS OF WRITING QUATERNIONS Hamilton's Generalization of Complex Numbers Pauli Matrices Other Matrix Forms EFFICIENCY AND COMPLEXITY ISSUES Extracting a Quaternion Positive Trace R Nonpositive Trace R Efficiency of Vector Operations ADVANCED SPHERE VISUALIZATION 153 l 7.1 Proj ective Method The CircleS 1 1S General S Polar Projection lss 17.2 Distance-preserving Flattening Methods Unroll-and-Flatten S S 2 Flattened Equal -area Method S 3 Flattened Equal-volume Method MORE ON LOGARITHMS AND EXPONENTIALS D Rotations D Rotations Using Logarithms for Quaternion Calculus Quaternion Interpolations Versus Log 171 1Э TWO-DIMENSIONAL CURVES Orientation Frames for 2D Space Curves D Rotation Matrices The Frame Matrix in 2D Frame Evolution in 2D What Is a Map? Tangent and Normal Maps Square Root Form 179

7 XVI CONTENTS Frame Evolution in (a. b) Simplifying the Frame Equations l THREE-DIMENSIONAL CURVES Introduction to 3D Space Curves l 8 l 20.2 General Curve Framings in 3D l Tubing Classical Frames Frenet-Serret Frame Parallel Transport Frame Geodesic Reference Frame General Frames Mapping the Curvature and Torsion l Theory of Quaternion Frames Generic Quaternion Frame Equations Quaternion Frenet Frames Quaternion Parallel Transport Frames Assigning Smooth Quaternion Frames Assigning Quaternions to Frenet Frames Assigning Quaternions to Parallel Transport Frames Examples: Torus Knot and Helix Quaternion Frames Comparison of Quaternion Frame Curve Lengths D SURFACES Introduction to 3D Surfaces Classical Gauss Map Surface Frame Evolution 2 I Examples of Surface Framings Quaternion Weingarten Equations Quaternion Frame Equations Quaternion Surface Equations (Weingarten Equations) Quaternion Gauss Map Example: The Sphere 223

8 Quaternion Maps of Alternative Sphere Frames Covering the Sphere and the Geodesic Reference Frame South Pole Singularity Examples: Minimal Surface Quaternion Maps OPTIMAL QUATERNION FRAMES Background Motivation Methodology The Space of Possible Frames Parallel Transport and Minimal Measure The Space of Frames Full Space of Curve Frames Full Space of Surface Maps Choosing Paths in Quaternion Space Optimal Path Choice Strategies General Remarks on Optimization in Quaternion Space Examples Minimal Quaternion Frames for Space Curves Minimal-quaternion-area Surface Patch Framings QUATERNION VOLUMES Three-degree-of-freedom Orientation Domains Application to the Shoulder Joint Data Acquisition and the Double-covering Problem Sequential Data The Sequential Nearest-neighbor Algorithm The Surface-based Nearest-neighbor Algorithm The Volume-based Nearest-neighbor Algorithm Application Data QUATERNION MAPS OF STREAMLINES Visualization Methods Direct Plot of Quaternion Frame Fields Similarity Measures for Quaternion Frames 273

9 XVIII CONTENTS Exploiting or Ignoring Double Points D Flow Data Visualizations AVS Streamline Example Deforming Solid Example Brushing: Clusters and Inverse Clusters Advanced Visualization Approaches D Rotations of Quaternion Displays Probing Quaternion Frames with 4D Light QUATERNION INTERPOLATION Concepts of Euclidean Linear Interpolation Constructing Higher-order Polynomial Splines Matching Schlag 's Method Control-point Method The Double Quad Direct Interpolation of 3D Rotations Relation to Quaternions Method for Arbitrary Origin Exponential Version Special Vector Vector Case Multiple-level Interpolation Matrices Equivalence of Quaternion and Matrix Forms Quaternion Splines Quaternion de Casteljau Splines Equivalent Anchor Points Angular Velocity Control Exponential-map Quaternion Interpolation Global Minimal Acceleration Method Why a Cubic? Extension to Quaternion Form 327 2G QUATERNION ROTATOR DYNAMICS Static Frame Torque 334

10 XIX 26.3 Quaternion Angular Momentum CONCEPTS OF THE ROTATION GROUP Brief Introduction to Group Representations Complex Versus Real What Is a Representation? Basic Properties of Spherical Harmonics Representations and Rotation-invariant Properties Properties of Expansion Coefficients Under Rotations SPHERICAL RIEMANNIAN GEOMETRY Induced Metric on the Sphere 35 l 28.2 Induced Metrics of Spheres S 1 Induced Metrics S 2 Induced Metrics S 3 Induced Metrics Toroidal Coordinates on S Axis-angle Coordinates on S General Form for the Square-root Induced Metric Elements of Riemannian Geometry Riemann Curvature of Spheres S S S Geodesies and Parallel Transport on the Sphere Embedded-vector Viewpoint of the Geodesies 368 PART III BEYOND QUATERNIONS THE RELATIONSHIP OF 4D ROTATIONS TO QUATERNIONS What Happened in Three Dimensions Quaternions and Four Dimensions 378

11 30 QUATERNIONS AND THE FOUR DIVISION ALGEBRAS Division Algebras The Number Systems with Dimensions l, 2, 4, and Parallelizable Spheres Relation to Fiber Bundles Constructing the Hopf Fibrations Real: S fiber + S 1 base = S' bundle Complex: S' fiber + S 2 base = S 3 bundle Quaternion: S 3 fiber + S 4 base = S 7 bundle Octonion: S 7 fiber + S 8 base = S 15 bundle CLIFFORD ALGEBRAS Introduction to Clifford Algebras Foundations Clifford Algebras and Rotations Higher-dimensional Clifford Algebra Rotations Examples of Clifford Algebras ID Clifford Algebra D Clifford Algebra D Rotations Done Right D Clifford Algebra Clifford Implementation of 3D Rotations Higher Dimensions Pin(N), Spin(/V),0(W),SO(W), and All That CONCLUSIONS 413 APPENDICES 415 A NOTATION 419 A. I Vectors 419 A.2 Length of a Vector 420 A.3 Unit Vectors 421

12 xxi A.4 Polar Coordinates 421 A.S Spheres 422 A.6 Matrix Transformations 422 A. 7 Features of Square Matrices 423 A.8 Orthogonal Matrices 424 A.9 Vector Products 424 A.9.1 2D Dot Product 424 A.9.2 2D Cross Product 425 A.9.3 3D Dot Product 425 A.9.4 3D Cross Product 425 A. 10 Complex Variables 426 В 2D COMPLEX FRAMES 429 С 3D QUATERNION FRAMES 433 C.l Unit Norm 433 С 2 Multiplication Rule 433 C.3 Mapping to 3D rotations 435 C.4 Rotation Correspondence 437 С 5 Quaternion Exponential Form 437 D FRAME AND SURFACE EVOLUTION 439 D. 1 Quaternion Frame Evolution 439 D.2 Quaternion Surface Evolution 441 E QUATERNION SURVIVAL KIT 443 F QUATERNION METHODS 451 F. I Quaternion Logarithms and Exponentials 451 F.2 The Quaternion Square Root Trick 452 F.3 The ä b formula simplified 453 F.4 Gram-Schmidt Spherical Interpolation 454 F.5 Direct Solution for Spherical Interpolation 455 F.6 Converting Linear Algebra to Quaternion Algebra 457 R7 Useful Tensor Methods and Identities 457 F.7.1 Einstein Summation Convention 457

13 XXII CONTENTS.7.1 Kronecker Delta 458 F.7.3 Levi-Civita Symbol 458 G QUATERNION PATH OPTIMIZATION USING SURFACE EVOLVER 461 H QUATERNION FRAME INTEGRATION 463 I HYPERSPHERICAL GEOMETRY 467 LI Definitions Metric Properties 468 REFERENCES 471 INDEX 487

Part II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors.

Part 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 information

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010) Advanced Computer Graphics (Fall 2010) CS 283, Lecture 19: Basic Geometric Concepts and Rotations Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/fa10 Motivation Moving from rendering to simulation,

More information

Visualizing Quaternions

Visualizing 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 information

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE Computer Animation Algorithms and Techniques Rick Parent Ohio State University z< MORGAN KAUFMANN PUBLISHERS AN IMPRINT OF ELSEVIER SCIENCE AMSTERDAM BOSTON LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO

More information

Visualizing Quaternions

Visualizing Quaternions Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 25 Tutorial OUTLINE I: (45min) Twisting Belts, Rolling Balls, and Locking Gimbals: Explaining Rotation Sequences

More information

CS354 Computer Graphics Rotations and Quaternions

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 information

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO F ^ k.^

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO F ^ k.^ Computer a jap Animation Algorithms and Techniques Second Edition Rick Parent Ohio State University AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO

More information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W

More information

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Animation. 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 information

Quaternions and Rotations

Quaternions 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 information

Quaternions and Rotations

Quaternions 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 information

Trajectory Planning for Automatic Machines and Robots

Trajectory Planning for Automatic Machines and Robots Luigi Biagiotti Claudio Melchiorri Trajectory Planning for Automatic Machines and Robots Springer 1 Trajectory Planning 1 1.1 A General Overview on Trajectory Planning 1 1.2 One-dimensional Trajectories

More information

a a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b

a 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 information

3D Kinematics. Consists of two parts

3D Kinematics. Consists of two parts D Kinematics Consists of two parts D rotation D translation The same as D D rotation is more complicated than D rotation (restricted to z-ais) Net, we will discuss the treatment for spatial (D) rotation

More information

Orientation & Quaternions

Orientation & 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 information

Modern Differential Geometry ofcurves and Surfaces

Modern Differential Geometry ofcurves and Surfaces K ALFRED GRAY University of Maryland Modern Differential Geometry ofcurves and Surfaces /, CRC PRESS Boca Raton Ann Arbor London Tokyo CONTENTS 1. Curves in the Plane 1 1.1 Euclidean Spaces 2 1.2 Curves

More information

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations

CS 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 information

Pythagorean - Hodograph Curves: Algebra and Geometry Inseparable

Pythagorean - Hodograph Curves: Algebra and Geometry Inseparable Rida T. Farouki Pythagorean - Hodograph Curves: Algebra and Geometry Inseparable With 204 Figures and 15 Tables 4y Springer Contents 1 Introduction 1 1.1 The Lure of Analytic Geometry 1 1.2 Symbiosis of

More information

Modern Multidimensional Scaling

Modern Multidimensional Scaling Ingwer Borg Patrick J.F. Groenen Modern Multidimensional Scaling Theory and Applications Second Edition With 176 Illustrations ~ Springer Preface vii I Fundamentals of MDS 1 1 The Four Purposes of Multidimensional

More information

Curves and Surfaces for Computer-Aided Geometric Design

Curves and Surfaces for Computer-Aided Geometric Design Curves and Surfaces for Computer-Aided Geometric Design A Practical Guide Fourth Edition Gerald Farin Department of Computer Science Arizona State University Tempe, Arizona /ACADEMIC PRESS I San Diego

More information

Modern Multidimensional Scaling

Modern Multidimensional Scaling Ingwer Borg Patrick Groenen Modern Multidimensional Scaling Theory and Applications With 116 Figures Springer Contents Preface vii I Fundamentals of MDS 1 1 The Four Purposes of Multidimensional Scaling

More information

PTC Mathcad Prime 3.0

PTC Mathcad Prime 3.0 Essential PTC Mathcad Prime 3.0 A Guide for New and Current Users Brent Maxfield, P.E. AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO @ Academic

More information

EXPERIENCING GEOMETRY

EXPERIENCING GEOMETRY EXPERIENCING GEOMETRY EUCLIDEAN AND NON-EUCLIDEAN WITH HISTORY THIRD EDITION David W. Henderson Daina Taimina Cornell University, Ithaca, New York PEARSON Prentice Hall Upper Saddle River, New Jersey 07458

More information

Geometric Algebra for Computer Graphics

Geometric Algebra for Computer Graphics John Vince Geometric Algebra for Computer Graphics 4u Springer Contents Preface vii 1 Introduction 1 1.1 Aims and objectives of this book 1 1.2 Mathematics for CGI software 1 1.3 The book's structure 2

More information

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Animation. 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 information

CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation

CS 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 information

3D 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. 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 information

MODERN FACTOR ANALYSIS

MODERN FACTOR ANALYSIS MODERN FACTOR ANALYSIS Harry H. Harman «ö THE pigj UNIVERSITY OF CHICAGO PRESS Contents LIST OF ILLUSTRATIONS GUIDE TO NOTATION xv xvi Parti Foundations of Factor Analysis 1. INTRODUCTION 3 1.1. Brief

More information

Computers as Components Principles of Embedded Computing System Design

Computers as Components Principles of Embedded Computing System Design Computers as Components Principles of Embedded Computing System Design Third Edition Marilyn Wolf ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY

More information

Fundamentals of 3D. Lecture 3: Debriefing: Lecture 2 Rigid transformations Quaternions Iterative Closest Point (+Kd-trees)

Fundamentals of 3D. Lecture 3: Debriefing: Lecture 2 Rigid transformations Quaternions Iterative Closest Point (+Kd-trees) INF555 Fundamentals of 3D Lecture 3: Debriefing: Lecture 2 Rigid transformations Quaternions Iterative Closest Point (+Kd-trees) Frank Nielsen nielsen@lix.polytechnique.fr Harris-Stephens' combined corner/edge

More information

Rotations in 3D Graphics and the Gimbal Lock

Rotations 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 information

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Computer 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 information

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Transformation. 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 information

12.1 Quaternions and Rotations

12.1 Quaternions and Rotations Fall 2015 CSCI 420 Computer Graphics 12.1 Quaternions and Rotations Hao Li http://cs420.hao-li.com 1 Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera

More information

3D Transformations and Complex Representations. Computer Graphics CMU /15-662, Fall 2016

3D Transformations and Complex Representations. Computer Graphics CMU /15-662, Fall 2016 3D Transformations and Complex Representations Computer Graphics CMU 15-462/15-662, Fall 2016 Quiz 4: Trees and Transformations Student solutions (beautiful!): Rotations in 3D What is a rotation, intuitively?

More information

16.6. Parametric Surfaces. Parametric Surfaces. Parametric Surfaces. Vector Calculus. Parametric Surfaces and Their Areas

16.6. Parametric Surfaces. Parametric Surfaces. Parametric Surfaces. Vector Calculus. Parametric Surfaces and Their Areas 16 Vector Calculus 16.6 and Their Areas Copyright Cengage Learning. All rights reserved. Copyright Cengage Learning. All rights reserved. and Their Areas Here we use vector functions to describe more general

More information

Game Mathematics. (12 Week Lesson Plan)

Game Mathematics. (12 Week Lesson Plan) Game Mathematics (12 Week Lesson Plan) Lesson 1: Set Theory Textbook: Chapter One (pgs. 1 15) We begin the course by introducing the student to a new vocabulary and set of rules that will be foundational

More information

Curve and Surface Fitting with Splines. PAUL DIERCKX Professor, Computer Science Department, Katholieke Universiteit Leuven, Belgium

Curve and Surface Fitting with Splines. PAUL DIERCKX Professor, Computer Science Department, Katholieke Universiteit Leuven, Belgium Curve and Surface Fitting with Splines PAUL DIERCKX Professor, Computer Science Department, Katholieke Universiteit Leuven, Belgium CLARENDON PRESS OXFORD 1995 - Preface List of Figures List of Tables

More information

Animation and Quaternions

Animation 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 information

For each question, indicate whether the statement is true or false by circling T or F, respectively.

For 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 information

Quaternions & Rotation in 3D Space

Quaternions & Rotation in 3D Space Quaternions & Rotation in 3D Space 1 Overview Quaternions: definition Quaternion properties Quaternions and rotation matrices Quaternion-rotation matrices relationship Spherical linear interpolation Concluding

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 420 Computer Graphics Lecture 20 and Rotations Rotations Motion Capture [Angel Ch. 3.14] Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera parameters

More information

Information Modeling and Relational Databases

Information Modeling and Relational Databases Information Modeling and Relational Databases Second Edition Terry Halpin Neumont University Tony Morgan Neumont University AMSTERDAM» BOSTON. HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO

More information

WWW links for Mathematics 138A notes

WWW links for Mathematics 138A notes WWW links for Mathematics 138A notes General statements about the use of Internet resources appear in the document listed below. We shall give separate lists of links for each of the relevant files in

More information

Introduction to Geometric Algebra Lecture VI

Introduction to Geometric Algebra Lecture VI Introduction to Geometric Algebra Lecture VI Leandro A. F. Fernandes laffernandes@inf.ufrgs.br Manuel M. Oliveira oliveira@inf.ufrgs.br Visgraf - Summer School in Computer Graphics - 2010 CG UFRGS Lecture

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 480 Computer Graphics Lecture 20 and Rotations April 6, 2011 Jernej Barbic Rotations Motion Capture [Ch. 4.12] University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s11/ 1 Rotations

More information

DEPARTMENT - Mathematics. Coding: N Number. A Algebra. G&M Geometry and Measure. S Statistics. P - Probability. R&P Ratio and Proportion

DEPARTMENT - Mathematics. Coding: N Number. A Algebra. G&M Geometry and Measure. S Statistics. P - Probability. R&P Ratio and Proportion DEPARTMENT - Mathematics Coding: N Number A Algebra G&M Geometry and Measure S Statistics P - Probability R&P Ratio and Proportion YEAR 7 YEAR 8 N1 Integers A 1 Simplifying G&M1 2D Shapes N2 Decimals S1

More information

Quaternions and Exponentials

Quaternions 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 information

GEOMETRY OF CURVES CHAPMAN & HALL/CRC. Boca Raton London New York Washington, D.C.

GEOMETRY OF CURVES CHAPMAN & HALL/CRC. Boca Raton London New York Washington, D.C. GEOMETRY OF CURVES JOHN W. RUTTER CHAPMAN & HALL/CRC Boca Raton London New York Washington, D.C. Contents Introduction 0.1 Cartesian coordinates 0.2 Polar coordinates 0.3 The Argand diagram 0.4 Polar equations

More information

Animation Curves and Splines 2

Animation 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 information

Mathematica for Scientists and Engineers

Mathematica for Scientists and Engineers Mathematica for Scientists and Engineers Thomas B. Bahder Addison-Wesley Publishing Company Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam Bonn Paris

More information

Erik W. Grafarend Friedrich W. Krumm. Map Projections. Cartographic Information Systems. With 230 Figures. 4y Springer

Erik W. Grafarend Friedrich W. Krumm. Map Projections. Cartographic Information Systems. With 230 Figures. 4y Springer Erik W. Grafarend Friedrich W. Krumm Map Projections Cartographic Information Systems With 230 Figures 4y Springer Contents Preface ***************************************** V 1 F r o m R i e m a n n manifolds

More information

Teaching diary. Francis Bonahon University of Southern California

Teaching diary. Francis Bonahon University of Southern California Teaching diary In the Fall 2010, I used the book Low-dimensional geometry: from euclidean surfaces to hyperbolic knots as the textbook in the class Math 434, Geometry and Transformations, at USC. Most

More information

Jorg s Graphics Lecture Notes Coordinate Spaces 1

Jorg 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 information

Rotations for N-Dimensional Graphics

Rotations for N-Dimensional Graphics Rotations for N-Dimensional Graphics Andrew J Hanson Computer Science Department Indiana University Bloomington, IN hanson@csindianaedu } Introduction } In a previous article in Graphics Gems IV, \Geometry

More information

Animation. Animation

Animation. 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 information

Rotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco.

Rotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco. otation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J Fowler, WesternGeco Summary Symmetry groups commonly used to describe seismic anisotropy

More information

Algorithmic Graph Theory and Perfect Graphs

Algorithmic Graph Theory and Perfect Graphs Algorithmic Graph Theory and Perfect Graphs Second Edition Martin Charles Golumbic Caesarea Rothschild Institute University of Haifa Haifa, Israel 2004 ELSEVIER.. Amsterdam - Boston - Heidelberg - London

More information

Euclidean Geometry. by Rolf Sulanke. Sept 18, version 5, January 30, 2010

Euclidean Geometry. by Rolf Sulanke. Sept 18, version 5, January 30, 2010 Euclidean Geometry by Rolf Sulanke Sept 18, 2003 version 5, January 30, 2010 In this notebook we develop some linear algebraic tools which can be applied to calculations in any dimension, and to creating

More information

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents Mathematical Tools in Computer Graphics with C# Implementations by Hardy Alexandre, Willi-Hans Steeb, World Scientific Publishing Company, Incorporated, 2008 Table of Contents List of Figures Notation

More information

CS184: Using Quaternions to Represent Rotation

CS184: Using Quaternions to Represent Rotation Page 1 of 5 CS 184 home page A note on these notes: These notes on quaternions were created as a resource for students taking CS184 at UC Berkeley. I am not doing any research related to quaternions and

More information

Computer Architecture A Quantitative Approach

Computer Architecture A Quantitative Approach Computer Architecture A Quantitative Approach Third Edition John L. Hennessy Stanford University David A. Patterson University of California at Berkeley With Contributions by David Goldberg Xerox Palo

More information

Structured Parallel Programming Patterns for Efficient Computation

Structured Parallel Programming Patterns for Efficient Computation Structured Parallel Programming Patterns for Efficient Computation Michael McCool Arch D. Robison James Reinders ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO

More information

MATLAB. Advanced Mathematics and Mechanics Applications Using. Third Edition. David Halpern University of Alabama CHAPMAN & HALL/CRC

MATLAB. Advanced Mathematics and Mechanics Applications Using. Third Edition. David Halpern University of Alabama CHAPMAN & HALL/CRC Advanced Mathematics and Mechanics Applications Using MATLAB Third Edition Howard B. Wilson University of Alabama Louis H. Turcotte Rose-Hulman Institute of Technology David Halpern University of Alabama

More information

Rotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops)

Rotations (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 information

Computer Graphics Curves and Surfaces. Matthias Teschner

Computer Graphics Curves and Surfaces. Matthias Teschner Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves

More information

Foundations of Multidimensional and Metric Data Structures

Foundations of Multidimensional and Metric Data Structures Foundations of Multidimensional and Metric Data Structures Hanan Samet University of Maryland, College Park ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE

More information

Constrained Willmore Tori in the 4 Sphere

Constrained Willmore Tori in the 4 Sphere (Technische Universität Berlin) 16 August 2006 London Mathematical Society Durham Symposium Methods of Integrable Systems in Geometry Constrained Willmore Surfaces The Main Result Strategy of Proof Constrained

More information

Video 11.1 Vijay Kumar. Property of University of Pennsylvania, Vijay Kumar

Video 11.1 Vijay Kumar. Property of University of Pennsylvania, Vijay Kumar Video 11.1 Vijay Kumar 1 Smooth three dimensional trajectories START INT. POSITION INT. POSITION GOAL Applications Trajectory generation in robotics Planning trajectories for quad rotors 2 Motion Planning

More information

3.3 Interpolation of rotations represented by quaternions

3.3 Interpolation of rotations represented by quaternions 3 S 3.3 Interpolation of rotations represented by quaternions : set of unit quaternions ; S :set of unit 3D vectors Interpolation will be performed on 3 S (direct linear interpolation produces nonlinear

More information

Engineering Real- Time Applications with Wild Magic

Engineering Real- Time Applications with Wild Magic 3D GAME ENGINE ARCHITECTURE Engineering Real- Time Applications with Wild Magic DAVID H. EBERLY Geometric Tools, Inc. AMSTERDAM BOSTON HEIDELRERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE

More information

STEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS

STEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS STEPHEN WOLFRAM MATHEMATICADO OO Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS Table of Contents XXI a section new for Version 3 a section new for Version 4 a section substantially modified for

More information

Essential MATLAB for Engineers and Scientists

Essential MATLAB for Engineers and Scientists Essential MATLAB for Engineers and Scientists Third edition Brian D. Hahn and Daniel T. Valentine ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY

More information

3D Rotations and Complex Representations. Computer Graphics CMU /15-662, Fall 2017

3D Rotations and Complex Representations. Computer Graphics CMU /15-662, Fall 2017 3D Rotations and Complex Representations Computer Graphics CMU 15-462/15-662, Fall 2017 Rotations in 3D What is a rotation, intuitively? How do you know a rotation when you see it? - length/distance is

More information

Introduction to Geometric Algebra

Introduction to Geometric Algebra Introduction to Geometric Algebra Lecture 1 Why Geometric Algebra? Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Lecture notes available in http://www.ic.uff.br/~laffernandes/teaching/2011.2/topicos_ag

More information

Curve Subdivision in SE(2)

Curve Subdivision in SE(2) Curve Subdivision in SE(2) Jan Hakenberg, ETH Zürich 2018-07-26 Figure: A point in the special Euclidean group SE(2) consists of a position in the plane and a heading. The figure shows two rounds of cubic

More information

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

More information

Introductory Combinatorics

Introductory Combinatorics Introductory Combinatorics Third Edition KENNETH P. BOGART Dartmouth College,. " A Harcourt Science and Technology Company San Diego San Francisco New York Boston London Toronto Sydney Tokyo xm CONTENTS

More information

Geometric 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 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 information

Measuring Lengths The First Fundamental Form

Measuring Lengths The First Fundamental Form Differential Geometry Lia Vas Measuring Lengths The First Fundamental Form Patching up the Coordinate Patches. Recall that a proper coordinate patch of a surface is given by parametric equations x = (x(u,

More information

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided

More information

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set Vol:5, No:9, 2 Analysis of Euler Angles in a Simple Two-Axis Gimbals Set Ma Myint Myint Aye International Science Index, Mechanical and Mechatronics Engineering Vol:5, No:9, 2 waset.org/publication/358

More information

Quaternion Frenet Frames: Making Optimal Tubes and Ribbons from Curves

Quaternion Frenet Frames: Making Optimal Tubes and Ribbons from Curves Quaternion Frenet Frames: Making Optimal ubes and Ribbons from Curves Andrew J. Hanson Computer Science Department Indiana University Bloomington, IN 05 hanson@cs.indiana.edu } Introduction } Our purpose

More information

Honors Precalculus: Solving equations and inequalities graphically and algebraically. Page 1

Honors Precalculus: Solving equations and inequalities graphically and algebraically. Page 1 Solving equations and inequalities graphically and algebraically 1. Plot points on the Cartesian coordinate plane. P.1 2. Represent data graphically using scatter plots, bar graphs, & line graphs. P.1

More information

Chapter 3 : Computer Animation

Chapter 3 : Computer Animation Chapter 3 : Computer Animation Histor First animation films (Disne) 30 drawings / second animator in chief : ke frames others : secondar drawings Use the computer to interpolate? positions orientations

More information

Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation

Applications 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

Visual Recognition: Image Formation

Visual 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 information

Geometry and Gravitation

Geometry and Gravitation Chapter 15 Geometry and Gravitation 15.1 Introduction to Geometry Geometry is one of the oldest branches of mathematics, competing with number theory for historical primacy. Like all good science, its

More information

An Introduction to Geometrical Probability

An Introduction to Geometrical Probability An Introduction to Geometrical Probability Distributional Aspects with Applications A. M. Mathai McGill University Montreal, Canada Gordon and Breach Science Publishers Australia Canada China Prance Germany

More information

(Creating Arrays & Matrices) Applied Linear Algebra in Geoscience Using MATLAB

(Creating Arrays & Matrices) Applied Linear Algebra in Geoscience Using MATLAB Applied Linear Algebra in Geoscience Using MATLAB (Creating Arrays & Matrices) Contents Getting Started Creating Arrays Mathematical Operations with Arrays Using Script Files and Managing Data Two-Dimensional

More information

Contents Computing with Formulas

Contents Computing with Formulas Contents 1 Computing with Formulas... 1 1.1 The First Programming Encounter: a Formula... 1 1.1.1 Using a Program as a Calculator... 2 1.1.2 About Programs and Programming... 2 1.1.3 Tools for Writing

More information

Properties of Bertrand curves in dual space

Properties of Bertrand curves in dual space Vol. 9(9), pp. 208-213, 16 May, 2014 DOI: 10.5897/IJPS2013.4067 Article Number: 638CA8144589 ISSN 1992-1950 Copyright 2014 Author(s) retain the copyright of this article http://www.academicjournals.org/ijps

More information

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1 Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1 Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral

More information

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry Representation Ab initio design Rendering Solid modelers Kinematic

More information

Dr. Del's Tiers 1 6 Syllabus

Dr. Del's Tiers 1 6 Syllabus Tier 1 28 SCIENTIC CALCULATOR & PRE-ALGEBRA LESSONS Using a Scientific Calculator: Introduction plus 16 lessons CI: Introduction (5 Min.) C1: Basic Operations (6 Min.) C2: Real Numbers (6 Min.) C3: Negative

More information

Quaternions and Euler Angles

Quaternions and Euler Angles Quaternions and Euler Angles Revision #1 This document describes how the VR Audio Kit handles the orientation of the 3D Sound One headset using quaternions and Euler angles, and how to convert between

More information

Geometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3

Geometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3 Geometric transformations in 3D and coordinate frames Computer Graphics CSE 167 Lecture 3 CSE 167: Computer Graphics 3D points as vectors Geometric transformations in 3D Coordinate frames CSE 167, Winter

More information

Logging and Log Management

Logging and Log Management Logging and Log Management The Authoritative Guide to Understanding the Concepts Surrounding Logging and Log Management Dr. Anton A. Chuvakin Kevin J. Schmidt Christopher Phillips Partricia Moulder, Technical

More information

Estimating normal vectors and curvatures by centroid weights

Estimating normal vectors and curvatures by centroid weights Computer Aided Geometric Design 21 (2004) 447 458 www.elsevier.com/locate/cagd Estimating normal vectors and curvatures by centroid weights Sheng-Gwo Chen, Jyh-Yang Wu Department of Mathematics, National

More information

b) develop mathematical thinking and problem solving ability.

b) develop mathematical thinking and problem solving ability. Submission for Pre-Calculus MATH 20095 1. Course s instructional goals and objectives: The purpose of this course is to a) develop conceptual understanding and fluency with algebraic and transcendental

More information