Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.

Slides:



Advertisements
Similar presentations
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Advertisements

ADA: 15. Basic Math1 Objective o a reminder about dot product and cross product, and their use for analyzing line segments (e.g. do two segments.
Computational Geometry II Brian Chen Rice University Computer Science.
3D Graphics Rendering and Terrain Modeling
Convex Hull obstacle start end Convex Hull Convex Hull
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
Introduction to Computer Graphics Chapter 6 – 2D Viewing Pt 2 1.
Informationsteknologi Wednesday, November 7, 2007Computer Graphics - Class 51 Today’s class Geometric objects and transformations.
5/17/2015 1:32 AMConvex Hull1 obstacle start end.

CS 450: Computer Graphics OVERVIEW OF POLYGONS
Computational Geometry & Collision detection
1st Meeting Industrial Geometry Computational Geometry ---- Some Basic Structures 1st IG-Meeting.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
9/5/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Plane Sweep Algorithms and Segment Intersection Carola Wenk.
Informationsteknologi Thursday, November 22, 2007Computer Graphics - Class 111 Today’s class Clipping Parametric and point-normal form of lines Intersecting.
CS 128/ES Lecture 12b1 Spatial Analysis (3D)
Chapter 11: Advanced Rendering Part 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
CS 128/ES Lecture 12b1 Spatial Analysis (3D)
Ray Tracing Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University of.
Introduction to Computational Geometry Computational Geometry, WS 2007/08 Lecture 1 – Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut.
Lection 1: Introduction Computational Geometry Prof.Dr.Th.Ottmann 1 History: Proof-based, algorithmic, axiomatic geometry, computational geometry today.
Epipolar geometry. (i)Correspondence geometry: Given an image point x in the first view, how does this constrain the position of the corresponding point.
Projective geometry Slides from Steve Seitz and Daniel DeMenthon
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
Vectors.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Geometric Algorithms1 segment intersection orientation point inclusion simple closed path.
UNC Chapel Hill M. C. Lin Point Location Chapter 6 of the Textbook –Review –Algorithm Analysis –Dealing with Degeneracies.
Advanced Algorithm Design and Analysis (Lecture 9) SW5 fall 2004 Simonas Šaltenis E1-215b
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Lecture 11 Stereo Reconstruction I Lecture 11 Stereo Reconstruction I Mata kuliah: T Computer Vision Tahun: 2010.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
Single View Geometry Course web page: vision.cis.udel.edu/cv April 7, 2003  Lecture 19.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
CS 325 Introduction to Computer Graphics 03 / 08 / 2010 Instructor: Michael Eckmann.
Mathematics for Graphics. 1 Objectives Introduce the elements of geometry  Scalars  Vectors  Points Develop mathematical operations among them in a.
CSCE 5013 Computer Vision Fall 2011 Prof. John Gauch
An Application of Tetrahedrisation to From-Point Visibility Honours Project Proposal Gerard Ryan and Brendon Miszka
UNC Chapel Hill M. C. Lin COMP290-72: Computational Geometry and Applications Tues/Thurs 2:00pm - 3:15pm (SN 325) Ming C. Lin
Linear Interpolation (for curve 01).  This chapter discusses straight lines and flat surfaces that are defined by points.  The application of these.
Spatial Databases: Digital Terrain Model Spring, 2015 Ki-Joune Li.
Programming 3D Applications CE Displaying Computer Graphics Week 3 Lecture 5 Bob Hobbs Faculty of Computing, Engineering and Technology Staffordshire.
Background Mathematics Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006.
CMPS 3130/6130 Computational Geometry Spring 2015
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Rendering Pipeline Fall, D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination.
homogeneous coordinates equationmisc point(w ; x, y, z)r w = S 0 where S 0 = xi + yj + zk  3 points in 3D space.
CS6234 Advanced Algorithms - Convex hull. Terminologies – ◦ Convex hull of a set Q of points is the smallest convex polygon P for which each point in.
Computational Geometry 2012/10/23. Computational Geometry A branch of computer science that studies algorithms for solving geometric problems Applications:
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Graphics Graphics Korea University kucg.korea.ac.kr Geometric Primitives 고려대학교 컴퓨터 그래픽스 연구실.
3D Rendering 2016, Fall.
Rendering Pipeline Fall, 2015.
CMPS 3130/6130 Computational Geometry Spring 2017
3D Graphics Rendering PPT By Ricardo Veguilla.
3D Clipping.
Two-view geometry Computer Vision Spring 2018, Lecture 10
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
Convex Hull obstacle start end 11/21/2018 4:05 AM Convex Hull
Computational Geometry
Spatial Databases: Digital Terrain Model
Convex Hull obstacle start end 4/30/2019 5:21 PM Convex Hull
Spatial Databases: Digital Terrain Model
Presentation transcript:

Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically fast. Two key ingredients of a good algorithmic solution:  Thorough understanding of the problem geometry.  Proper application of algorithmic techniques and data structures.

Example 1  Proximity Closest café on campus? Voronoi diagram Delaunay triangulation

Example 2  Path Planning Robot How can a robot find a short route to the destination that avoids all obstacles?

Applications in Computer Graphics Creating scene images on a display device.  Intersect geometric primitives (lines, polygons, polyhedra, etc.)  Determine primitives lying in a region.  Hidden surface removal – determine the visible part of a 3D scene while discard the occluded part from a view point.  Create realistic-looking scenes – taking into account lighting and computing shadows.  Deal with moving objects and detect collisions.

Applications in Robotics How the robot perceives, understands, and acts upon its environment,  Motion planning.  Grasping.  Parts orienting.  Optimal placement.

Applications in GIS Storage of geographical data (contours of countries, height of mountains, course of rivers, population, roads, electricity lines, etc.)  Large amount of data – requiring efficient algorithms.  Geographic data storage (e.g., map of roads for car positioning or computer display).  Interpolation between nearby sample data points  Overlay of multiple maps.

Applications in CAD/CAM Design of Products with a computer.  Intersection, union, and decomposition of objects.  Testing on product specifications.  Design for assembly – modeling and simulation of assembly.  Testing design for feasibility.

Line Segments & Vectors p = (x, y ) 1 2 O = (0, 0)x y 1 2 Points (vectors): p, p, p  p = p p p  p = (x  x, y  y ) 1 2 Line segment: p p = p p

Dot (Inner) Product x y (0, 0) p p 1 2 p  p = x x + y y = p  p = |p | |p | cos  

Cross (Vector) Product x y (0, 0) p p 1 p + p p  p is the signed area of the parallelogram. 1 2 p  p = x y  x y =  p  p = |p | |p | sin   p and p are collinear iff p  p =

Turning of Consecutive Segments Counterclockwise Clockwise No turn (collinear) p p p p p p pp p 0 12 p p  p p > p p  p p < p p  p p = Segments p p and p p. Move from p to p then to p

Intersection of Two Lines p Rewrite the above equations in terms of dot products: Hence is perpendicular to both and. must be parallel to their cross product!

Homogeneous Coordinates Represent every point as homogeneous coordinates of Intersection is parallel to the cross product vector: Normalize the z-coordinate of the cross product to 1. Hence the intersection point: homogeneous coordinates of intersection

Intersection Example Find the intersect point of the lines: Take the cross product of the two coefficient vectors: Intersection point:

Two Parallel Lines point at infinity Two parallel lines “intersect” at infinity.

Line through Two Points Scaling yields the same line! Ex. The line through (3, 1) and (-4, 5) has coefficients (i.e., homogeneous coordinates) and equation

Advantages of Homogeneous Coordinates Scaling independent: Uniform handling of all cases (horizontal, perpendicular, parallel lines, etc.) No need to solve equations – just take a cross product. all represent the same point