Advances in Metric-neutral Visualization

Size: px
Start display at page:

Download "Advances in Metric-neutral Visualization"

Transcription

1 Advances in Metric-neutral Visualization Charles Gunn Institut für Mathematik Geometry and Visualization Group Technisches Universität Berlin GraVisMa 2010, Brno, October 7, 2010

2 Overview The talk will cover these new results: Metric neutrality: what it is, and how to realize it in visualization software design. Specific infrastructure innovations: metric-neutral tubing and real-time rendering, and Metric-neutral tracking in an immersive environment.

3 History In the 19 th century, euclidean geometry (EG) was overthrown as the one true geometry. Not one, but two, different replacements: Projective geometry Noneuclidean metric geometry The Cayley-Klein construction unified these geometries and is foundation of current work.

4 Projective Geometry Projective geometry (PG) extended EG with ideal points, where parallels intersect. To include new points, homogeneous coordinates introduced. Points: x = (x, y, z, w) Planes: u = [a, b, c, d] Principle of Duality: points and planes are interchangeable. Projective transformations: maps which preserve lines and incidence. Expressed in coordinates: the matrix group PGL(n + 1, R) of invertible real matrices.

5 Noneuclidean Metric Geometry Are there other geometries satisfying all Euclid s axioms except the Parallel Axiom? Bolyai, Lobachevski, Gauss: yes! (around 1830) Two cases, in all dimensions: Hyperbolic: there is more than one parallel. Elliptic: there are no parallels.

6 The Cayley-Klein construction Arthur Cayley discovered, and Felix Klein developed, a way to realize euclidean and noneuclidean metric geometries inside of projective geometry. In the 3D case: Begin with a quadric surface in RP 3 written using a diagonal matrix Q ɛ : {x xq ɛ x t = x 2 + y 2 + z 2 + ɛw 2 = 0} Extend it to an inner product between pairs of points: x 0, x 1 ɛ = x 0 x 1 + y 0 y 1 + z 0 z 1 + ɛw 0 w 1

7 Metric formulae This inner product leads to the following models of noneuclidean geometries (See appendix of article for details.): ɛ metric -1 hyperbolic euclidean 1 elliptic

8 Metric polarity The polarity on the metric quadric is a correlation that maps a point to its orthogonal complement with respect to the metric: Π(x) := {y yq ɛ x t = 0} This map plays an important role in all computational aspects of this theory. For the noneuclidean cases it is an isomorphism.

9 The Euclidean case The euclidean quadric is the plane at infinity, a degenerate surface. The euclidean inner product: for points is x 0, x 1 = w 0 w 1 for planes is u 0, u 1 = a 0 a 1 + b 0 b 1 + c 0 c 1 The polarity on the euclidean quadric is not an isomorphism. Polar point of a plane is the point at infinity in the direction normal to the plane (same for parallel planes). Polar plane of every finite point is the plane at infinity. (!)

10 Isometry groups For a given metric geometry, the subgroup of PGL(n + 1, R) preserving the quadric is called the isometry group of the geometry. Metric Isometry group hyperbolic SO(3, 1) euclidean SE(3) elliptic SO(4) All three groups contain a SO(3) subgroup preserving the origin (0, 0, 0, 1).

11 Isometries For later reference: A general direct isometry in all 3 geometries can be characterized by a pair of invariant lines, the axes of the isometry. For non-degenerate metric, they are a polar pair. If the isometry fixes one of these lines pointwise, then it is either a rotation or a translation. Otherwise it is a screw motion.

12 Maniview Visualization of 3D noneuclidean geometry possible since GPU technology supports the full group PGL(4, R). maniview: A 3D manifold viewer (Gunn, SIGGRAPH, 1993). For quotient spaces of H 3, S 3, or E 3 by a discrete group.

13 Maniview Visualization of 3D noneuclidean geometry possible since GPU technology supports the full group PGL(4, R). maniview: A 3D manifold viewer (Gunn, SIGGRAPH, 1993). For quotient spaces of H 3, S 3, or E 3 by a discrete group.

14 Maniview Visualization of 3D noneuclidean geometry possible since GPU technology supports the full group PGL(4, R). maniview: A 3D manifold viewer (Gunn, SIGGRAPH, 1993). For quotient spaces of H 3, S 3, or E 3 by a discrete group.

15 Maniview Visualization of 3D noneuclidean geometry possible since GPU technology supports the full group PGL(4, R). maniview: A 3D manifold viewer (Gunn, SIGGRAPH, 1993). For quotient spaces of H 3, S 3, or E 3 by a discrete group.

16 Maniview Visualization of 3D noneuclidean geometry possible since GPU technology supports the full group PGL(4, R). maniview: A 3D manifold viewer (Gunn, SIGGRAPH, 1993). For quotient spaces of H 3, S 3, or E 3 by a discrete group.

17 Maniview Visualization of 3D noneuclidean geometry possible since GPU technology supports the full group PGL(4, R). maniview: A 3D manifold viewer (Gunn, SIGGRAPH, 1993). For quotient spaces of H 3, S 3, or E 3 by a discrete group. Recent rewrite ( ) stimulated the current work.

18 Metric neutrality We define a metric-neutral visualization system as one which includes euclidean, hyperbolic, and elliptic geometry as equal citizens. Current work is based on the Cayley-Klein construction of the geometries within projective space. Hence, it is restricted to the three constant-curvature cases. Future work: extend to variable curvature (harder!). Previous work: geomview ( ).

19 Metric-neutral principles The goal: enunciate software design principles to help developers convert existing euclidean visualization software to be metric-neutral. Feature classification Entities and operators can be: Projective: pre-metric Examples: meet and join, incidence properties. Metric-neutral: depend on metric in a uniform way Examples: distance, angle, area, volume, orthogonal complement... Metric-specific: not valid for all metrics Examples: Euclidean free vectors, elliptic Clifford parallels, isotropic scaling (euclidean).

20 Metric-neutral principles The goal: enunciate software design principles to help developers convert existing euclidean visualization software to be metric-neutral. Feature classification Entities and operators can be: Projective: pre-metric Examples: meet and join, incidence properties. Metric-neutral: depend on metric in a uniform way Examples: distance, angle, area, volume, orthogonal complement... Metric-specific: not valid for all metrics Examples: Euclidean free vectors, elliptic Clifford parallels, isotropic scaling (euclidean).

21 Metric-neutral principles The goal: enunciate software design principles to help developers convert existing euclidean visualization software to be metric-neutral. Feature classification Entities and operators can be: Projective: pre-metric Examples: meet and join, incidence properties. Metric-neutral: depend on metric in a uniform way Examples: distance, angle, area, volume, orthogonal complement... Metric-specific: not valid for all metrics Examples: Euclidean free vectors, elliptic Clifford parallels, isotropic scaling (euclidean).

22 Metric-neutral principles The goal: enunciate software design principles to help developers convert existing euclidean visualization software to be metric-neutral. Feature classification Entities and operators can be: Projective: pre-metric Examples: meet and join, incidence properties. Metric-neutral: depend on metric in a uniform way Examples: distance, angle, area, volume, orthogonal complement... Metric-specific: not valid for all metrics Examples: Euclidean free vectors, elliptic Clifford parallels, isotropic scaling (euclidean).

23 Metric-neutral principles The goal: enunciate software design principles to help developers convert existing euclidean visualization software to be metric-neutral. Feature classification Entities and operators can be: Projective: pre-metric Examples: meet and join, incidence properties. Metric-neutral: depend on metric in a uniform way Examples: distance, angle, area, volume, orthogonal complement... Metric-specific: not valid for all metrics Examples: Euclidean free vectors, elliptic Clifford parallels, isotropic scaling (euclidean).

24 Cameras are projective This establishes that the projective model of these geometries is the correct model for rendering the insider s view. See article for details!

25 Software Organization Three software layers based on the degree of user interaction involved: layer No user interaction involved. Interactive layer Traditional interaction, based on mouse. Immersive layer VR-related issues, such as tracking. All solutions discussed here have been implemented in jreality, an open-source, Java-based, metric-neutral 3D scene graph. The metric is an inherited attribute of the scene graph, allowing different metrics to co-exist in the same scene. Example: euclidean museum containing hyperbolic exhibit..

26 patterns can be grouped into four groups: Geometric representation Geometric operations and modeling Isometries Shading In interests of time, focus on two innovations: tubing and real-time shading.

27 Tubing jreality renders line sets as thin 3D tubes. These are implemented in a metric-neutral way. Euclidean: A tube is a cylinder. Metric-neutral: A tube is an equi-distant surface. Piece of hyperboloid in elliptic space, and of an ellipsoid in hyperbolic space!

28 Tubing jreality renders line sets as thin 3D tubes. These are implemented in a metric-neutral way. Euclidean: A tube is a cylinder. Metric-neutral: A tube is an equi-distant surface. Piece of hyperboloid in elliptic space, and of an ellipsoid in hyperbolic space!

29 Tubing jreality renders line sets as thin 3D tubes. These are implemented in a metric-neutral way. Euclidean: A tube is a cylinder. Metric-neutral: A tube is an equi-distant surface. Piece of hyperboloid in elliptic space, and of an ellipsoid in hyperbolic space!

30 Tubing jreality renders line sets as thin 3D tubes. These are implemented in a metric-neutral way. Euclidean: A tube is a cylinder. Metric-neutral: A tube is an equi-distant surface. Piece of hyperboloid in elliptic space, and of an ellipsoid in hyperbolic space!

31 Metric-neutral GPU rendering Real-time noneuclidean shading and rendering Implemented with an OpenGL Shading Language vertex shader All shading operations inner products, distance, light attenuation, fog, reflected directions... handled in metric-neutral way.

32 Metric-neutral GPU rendering Real-time noneuclidean shading and rendering Implemented with an OpenGL Shading Language vertex shader All shading operations inner products, distance, light attenuation, fog, reflected directions... handled in metric-neutral way.

33 Metric-neutral Picking Euclidean picking: intersect a ray with a viewing frustum. Intersections are called hits, and are sorted according to distance along the ray. To make this metric-neutral: Replace ray with a projective line segment [P s, P e ]. Must be careful to specify the correct segment: two points determine two segments! Replace the euclidean sorting key with an affine one. Can t use another metric distance since metrics are mixed in the scene graph. Homogeneous coordinates (u, v) for a hit P are the barycentric coordinates of P wrt (P s, P e ): P = up s + vp e. Choose representatives of P s and P e so same-sign (u, v) corresponds to desired segment. Affine coordinate is then v u : 0 at P s and at P e.

34 Metric-neutral Picking Euclidean picking: intersect a ray with a viewing frustum. Intersections are called hits, and are sorted according to distance along the ray. To make this metric-neutral: Replace ray with a projective line segment [P s, P e ]. Must be careful to specify the correct segment: two points determine two segments! Replace the euclidean sorting key with an affine one. Can t use another metric distance since metrics are mixed in the scene graph. Homogeneous coordinates (u, v) for a hit P are the barycentric coordinates of P wrt (P s, P e ): P = up s + vp e. Choose representatives of P s and P e so same-sign (u, v) corresponds to desired segment. Affine coordinate is then v u : 0 at P s and at P e.

35 Metric-neutral Picking Euclidean picking: intersect a ray with a viewing frustum. Intersections are called hits, and are sorted according to distance along the ray. To make this metric-neutral: Replace ray with a projective line segment [P s, P e ]. Must be careful to specify the correct segment: two points determine two segments! Replace the euclidean sorting key with an affine one. Can t use another metric distance since metrics are mixed in the scene graph. Homogeneous coordinates (u, v) for a hit P are the barycentric coordinates of P wrt (P s, P e ): P = up s + vp e. Choose representatives of P s and P e so same-sign (u, v) corresponds to desired segment. Affine coordinate is then v u : 0 at P s and at P e.

36 Interactive tools With metric-neutral picking in place, writing metric-neutral tools is usually just a matter of replacing the construction of a euclidean isometry by the construction of a noneuclidean isometry, based on the same picking information. See article for details.

37 Metric-neutral immersive environments

38 There are two main challenges in metric-neutral VR: The scaling problem The tracking problem

39 Scaling problem Assume we are dealing with a CAVE-like cubical room (2 m edgelength). Immersive environments are characterized by real units (cm, inches, etc). Noneuclidean spaces are characterized by fixed units, too. Example: In a room with unit length = 1 in, hyperbolic space fits in your hand. Cannot apply an isotropic scale to a noneuclidean world! Solution: Use a virtual device in jreality to change the units as tracking data is brought into jreality. Example: Hyperbolic space fits comfortably within a room with unit length = 5 m Be careful to update dependent variables, such as eye separation.

40 Tracking problem Traditional tracking systems provide a euclidean isometry to represent position and orientation of tracked observers and objects: F e = T e R e where T e is a translation and R e is the orientation. Standard tracking uses T e to move an off-axis camera to the eye-position P and render images for the walls Orientation part R e used only for L/R eye difference. Replace the euclidean isometries with noneuclidean ones. Construct the unique noneuclidean translation T n which moves the origin (0, 0, 0, 1) to P, and use it instead of T e to move the camera into position.

41 Tracking problem, cont. All rendered views remain valid noneuclidean views for the inside observer! Example As a hyperbolic observer moves away from an object, it decreases exponentially quickly in apparent size, as it should in hyperbolic space. Thought experiment: include the room in the scene graph. What does an observer see as he moves around? The euclidean observer should see that the virtual room remains glued to the real room. The noneuclidean observer, not. See article for figures and details. Also, see article for discussion of metric-neutral treatment of the orientation part of the tracking info (for wands and other pointing devices).

42 Metric-neutral 3D GUI jreality allows embedding 2D Java GUI in 3D scenes in a metric-neutral way.

43 Further directions Strategy: identify metric-neutral features and extend the euclidean functionality accordingly. Homogeneous model of geometric algebra work in progress. Kinematics Rigid body motion Subdivision surfaces

44 We have introduced and characterized a metric-neutral visualization system as one that supports infrastructure, interaction, and immersion for euclidean, hyperbolic and elliptic metrics. Description of a number of specific innovations, including: metric-neutral tubing, metric-neutral realtime shading, and metric-neutral tracking. Provides researchers and educators with significant improvement in the quality and ease of visualization. A tool to deepen appreciation of the manifold connections among these three fundamental geometries.

45 Notes Thank you for your attention. These slides may be found at:

274 Curves on Surfaces, Lecture 5

274 Curves on Surfaces, Lecture 5 274 Curves on Surfaces, Lecture 5 Dylan Thurston Notes by Qiaochu Yuan Fall 2012 5 Ideal polygons Previously we discussed three models of the hyperbolic plane: the Poincaré disk, the upper half-plane,

More information

To Do. Outline. Translation. Homogeneous Coordinates. Foundations of Computer Graphics. Representation of Points (4-Vectors) Start doing HW 1

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

The Use of Repeating Patterns to Teach Hyperbolic Geometry Concepts

The Use of Repeating Patterns to Teach Hyperbolic Geometry Concepts The Use of Repeating Patterns to Teach Hyperbolic Geometry Concepts Douglas Dunham Department of Computer Science University of Minnesota, Duluth Duluth, MN 55812-3036, USA E-mail: ddunham@d.umn.edu Web

More information

Overview. By end of the week:

Overview. By end of the week: Overview By end of the week: - Know the basics of git - Make sure we can all compile and run a C++/ OpenGL program - Understand the OpenGL rendering pipeline - Understand how matrices are used for geometric

More information

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 253

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 253 Index 3D reconstruction, 123 5+1-point algorithm, 274 5-point algorithm, 260 7-point algorithm, 255 8-point algorithm, 253 affine point, 43 affine transformation, 55 affine transformation group, 55 affine

More information

3D Computer Vision II. Reminder Projective Geometry, Transformations

3D Computer Vision II. Reminder Projective Geometry, Transformations 3D Computer Vision II Reminder Projective Geometry, Transformations Nassir Navab" based on a course given at UNC by Marc Pollefeys & the book Multiple View Geometry by Hartley & Zisserman" October 21,

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

Image Formation. Antonino Furnari. Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania

Image Formation. Antonino Furnari. Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania Image Formation Antonino Furnari Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania furnari@dmi.unict.it 18/03/2014 Outline Introduction; Geometric Primitives

More information

Rigid Body Motion and Image Formation. Jana Kosecka, CS 482

Rigid Body Motion and Image Formation. Jana Kosecka, CS 482 Rigid Body Motion and Image Formation Jana Kosecka, CS 482 A free vector is defined by a pair of points : Coordinates of the vector : 1 3D Rotation of Points Euler angles Rotation Matrices in 3D 3 by 3

More information

Part 0. The Background: Projective Geometry, Transformations and Estimation

Part 0. The Background: Projective Geometry, Transformations and Estimation Part 0 The Background: Projective Geometry, Transformations and Estimation La reproduction interdite (The Forbidden Reproduction), 1937, René Magritte. Courtesy of Museum Boijmans van Beuningen, Rotterdam.

More information

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263 Index 3D reconstruction, 125 5+1-point algorithm, 284 5-point algorithm, 270 7-point algorithm, 265 8-point algorithm, 263 affine point, 45 affine transformation, 57 affine transformation group, 57 affine

More information

Projective 2D Geometry

Projective 2D Geometry Projective D Geometry Multi View Geometry (Spring '08) Projective D Geometry Prof. Kyoung Mu Lee SoEECS, Seoul National University Homogeneous representation of lines and points Projective D Geometry Line

More information

Quadric Surfaces. Six basic types of quadric surfaces: ellipsoid. cone. elliptic paraboloid. hyperboloid of one sheet. hyperboloid of two sheets

Quadric Surfaces. Six basic types of quadric surfaces: ellipsoid. cone. elliptic paraboloid. hyperboloid of one sheet. hyperboloid of two sheets Quadric Surfaces Six basic types of quadric surfaces: ellipsoid cone elliptic paraboloid hyperboloid of one sheet hyperboloid of two sheets hyperbolic paraboloid (A) (B) (C) (D) (E) (F) 1. For each surface,

More information

calibrated coordinates Linear transformation pixel coordinates

calibrated coordinates Linear transformation pixel coordinates 1 calibrated coordinates Linear transformation pixel coordinates 2 Calibration with a rig Uncalibrated epipolar geometry Ambiguities in image formation Stratified reconstruction Autocalibration with partial

More information

CHAPTER 1 Graphics Systems and Models 3

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

Computer Vision. 2. Projective Geometry in 3D. Lars Schmidt-Thieme

Computer Vision. 2. Projective Geometry in 3D. Lars Schmidt-Thieme Computer Vision 2. Projective Geometry in 3D Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL) Institute for Computer Science University of Hildesheim, Germany 1 / 26 Syllabus Mon.

More information

Projective geometry for Computer Vision

Projective geometry for Computer Vision Department of Computer Science and Engineering IIT Delhi NIT, Rourkela March 27, 2010 Overview Pin-hole camera Why projective geometry? Reconstruction Computer vision geometry: main problems Correspondence

More information

CSE 252B: Computer Vision II

CSE 252B: Computer Vision II CSE 252B: Computer Vision II Lecturer: Serge Belongie Scribe: Sameer Agarwal LECTURE 1 Image Formation 1.1. The geometry of image formation We begin by considering the process of image formation when a

More information

The Interplay Between Hyperbolic Symmetry and History

The Interplay Between Hyperbolic Symmetry and History The Interplay Between Hyperbolic Symmetry and History Douglas Dunham Department of Computer Science University of Minnesota, Duluth Duluth, MN 55812-3036, USA E-mail: ddunham@d.umn.edu Web Site: http://www.d.umn.edu/

More information

Homogeneous Coordinates. Lecture18: Camera Models. Representation of Line and Point in 2D. Cross Product. Overall scaling is NOT important.

Homogeneous Coordinates. Lecture18: Camera Models. Representation of Line and Point in 2D. Cross Product. Overall scaling is NOT important. Homogeneous Coordinates Overall scaling is NOT important. CSED44:Introduction to Computer Vision (207F) Lecture8: Camera Models Bohyung Han CSE, POSTECH bhhan@postech.ac.kr (",, ) ()", ), )) ) 0 It is

More information

Homogeneous coordinates, lines, screws and twists

Homogeneous coordinates, lines, screws and twists Homogeneous coordinates, lines, screws and twists In lecture 1 of module 2, a brief mention was made of homogeneous coordinates, lines in R 3, screws and twists to describe the general motion of a rigid

More information

Geometric structures on 2-orbifolds

Geometric structures on 2-orbifolds Geometric structures on 2-orbifolds Section 1: Manifolds and differentiable structures S. Choi Department of Mathematical Science KAIST, Daejeon, South Korea 2010 Fall, Lectures at KAIST S. Choi (KAIST)

More information

Viewing with Computers (OpenGL)

Viewing with Computers (OpenGL) We can now return to three-dimension?', graphics from a computer perspective. Because viewing in computer graphics is based on the synthetic-camera model, we should be able to construct any of the classical

More information

Advanced Computer Graphics Transformations. Matthias Teschner

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

Scene Modeling for a Single View

Scene Modeling for a Single View Scene Modeling for a Single View René MAGRITTE Portrait d'edward James with a lot of slides stolen from Steve Seitz and David Brogan, 15-463: Computational Photography Alexei Efros, CMU, Fall 2005 Classes

More information

William P. Thurston. The Geometry and Topology of Three-Manifolds

William P. Thurston. The Geometry and Topology of Three-Manifolds William P. Thurston The Geometry and Topology of Three-Manifolds Electronic version 1.1 - March 2002 http://www.msri.org/publications/books/gt3m/ This is an electronic edition of the 1980 notes distributed

More information

Recent Results in Chain Geometry

Recent Results in Chain Geometry Recent Results in Chain Geometry Hans Havlicek Institut für Geometrie, Technische Universität Wien Vienna, Austria Varna, August 2001 Part 1 Basic Concepts W. Benz. Vorlesungen über Geometrie der Algebren.

More information

arxiv: v4 [math.gm] 23 May 2016

arxiv: v4 [math.gm] 23 May 2016 arxiv:1411.6502v4 [math.gm] 23 May 2016 Geometric algebras for euclidean geometry Charles Gunn Keywords. metric geometry, euclidean geometry, Cayley-Klein construction, dual exterior algebra, projective

More information

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

More information

Technische Universität München Zentrum Mathematik

Technische Universität München Zentrum Mathematik Technische Universität München Zentrum Mathematik Prof. Dr. Dr. Jürgen Richter-Gebert, Bernhard Werner Projective Geometry SS 28 https://www-m.ma.tum.de/bin/view/lehre/ss8/pgss8/webhome Solutions for Worksheet

More information

METR Robotics Tutorial 2 Week 2: Homogeneous Coordinates

METR Robotics Tutorial 2 Week 2: Homogeneous Coordinates METR4202 -- Robotics Tutorial 2 Week 2: Homogeneous Coordinates The objective of this tutorial is to explore homogenous transformations. The MATLAB robotics toolbox developed by Peter Corke might be a

More information

Ray Tracer I: Ray Casting Due date: 12:00pm December 3, 2001

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

Multiple View Geometry in Computer Vision

Multiple View Geometry in Computer Vision Multiple View Geometry in Computer Vision Prasanna Sahoo Department of Mathematics University of Louisville 1 Projective 3D Geometry (Back to Chapter 2) Lecture 6 2 Singular Value Decomposition Given a

More information

Scene Modeling for a Single View

Scene Modeling for a Single View Scene Modeling for a Single View René MAGRITTE Portrait d'edward James CS194: Image Manipulation & Computational Photography with a lot of slides stolen from Alexei Efros, UC Berkeley, Fall 2014 Steve

More information

Today. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices

Today. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices Computergrafik Matthias Zwicker Universität Bern Herbst 2008 Today Transformations & matrices Introduction Matrices Homogeneous Affine transformations Concatenating transformations Change of Common coordinate

More information

Stereo Vision. MAN-522 Computer Vision

Stereo Vision. MAN-522 Computer Vision Stereo Vision MAN-522 Computer Vision What is the goal of stereo vision? The recovery of the 3D structure of a scene using two or more images of the 3D scene, each acquired from a different viewpoint in

More information

pα i + q, where (n, m, p and q depend on i). 6. GROMOV S INVARIANT AND THE VOLUME OF A HYPERBOLIC MANIFOLD

pα i + q, where (n, m, p and q depend on i). 6. GROMOV S INVARIANT AND THE VOLUME OF A HYPERBOLIC MANIFOLD 6. GROMOV S INVARIANT AND THE VOLUME OF A HYPERBOLIC MANIFOLD of π 1 (M 2 )onπ 1 (M 4 ) by conjugation. π 1 (M 4 ) has a trivial center, so in other words the action of π 1 (M 4 ) on itself is effective.

More information

GEOMETRIC TRANSFORMATIONS AND VIEWING

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

Robot Vision: Projective Geometry

Robot Vision: Projective Geometry Robot Vision: Projective Geometry Ass.Prof. Friedrich Fraundorfer SS 2018 1 Learning goals Understand homogeneous coordinates Understand points, line, plane parameters and interpret them geometrically

More information

TNM079 Modeling & Animation Lecture 6 (Implicit surfaces)

TNM079 Modeling & Animation Lecture 6 (Implicit surfaces) TNM079 Modeling & Animation Lecture 6 (Implicit surfaces) Mark Eric Dieckmann, Media and Information Technology, ITN Linköpings universitet Campus Norrköping SE-60174 Norrköping May 4, 2016 Content of

More information

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009 Model s Lecture 3 Sections 2.2, 4.4 World s Eye s Clip s s s Window s Hampden-Sydney College Mon, Aug 31, 2009 Outline Model s World s Eye s Clip s s s Window s 1 2 3 Model s World s Eye s Clip s s s Window

More information

Last week. Machiraju/Zhang/Möller/Fuhrmann

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

Humanoid Robotics. Projective Geometry, Homogeneous Coordinates. (brief introduction) Maren Bennewitz

Humanoid Robotics. Projective Geometry, Homogeneous Coordinates. (brief introduction) Maren Bennewitz Humanoid Robotics Projective Geometry, Homogeneous Coordinates (brief introduction) Maren Bennewitz Motivation Cameras generate a projected image of the 3D world In Euclidian geometry, the math for describing

More information

CS451Real-time Rendering Pipeline

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

Multiple View Geometry in Computer Vision Second Edition

Multiple View Geometry in Computer Vision Second Edition Multiple View Geometry in Computer Vision Second Edition Richard Hartley Australian National University, Canberra, Australia Andrew Zisserman University of Oxford, UK CAMBRIDGE UNIVERSITY PRESS Contents

More information

Rendering 3D Tessellations with Conformal Curvilinear Perspective

Rendering 3D Tessellations with Conformal Curvilinear Perspective Rendering 3D Tessellations with Conformal Curvilinear Perspective Charles Gunn TU Berlin, Institute for Mathematics 8-3 10623 Berlin Germany gunn@math.tu-berlin.de Abstract Traditional perspective painting

More information

CS-9645 Introduction to Computer Vision Techniques Winter 2019

CS-9645 Introduction to Computer Vision Techniques Winter 2019 Table of Contents Projective Geometry... 1 Definitions...1 Axioms of Projective Geometry... Ideal Points...3 Geometric Interpretation... 3 Fundamental Transformations of Projective Geometry... 4 The D

More information

Technische Universität München Zentrum Mathematik

Technische Universität München Zentrum Mathematik Technische Universität München Zentrum Mathematik Prof. Dr. Dr. Jürgen Richter-Gebert, Bernhard Werner Projective Geometry SS 208 https://www-m0.ma.tum.de/bin/view/lehre/ss8/pgss8/webhome Solutions for

More information

Scene Modeling for a Single View

Scene Modeling for a Single View on to 3D Scene Modeling for a Single View We want real 3D scene walk-throughs: rotation translation Can we do it from a single photograph? Reading: A. Criminisi, I. Reid and A. Zisserman, Single View Metrology

More information

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017 CS354 Computer Graphics Ray Tracing Qixing Huang Januray 24th 2017 Graphics Pipeline Elements of rendering Object Light Material Camera Geometric optics Modern theories of light treat it as both a wave

More information

3D Viewing. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

3D Viewing. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller 3D Viewing CMPT 361 Introduction to Computer Graphics Torsten Möller Reading Chapter 4 of Angel Chapter 6 of Foley, van Dam, 2 Objectives What kind of camera we use? (pinhole) What projections make sense

More information

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL International Edition Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL Sixth Edition Edward Angel Dave Shreiner Interactive Computer Graphics: A Top-Down Approach with Shader-Based

More information

Interpretations and Models. Chapter Axiomatic Systems and Incidence Geometry

Interpretations and Models. Chapter Axiomatic Systems and Incidence Geometry Interpretations and Models Chapter 2.1-2.4 - Axiomatic Systems and Incidence Geometry Axiomatic Systems in Mathematics The gold standard for rigor in an area of mathematics Not fully achieved in most areas

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

THE GEOMETRY OF MOVEMENT.

THE GEOMETRY OF MOVEMENT. 4 76 THE GEOMETRY OF MOVEMENT. [J u ty? THE GEOMETRY OF MOVEMENT. Geometrie der Bewegung in synlhetischer Darstellung. Von Dr. ARTHUR SCHOENFLIES. Leipzig, B. G. Teubner, 1886. 8vo, pp. vi + 194. La Géométrie

More information

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics Ray Casting. Matthias Teschner Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg

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

William P. Thurston. The Geometry and Topology of Three-Manifolds

William P. Thurston. The Geometry and Topology of Three-Manifolds William P. Thurston The Geometry and Topology of Three-Manifolds Electronic version 1.0 - October 1997 http://www.msri.org/gt3m/ This is an electronic edition of the 1980 notes distributed by Princeton

More information

MAT175 Overview and Sample Problems

MAT175 Overview and Sample Problems MAT175 Overview and Sample Problems The course begins with a quick review/overview of one-variable integration including the Fundamental Theorem of Calculus, u-substitutions, integration by parts, and

More information

A simple OpenGL animation Due: Wednesday, January 27 at 4pm

A simple OpenGL animation Due: Wednesday, January 27 at 4pm CMSC 23700 Winter 2010 Introduction to Computer Graphics Project 1 January 12 A simple OpenGL animation Due: Wednesday, January 27 at 4pm 1 Summary This project is the first part of a three-part project.

More information

jreality Interactive Audiovisual Applications Across Virtual Environments

jreality Interactive Audiovisual Applications Across Virtual Environments jreality Interactive Audiovisual Applications Across Virtual Environments Peter Brinkmann The City College of New York Charles Gunn Technische Universität Berlin Steffen Weißmann Technische Universität

More information

Exponential Maps for Computer Vision

Exponential Maps for Computer Vision Exponential Maps for Computer Vision Nick Birnie School of Informatics University of Edinburgh 1 Introduction In computer vision, the exponential map is the natural generalisation of the ordinary exponential

More information

Planes Intersecting Cones: Static Hypertext Version

Planes Intersecting Cones: Static Hypertext Version Page 1 of 12 Planes Intersecting Cones: Static Hypertext Version On this page, we develop some of the details of the plane-slicing-cone picture discussed in the introduction. The relationship between the

More information

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image

More information

CUBICAL SIMPLICIAL VOLUME OF SURFACES

CUBICAL SIMPLICIAL VOLUME OF SURFACES CUBICAL SIMPLICIAL VOLUME OF SURFACES CLARA LÖH AND CHRISTIAN PLANKL ABSTRACT. Cubical simplicial volume is a variation on simplicial volume, based on cubes instead of simplices. Both invariants are homotopy

More information

CS230 : Computer Graphics Lecture 6: Viewing Transformations. Tamar Shinar Computer Science & Engineering UC Riverside

CS230 : Computer Graphics Lecture 6: Viewing Transformations. Tamar Shinar Computer Science & Engineering UC Riverside CS230 : Computer Graphics Lecture 6: Viewing Transformations Tamar Shinar Computer Science & Engineering UC Riverside Rendering approaches 1. image-oriented foreach pixel... 2. object-oriented foreach

More information

Computer Graphics I Lecture 11

Computer Graphics I Lecture 11 15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

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

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather

More information

Two Connections between Combinatorial and Differential Geometry

Two Connections between Combinatorial and Differential Geometry Two Connections between Combinatorial and Differential Geometry John M. Sullivan Institut für Mathematik, Technische Universität Berlin Berlin Mathematical School DFG Research Group Polyhedral Surfaces

More information

Geometric Algebra. 8. Conformal Geometric Algebra. Dr Chris Doran ARM Research

Geometric Algebra. 8. Conformal Geometric Algebra. Dr Chris Doran ARM Research Geometric Algebra 8. Conformal Geometric Algebra Dr Chris Doran ARM Research Motivation Projective geometry showed that there is considerable value in treating points as vectors Key to this is a homogeneous

More information

Introduction to Coxeter Groups

Introduction to Coxeter Groups OSU April 25, 2011 http://www.math.ohio-state.edu/ mdavis/ 1 Geometric reflection groups Some history Properties 2 Some history Properties Dihedral groups A dihedral gp is any gp which is generated by

More information

Auto-calibration. Computer Vision II CSE 252B

Auto-calibration. Computer Vision II CSE 252B Auto-calibration Computer Vision II CSE 252B 2D Affine Rectification Solve for planar projective transformation that maps line (back) to line at infinity Solve as a Householder matrix Euclidean Projective

More information

Hyperbolic structures and triangulations

Hyperbolic structures and triangulations CHAPTER Hyperbolic structures and triangulations In chapter 3, we learned that hyperbolic structures lead to developing maps and holonomy, and that the developing map is a covering map if and only if the

More information

Chapter 9. Linear algebra applications in geometry

Chapter 9. Linear algebra applications in geometry Chapter 9. Linear algebra applications in geometry C.O.S. Sorzano Biomedical Engineering August 25, 2013 9. Linear algebra applications in geometry August 25, 2013 1 / 73 Outline 9 Linear algebra applications

More information

A Short Introduction to Projective Geometry

A Short Introduction to Projective Geometry A Short Introduction to Projective Geometry Vector Spaces over Finite Fields We are interested only in vector spaces of finite dimension. To avoid a notational difficulty that will become apparent later,

More information

Camera model and multiple view geometry

Camera model and multiple view geometry Chapter Camera model and multiple view geometry Before discussing how D information can be obtained from images it is important to know how images are formed First the camera model is introduced and then

More information

3D Modeling using multiple images Exam January 2008

3D Modeling using multiple images Exam January 2008 3D Modeling using multiple images Exam January 2008 All documents are allowed. Answers should be justified. The different sections below are independant. 1 3D Reconstruction A Robust Approche Consider

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

PROJECTIVE SPACE AND THE PINHOLE CAMERA

PROJECTIVE SPACE AND THE PINHOLE CAMERA PROJECTIVE SPACE AND THE PINHOLE CAMERA MOUSA REBOUH Abstract. Here we provide (linear algebra) proofs of the ancient theorem of Pappus and the contemporary theorem of Desargues on collineations. We also

More information

INTRODUCTION TO 3-MANIFOLDS

INTRODUCTION TO 3-MANIFOLDS INTRODUCTION TO 3-MANIFOLDS NIK AKSAMIT As we know, a topological n-manifold X is a Hausdorff space such that every point contained in it has a neighborhood (is contained in an open set) homeomorphic to

More information

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

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

Technische Universität München Zentrum Mathematik

Technische Universität München Zentrum Mathematik Question 1. Incidence matrix with gaps Technische Universität München Zentrum Mathematik Prof. Dr. Dr. Jürgen Richter-Gebert, Bernhard Werner Projective Geometry SS 2016 www-m10.ma.tum.de/projektivegeometriess16

More information

(Discrete) Differential Geometry

(Discrete) Differential Geometry (Discrete) Differential Geometry Motivation Understand the structure of the surface Properties: smoothness, curviness, important directions How to modify the surface to change these properties What properties

More information

The Construction of a Hyperbolic 4-Manifold with a Single Cusp, Following Kolpakov and Martelli. Christopher Abram

The Construction of a Hyperbolic 4-Manifold with a Single Cusp, Following Kolpakov and Martelli. Christopher Abram The Construction of a Hyperbolic 4-Manifold with a Single Cusp, Following Kolpakov and Martelli by Christopher Abram A Thesis Presented in Partial Fulfillment of the Requirement for the Degree Master of

More information

Scene Modeling for a Single View

Scene Modeling for a Single View Scene Modeling for a Single View René MAGRITTE Portrait d'edward James with a lot of slides stolen from Steve Seitz and David Brogan, Breaking out of 2D now we are ready to break out of 2D And enter the

More information

Coordinate Transformations & Homogeneous Coordinates

Coordinate Transformations & Homogeneous Coordinates CS-C31 (Introduction to) Computer Graphics Jaakko Lehtinen Coordinate Transformations & Homogeneous Coordinates Lots of slides from Frédo Durand CS-C31 Fall 216 Lehtinen Outline Intro to Transformations

More information

Tentti/Exam Midterm 2/Välikoe 2, December

Tentti/Exam Midterm 2/Välikoe 2, December 1: 2: 3: Extra: Total 1-3: / 23 4: 5: 6: Total 4-6: / 20 Aalto ME-C3100 Computer Graphics, Fall 2015 Lehtinen / Kemppinen, Ollikainen, Puomio Tentti/Exam Midterm 2/Välikoe 2, December 16 2015 Name, student

More information

Introduction to Geometric Algebra Lecture V

Introduction to Geometric Algebra Lecture V Introduction to Geometric Algebra Lecture V 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

3D Viewing. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

3D Viewing. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller 3D Viewing Introduction to Computer Graphics Torsten Möller Machiraju/Zhang/Möller Reading Chapter 4 of Angel Chapter 13 of Hughes, van Dam, Chapter 7 of Shirley+Marschner Machiraju/Zhang/Möller 2 Objectives

More information

Computer Vision I - Appearance-based Matching and Projective Geometry

Computer Vision I - Appearance-based Matching and Projective Geometry Computer Vision I - Appearance-based Matching and Projective Geometry Carsten Rother 01/11/2016 Computer Vision I: Image Formation Process Roadmap for next four lectures Computer Vision I: Image Formation

More information

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading: Reading Required: Watt, Section 5.2.2 5.2.4, 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading: 18. Projections and Z-buffers Foley, et al, Chapter 5.6 and Chapter 6 David F. Rogers

More information

3.6: First Person Computer Games

3.6: First Person Computer Games 3.6: First Person Computer Games Projections of 3-D Objects Alice is an educational software program that uses a 3-D environment to teach students programming. If you have not done so already, please download

More information

Game Architecture. 2/19/16: Rasterization

Game Architecture. 2/19/16: Rasterization Game Architecture 2/19/16: Rasterization Viewing To render a scene, need to know Where am I and What am I looking at The view transform is the matrix that does this Maps a standard view space into world

More information

Cambridge University Press Hyperbolic Geometry from a Local Viewpoint Linda Keen and Nikola Lakic Excerpt More information

Cambridge University Press Hyperbolic Geometry from a Local Viewpoint Linda Keen and Nikola Lakic Excerpt More information Introduction Geometry is the study of spatial relationships, such as the familiar assertion from elementary plane Euclidean geometry that, if two triangles have sides of the same lengths, then they are

More information

CS 130 Exam I. Fall 2015

CS 130 Exam I. Fall 2015 S 3 Exam I Fall 25 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 information

CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012.

CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012. CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions The Midterm Exam was given in class on Tuesday, October 16, 2012. 1. [7 pts] Synthetic-Camera Model. Describe the Synthetic-Camera Model : how

More information

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world

More information

Computer Graphics Shadow Algorithms

Computer Graphics Shadow Algorithms Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows

More information

Kutztown University Kutztown, Pennsylvania. MAT 550: Foundations of Geometry

Kutztown University Kutztown, Pennsylvania. MAT 550: Foundations of Geometry Kutztown University Kutztown, Pennsylvania I. Three semester hours; three clock hours; this is an elective course in the M.Ed. or M.A. degree programs in mathematics. II. Catalog Description: 3 s.h. Foundational

More information