On the data structures and algorithms for contact detection in granular media (DEM) V. Ogarko, May 2010, P2C course
|
|
- Terence O’Neal’
- 5 years ago
- Views:
Transcription
1 On the data structures and algorithms for contact detection in granular media (DEM) V. Ogarko, May 2010, P2C course
2 Discrete element method (DEM) Single particle Challenges: -performance O(N) (with low const. factor) -memory O(N) - Contacts N ~ Polydispersity ~ CONCRETE Many particles Material FRACTIONS Multiphase flow
3 Contact detection scheme (in general) 1 st stage 2 nd stage simple for spherical particles Broad phase: collect candidate pairs Narrow phase: exact check
4 Data structure desired for DEM - Computational cost O(N) + also for polydisperse particles include cost to create data structure, and # of pair candidates (output) with respect to N -Memory consumption O(N) -Dynamics (conveying belts, etc) -Parallelization -Periodic boundary conditions -Robustness -Additional: easy boundary collision check with DT,
5 Data structures: -All pairs check: never used! unless N < 11 J -Delaunay triangulation -Spatial subdivision Grids (uniform= Linked Cells, hierarchical) HierarchicalTrees (OcTree, ) -Sorting ( sort and sweep, etc): requires sorting ~ NlogN -Verlet list: very easy to implement, but slow for large N [1]
6 Data structures: Kinetic data structures: replace coordinates of objects with function of time. Need to know continuous trajectory (~ like ED) not appropriated for MD. Non kinetic data structures: for MD. Do not confuse kinetic with dynamic!
7 1. Triangulations
8
9 DEF: a Delaunay triangulation for a set P of points in the plane is a triangulation DT(P) such that no point in P is inside the circumcircle of any triangle in DT(P).
10 Contact detection with DT: check all particles connected by edge usually ~ O(N) edges
11 Weighted Delaunay triangulations: why? Not weighted (simple) DT can fail when Rmax / Rmin > Each weighted point (pi, wi) can be regarded as a N dimensional sphere with center pi and radius ri = sqrt(wi).
12 Weighted Delaunay triangulations: is Each weighted point (pi, wi) can be regarded as a N dimensional sphere with center pi and radius ri = sqrt(wi).
13 Exmaple: simple Delaunay fails contact when weighted Delaunay detects. Actual contact is between two red particles.
14 and can be more complicated cases (obtained from MD simulation): Actual contact is between two red particles. simple Delaunay weighted Delaunay
15
16 Weighted Delaunay triangulations: when? Less-orthogonality condition: Theorem.
17 Delaunay triangulation with super linear number of edges. A triangulation with a quadratic number of edges.
18 Stability of Delaunay triangulations. Arbitrarily small displacements can result in large changes to the triangulation. In most cases there is some tolerance around each vertex.
19 2. Spatial partitioning: linked cells, hierarchical grid and trees
20 2.1 Grids
21 On the some issues of uniform grid ( Linked Cells ) Cell Size Issues:
22 On the some issues of uniform grid Cell Size Issues: Cell size is generally adjusted to be large enough to fit the largest object. Then an object overlaps no more than four cells (for a 2D grid; eight for a 3D grid). less work is required to insert, update and to perform the actual overlap tests.
23 Storing objects in a grid. Each cell points to a linked list of objects in cell, or be NULL if empty.
24 Storing objects in a grid. -Insertion new object (at the head of list) is O(1). -Updating and deletion of an arbitrary object is O(m). -Updating and deletion can also be made O(1) by using a double-linked list. -Access to cell position for an object on any level is O(1). -Access to neighbors of current cell is O(1).
25 Storing grid Options: - Dense array (elements one-to-one). Memory required ~ O(grid size) drawback: for large grids just storing the list headers in each grid cell becomes prohibitively expensive need to increase cell size performance decreases L - Hashing (next slides)
26 Why do we need hashing storage? Number of cells is HUGE but only ~ N cells are occupied -especially for high polydispersity -especially for low volume fraction -especially in 3D
27 Hash functions (basic) DEF. A hash function is any well-defined procedure or mathematical function that converts a large, possibly variable-sized amount of data into a single integer. That may serve as an index to an array. Example 1: hash(x, y) = (M1*x + M2*y) mod m, M1, M2 large arb. prime const. M1 = 0x8da6b343; M2 = 0xd ; Col=11612 Example 2: Bernstein hash hash = 0; hash = 33 * hash + x; hash = 33 * hash + y; hash = hash mod m; Bernstein's hash should be used with caution. It performs very well in practice, for no apparently known reasons (much like how the constant 33 does better than more logical constants for no apparent reason), but in theory it is not up to snuff. Always test this function with sample data for every application to ensure that it does not encounter a degenerate case and cause excessive collisions. Col= Example 3: FNV hash hash = ; hash = ( hash * ) ^ x; hash = ( hash * ) ^ y; hash = hash mod m; Col=17774
28 Designing hash functions Designing a hash function is more trial and error with a touch of theory than any well defined procedure. For example, beyond making the connection between random numbers and the desirable random distribution of hash values, the better part of the design for my JSW hash involved playing around with constants to see what would work best. Iwould also be lying if I said that the choice of operations was not almost completely random trial and error by pulling from a pool of combinations of XOR, OR, AND, addition, subtraction, and multiplication. I will not claim that hash function design is always like that, but the evidence certainly suggests it. If you design hash functions in a deterministic way, I would love to hear from you. (c) Julienne Walker Exercise 1: Design your hash function and compare it with those from Examples # 1, 2, 3 for you data set (check the number of hash collisions).
29 Issues: hash collisions resolution methods 1) Chaining (= open hashing or closed addressing ) next slide 2) Linear probing (= closed hashing ) Load factor = the ratio N / S, S size of bucket array, N = # elements stored My recommendations: S = closest prime to 2 * N (or power of two - better) Load factor = 0.5 Do not use load factor > 0.7!
30 Issues: hash collisions Chaining GRID Hash table
31 Storing grid: summary Options: Dense array (elements one-to-one). Memory required ~ O(grid size) drawback: for large grids just storing the list headers in each grid cell becomes prohibitively expensive Hash storage Memory required ~ O(number of objects)!!! advantages: -allowing the grid to be unbounded in size! -independent of the grid (system) size, as consequence don t need to rebuild grid for systems with variable size (e.g. moving walls) drawback: -hash collisions resolution but we can make it! J
32 CONTD Uniform grid object-object test issues What object feature should be used to determine which cell the object goes into? Usual approaches: 1) object bounding sphere center 2) top leftmost corner of the axis-aligned bounding box (AABB) For spherical particles the choice is evident J
33 Uniform grid object-object test issues Should objects be placed in just one representative cell or all cells they overlap? Advantages of all cells -possibly less number of cells to test, in the best case only one (depends of how many cells objects overlap) But, it complicates for updating when objects move and uses more memory. My choice: ONE CELL
34 AABB overlap test: almost always is good! Exercise 2: Check advantage of AABB overlap test for you data set.
35 2.2 Hierarchical tree
36 Hierarchical tree representation Flat array: parent node node[i] has children node[8*i+1] node[8*i+8] (for an octree) -requires the tree being stored as a complete tree -tree must be preallocated to a specific depth and cannot easily grow further => more suitable for static scenes Pointer-based: more useful for dynamic scenes in which the tree is constantly updated. Small pointer-based tree:
37 Storing objects in a tree. -Each node contains linked list of objects. -Insertion new object is O(log m), m number of nodes in the tree. -Access to the node is O(log n) -Access to the children nodes is O(1) -Access to the neighbors is expensive
38 Hierarchical tree issues Put an object on the deepest level where it is not straddling a partitioning plane. (because access to the neighbor nodes is expensive) -stuck at the 0 level -stuck at the 1st level -lie at the 2nd level (fit 100%)
39 Hierarchical tree object-object test issues: all test at time Objects of each nonempty node are checked against all objects in the subtree below the node. A-B A-C A-D A-E A-F A-G A-N A-O B-D B-E B-H B-I B-J B-K D-H D-I
40 Other trees. -Linear Octrees (Hash-based) - access to any node O(1) -Loose Octrees -deal with stuck high up problem -insertion an object is O(1) -k-d Trees -divides space along one dimension at a time -for collision detection -for point location -for nearest neighbor search -for range search -not good for dynamic data 2D k-d tree -Hybrid Schemes
41 2.3 Hierarchical hashed grid. Problem of uniform grid: inability to deal with objects of greatly varying sizes in a graceful way. Solution: use hierarchical grids -set of uniform grids of varying cell sizes, all overlapping to cover the same space. Objects are inserted into a single cell on just one of the levels. Choose level where the cells are large enough to contain the bounding volume of the object. Grid is stored in a hash table
42 Hierarchical hashed grid (for bi-disperse system)
43 A small 1D hierarchical grid: Objects, A through F, have each been inserted in the cell containing the object center point, on the appropriate grid level. The shaded cells must be tested when performing a collision check for object C.
44 Advantages: -Performance O(N) -Memory consumption O(N) - Unbounded systems - Parallelization - Periodic BC s - Dynamics Hierarchical hashed grid Open questions: -Optimum number of levels (?) -Cell sizes (?) Ok!??
45 Hierarchical hashed grid Algorithm: on white board
46 Comparison hierarchical trees (simple) and grids. -Trees are rooted. Time is spent traversing the (largely) empty top of the tree to get at the lower-level nodes where the objects are. -In tree objects could stuck in high level. -Hgrid (hashed) doesn t need to know the world size, but tree does. -Insertion object in hgrid is O(1), but in tree O(m). -Hgrid levels can be dynamically deactivated so that no empty levels are processed. Possible to avoid some of tree problems by using other types of trees, but not for free.
47 Results for polydisperse packings (Rmax/Rmin=10). 2D case.
48 Results for polydisperse packings (Rmax/Rmin=10). 3D case.
49 Thank you J
Intersection Acceleration
Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees
More informationAnnouncements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday
Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations
More informationCollision Detection based on Spatial Partitioning
Simulation in Computer Graphics Collision Detection based on Spatial Partitioning Matthias Teschner Computer Science Department University of Freiburg Outline introduction uniform grid Octree and k-d tree
More informationParallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li
Parallel Physically Based Path-tracing and Shading Part 3 of 2 CIS565 Fall 202 University of Pennsylvania by Yining Karl Li Jim Scott 2009 Spatial cceleration Structures: KD-Trees *Some portions of these
More informationSimulation in Computer Graphics Space Subdivision. Matthias Teschner
Simulation in Computer Graphics Space Subdivision Matthias Teschner Outline Introduction Uniform grid Octree and k-d tree BSP tree University of Freiburg Computer Science Department 2 Model Partitioning
More informationUNIT III BALANCED SEARCH TREES AND INDEXING
UNIT III BALANCED SEARCH TREES AND INDEXING OBJECTIVE The implementation of hash tables is frequently called hashing. Hashing is a technique used for performing insertions, deletions and finds in constant
More informationCollision and Proximity Queries
Collision and Proximity Queries Dinesh Manocha (based on slides from Ming Lin) COMP790-058 Fall 2013 Geometric Proximity Queries l Given two object, how would you check: If they intersect with each other
More informationimproving raytracing speed
ray tracing II computer graphics ray tracing II 2006 fabio pellacini 1 improving raytracing speed computer graphics ray tracing II 2006 fabio pellacini 2 raytracing computational complexity ray-scene intersection
More information1 Proximity via Graph Spanners
CS273: Algorithms for Structure Handout # 11 and Motion in Biology Stanford University Tuesday, 4 May 2003 Lecture #11: 4 May 2004 Topics: Proximity via Graph Spanners Geometric Models of Molecules, I
More informationGeometric Algorithms. Geometric search: overview. 1D Range Search. 1D Range Search Implementations
Geometric search: overview Geometric Algorithms Types of data:, lines, planes, polygons, circles,... This lecture: sets of N objects. Range searching Quadtrees, 2D trees, kd trees Intersections of geometric
More informationAlgorithms for GIS:! Quadtrees
Algorithms for GIS: Quadtrees Quadtree A data structure that corresponds to a hierarchical subdivision of the plane Start with a square (containing inside input data) Divide into 4 equal squares (quadrants)
More informationLecture 3: Art Gallery Problems and Polygon Triangulation
EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified
More informationDelaunay Triangulations
Delaunay Triangulations (slides mostly by Glenn Eguchi) Motivation: Terrains Set of data points A R 2 Height ƒ(p) defined at each point p in A How can we most naturally approximate height of points not
More informationAn efficient space partitioning technique based on linear kd-trees for collision culling
An efficient space partitioning technique based on linear kd-trees for collision culling Abstract We present an efficient broad phase algorithm for selecting candidate collision pairs in N-body simulation.
More informationHash Tables Outline. Definition Hash functions Open hashing Closed hashing. Efficiency. collision resolution techniques. EECS 268 Programming II 1
Hash Tables Outline Definition Hash functions Open hashing Closed hashing collision resolution techniques Efficiency EECS 268 Programming II 1 Overview Implementation style for the Table ADT that is good
More informationAcceleration Data Structures
CT4510: Computer Graphics Acceleration Data Structures BOCHANG MOON Ray Tracing Procedure for Ray Tracing: For each pixel Generate a primary ray (with depth 0) While (depth < d) { Find the closest intersection
More informationCollision handling: detection and response
Collision handling: detection and response Collision handling overview Detection Discrete collision detection Convex polygon intersection test General polygon intersection test Continuous collision detection
More informationWeek 8 Voronoi Diagrams
1 Week 8 Voronoi Diagrams 2 Voronoi Diagram Very important problem in Comp. Geo. Discussed back in 1850 by Dirichlet Published in a paper by Voronoi in 1908 3 Voronoi Diagram Fire observation towers: an
More informationCMSC 341 Hashing (Continued) Based on slides from previous iterations of this course
CMSC 341 Hashing (Continued) Based on slides from previous iterations of this course Today s Topics Review Uses and motivations of hash tables Major concerns with hash tables Properties Hash function Hash
More informationRay Tracing with Spatial Hierarchies. Jeff Mahovsky & Brian Wyvill CSC 305
Ray Tracing with Spatial Hierarchies Jeff Mahovsky & Brian Wyvill CSC 305 Ray Tracing Flexible, accurate, high-quality rendering Slow Simplest ray tracer: Test every ray against every object in the scene
More informationPoint Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology
Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,
More informationCollision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill
Collision Detection These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Computer Animation ILE5030 Computer Animation and Special Effects 2 Haptic
More informationSpatial Data Structures
CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College
More informationGeneral Idea. Key could be an integer, a string, etc e.g. a name or Id that is a part of a large employee structure
Hashing 1 Hash Tables We ll discuss the hash table ADT which supports only a subset of the operations allowed by binary search trees. The implementation of hash tables is called hashing. Hashing is a technique
More informationModule 4: Index Structures Lecture 16: Voronoi Diagrams and Tries. The Lecture Contains: Voronoi diagrams. Tries. Index structures
The Lecture Contains: Voronoi diagrams Tries Delaunay triangulation Algorithms Extensions Index structures 1-dimensional index structures Memory-based index structures Disk-based index structures Classification
More informationDATA STRUCTURES/UNIT 3
UNIT III SORTING AND SEARCHING 9 General Background Exchange sorts Selection and Tree Sorting Insertion Sorts Merge and Radix Sorts Basic Search Techniques Tree Searching General Search Trees- Hashing.
More informationSpatial Data Structures
CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/
More informationUniversiteit Leiden Computer Science
Universiteit Leiden Computer Science Optimizing octree updates for visibility determination on dynamic scenes Name: Hans Wortel Student-no: 0607940 Date: 28/07/2011 1st supervisor: Dr. Michael Lew 2nd
More informationCS535 Fall Department of Computer Science Purdue University
Spatial Data Structures and Hierarchies CS535 Fall 2010 Daniel G Aliaga Daniel G. Aliaga Department of Computer Science Purdue University Spatial Data Structures Store geometric information Organize geometric
More informationAn efficient space partitioning technique based on linear kd-trees for simulation of short-range interactions in particle methods
An efficient space partitioning technique based on linear kd-trees for simulation of short-range interactions in particle methods Laurent Poirrier November 22, 2009 Abstract We present an efficient pruning
More informationRay Tracing Acceleration Data Structures
Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has
More informationAccelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016
Accelerating Geometric Queries Computer Graphics CMU 15-462/15-662, Fall 2016 Geometric modeling and geometric queries p What point on the mesh is closest to p? What point on the mesh is closest to p?
More informationArt Gallery, Triangulation, and Voronoi Regions
Art Gallery, Triangulation, and Voronoi Regions CS535 Fall 2016 Daniel G. Aliaga Department of Computer Science Purdue University [some slides based on Profs. Shmuel Wimer and Andy Mirzaian Topics Triangulation
More informationSpatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology
Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes
More informationMultidimensional Indexes [14]
CMSC 661, Principles of Database Systems Multidimensional Indexes [14] Dr. Kalpakis http://www.csee.umbc.edu/~kalpakis/courses/661 Motivation Examined indexes when search keys are in 1-D space Many interesting
More informationRecall: Inside Triangle Test
1/45 Recall: Inside Triangle Test 2D Bounding Boxes rasterize( vert v[3] ) { bbox b; bound3(v, b); line l0, l1, l2; makeline(v[0],v[1],l2); makeline(v[1],v[2],l0); makeline(v[2],v[0],l1); for( y=b.ymin;
More informationComputer 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 informationComputational Geometry Exercise Duality
Computational Geometry Exercise Duality LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Guido Brückner 20.07.2018 1 Duality Transforms We have seen duality for
More informationK-structure, Separating Chain, Gap Tree, and Layered DAG
K-structure, Separating Chain, Gap Tree, and Layered DAG Presented by Dave Tahmoush Overview Improvement on Gap Tree and K-structure Faster point location Encompasses Separating Chain Better storage Designed
More informationScene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development
Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering
More informationIntroduction to Spatial Database Systems
Introduction to Spatial Database Systems by Cyrus Shahabi from Ralf Hart Hartmut Guting s VLDB Journal v3, n4, October 1994 Data Structures & Algorithms 1. Implementation of spatial algebra in an integrated
More informationPolygon Partitioning. Lecture03
1 Polygon Partitioning Lecture03 2 History of Triangulation Algorithms 3 Outline Monotone polygon Triangulation of monotone polygon Trapezoidal decomposition Decomposition in monotone mountain Convex decomposition
More informationComputer Graphics. - Spatial Index Structures - Philipp Slusallek
Computer Graphics - Spatial Index Structures - Philipp Slusallek Overview Last lecture Overview of ray tracing Ray-primitive intersections Today Acceleration structures Bounding Volume Hierarchies (BVH)
More informationSpatial Data Structures. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017
Spatial Data Structures Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Ray Intersections We can roughly estimate the time to render an image as being proportional to the number of ray-triangle
More informationData and File Structures Chapter 11. Hashing
Data and File Structures Chapter 11 Hashing 1 Motivation Sequential Searching can be done in O(N) access time, meaning that the number of seeks grows in proportion to the size of the file. B-Trees improve
More informationInsertions and Deletions in Delaunay Triangulations using Guided Point Location. Kevin Buchin TU Eindhoven
Insertions and Deletions in Delaunay Triangulations using Guided Point Location Kevin Buchin TU Eindhoven Heraklion, 21.1.2013 Guide - Example Construct Delaunay triangulation of convex polygon in linear
More informationDelaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001
Delaunay Triangulations Presented by Glenn Eguchi 6.838 Computational Geometry October 11, 2001 Motivation: Terrains Set of data points A R 2 Height ƒ(p) defined at each point p in A How can we most naturally
More informationGeometric data structures:
Geometric data structures: Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade Sham Kakade 2017 1 Announcements: HW3 posted Today: Review: LSH for Euclidean distance Other
More informationAdvanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012
UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Fall, 2012 Voronoi Diagrams & Delaunay Triangulations O Rourke: Chapter 5 de Berg et al.: Chapters 7,
More informationLecture 11: Ray tracing (cont.)
Interactive Computer Graphics Ray tracing - Summary Lecture 11: Ray tracing (cont.) Graphics Lecture 10: Slide 1 Some slides adopted from H. Pfister, Harvard Graphics Lecture 10: Slide 2 Ray tracing -
More informationVoronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text
Voronoi Diagrams in the Plane Chapter 5 of O Rourke text Chapter 7 and 9 of course text Voronoi Diagrams As important as convex hulls Captures the neighborhood (proximity) information of geometric objects
More informationCMSC 425: Lecture 10 Geometric Data Structures for Games: Index Structures Tuesday, Feb 26, 2013
CMSC 2: Lecture 10 Geometric Data Structures for Games: Index Structures Tuesday, Feb 2, 201 Reading: Some of today s materials can be found in Foundations of Multidimensional and Metric Data Structures,
More informationFoundations 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 informationCPSC / Sonny Chan - University of Calgary. Collision Detection II
CPSC 599.86 / 601.86 Sonny Chan - University of Calgary Collision Detection II Outline Broad phase collision detection: - Problem definition and motivation - Bounding volume hierarchies - Spatial partitioning
More informationSimulations of the quadrilateral-based localization
Simulations of the quadrilateral-based localization Cluster success rate v.s. node degree. Each plot represents a simulation run. 9/15/05 Jie Gao CSE590-fall05 1 Random deployment Poisson distribution
More information1. Meshes. D7013E Lecture 14
D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle
More informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationTDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)
TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except
More informationTABLES AND HASHING. Chapter 13
Data Structures Dr Ahmed Rafat Abas Computer Science Dept, Faculty of Computer and Information, Zagazig University arabas@zu.edu.eg http://www.arsaliem.faculty.zu.edu.eg/ TABLES AND HASHING Chapter 13
More informationAccelerated Raytracing
Accelerated Raytracing Why is Acceleration Important? Vanilla ray tracing is really slow! mxm pixels, kxk supersampling, n primitives, average ray path length of d, l lights, 2 recursive ray casts per
More informationRay Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University
Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,
More informationINFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Acceleration. Welcome!
INFOGR Computer Graphics J. Bikker - April-July 2015 - Lecture 11: Acceleration Welcome! Today s Agenda: High-speed Ray Tracing Acceleration Structures The Bounding Volume Hierarchy BVH Construction BVH
More informationCMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013
CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013 Reading: Today s materials is presented in part in Computational Geometry: Algorithms and Applications (3rd
More informationRemember. 376a. Database Design. Also. B + tree reminders. Algorithms for B + trees. Remember
376a. Database Design Dept. of Computer Science Vassar College http://www.cs.vassar.edu/~cs376 Class 14 B + trees, multi-key indices, partitioned hashing and grid files B and B + -trees are used one implementation
More informationSpatial Data Structures
15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie
More informationCMSC 341 Lecture 16/17 Hashing, Parts 1 & 2
CMSC 341 Lecture 16/17 Hashing, Parts 1 & 2 Prof. John Park Based on slides from previous iterations of this course Today s Topics Overview Uses and motivations of hash tables Major concerns with hash
More informationQuestion Bank Subject: Advanced Data Structures Class: SE Computer
Question Bank Subject: Advanced Data Structures Class: SE Computer Question1: Write a non recursive pseudo code for post order traversal of binary tree Answer: Pseudo Code: 1. Push root into Stack_One.
More informationOrganizing Spatial Data
Organizing Spatial Data Spatial data records include a sense of location as an attribute. Typically location is represented by coordinate data (in 2D or 3D). 1 If we are to search spatial data using the
More informationSpatial Data Structures
15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie
More informationChapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.
Chapter 11 Global Illumination Part 1 Ray Tracing Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.3 CG(U), Chap.11 Part 1:Ray Tracing 1 Can pipeline graphics renders images
More informationTrapezoidal Maps. Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy
Trapezoidal Maps Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy Trapezoidal Maps S={s 1,s 2,..., s n } is the set of line segments segments don t intersect, but can touch
More informationCS133 Computational Geometry
CS133 Computational Geometry Voronoi Diagram Delaunay Triangulation 5/17/2018 1 Nearest Neighbor Problem Given a set of points P and a query point q, find the closest point p P to q p, r P, dist p, q dist(r,
More informationSpeeding Up Ray Tracing. Optimisations. Ray Tracing Acceleration
Speeding Up Ray Tracing nthony Steed 1999, eline Loscos 2005, Jan Kautz 2007-2009 Optimisations Limit the number of rays Make the ray test faster for shadow rays the main drain on resources if there are
More informationCS 532: 3D Computer Vision 14 th Set of Notes
1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating
More informationClustering Billions of Images with Large Scale Nearest Neighbor Search
Clustering Billions of Images with Large Scale Nearest Neighbor Search Ting Liu, Charles Rosenberg, Henry A. Rowley IEEE Workshop on Applications of Computer Vision February 2007 Presented by Dafna Bitton
More informationApproximation Algorithms for Geometric Intersection Graphs
Approximation Algorithms for Geometric Intersection Graphs Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline
More informationData Structures and Algorithms. Chapter 7. Hashing
1 Data Structures and Algorithms Chapter 7 Werner Nutt 2 Acknowledgments The course follows the book Introduction to Algorithms, by Cormen, Leiserson, Rivest and Stein, MIT Press [CLRST]. Many examples
More informationCollision Detection II. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill
Collision Detection II These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Some Possible Approaches Geometric methods Algebraic techniques Hierarchical
More informationCPSC 536N: Randomized Algorithms Term 2. Lecture 5
CPSC 536N: Randomized Algorithms 2011-12 Term 2 Prof. Nick Harvey Lecture 5 University of British Columbia In this lecture we continue to discuss applications of randomized algorithms in computer networking.
More informationSpatial Data Structures
Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster
More informationCollision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering
RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Collision Detection Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Euler Angle RBE
More informationCPSC 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 informationUsing Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects
Part 7: Collision Detection Virtuelle Realität Wintersemester 2007/08 Prof. Bernhard Jung Overview Bounding Volumes Separating Axis Theorem Using Bounding Volume Hierarchies Efficient Collision Detection
More informationRay Intersection Acceleration
Ray Intersection Acceleration CMPT 461/761 Image Synthesis Torsten Möller Reading Chapter 2, 3, 4 of Physically Based Rendering by Pharr&Humphreys An Introduction to Ray tracing by Glassner Topics today
More informationQuadtrees and Meshing
Computational Geometry Lecture INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Tamara Mchedlidze Darren Strash 14.12.2015 Motivation: Meshing PC Board Layouts To simulate the heat produced
More informationDirect Addressing Hash table: Collision resolution how handle collisions Hash Functions:
Direct Addressing - key is index into array => O(1) lookup Hash table: -hash function maps key to index in table -if universe of keys > # table entries then hash functions collision are guaranteed => need
More informationCOMP30019 Graphics and Interaction Scan Converting Polygons and Lines
COMP30019 Graphics and Interaction Scan Converting Polygons and Lines Department of Computer Science and Software Engineering The Lecture outline Introduction Scan conversion Scan-line algorithm Edge coherence
More informationHASH TABLES. Goal is to store elements k,v at index i = h k
CH 9.2 : HASH TABLES 1 ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA AND MOUNT (WILEY 2004) AND SLIDES FROM JORY DENNY AND
More informationAccelerating Ray-Tracing
Lecture 9: Accelerating Ray-Tracing Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric Modeling
More information6. Parallel Volume Rendering Algorithms
6. Parallel Volume Algorithms This chapter introduces a taxonomy of parallel volume rendering algorithms. In the thesis statement we claim that parallel algorithms may be described by "... how the tasks
More informationData Structures and Algorithms. Roberto Sebastiani
Data Structures and Algorithms Roberto Sebastiani roberto.sebastiani@disi.unitn.it http://www.disi.unitn.it/~rseba - Week 07 - B.S. In Applied Computer Science Free University of Bozen/Bolzano academic
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College
More informationWe assume uniform hashing (UH):
We assume uniform hashing (UH): the probe sequence of each key is equally likely to be any of the! permutations of 0,1,, 1 UH generalizes the notion of SUH that produces not just a single number, but a
More informationRay Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)
CS4620/5620: Lecture 37 Ray Tracing 1 Announcements Review session Tuesday 7-9, Phillips 101 Posted notes on slerp and perspective-correct texturing Prelim on Thu in B17 at 7:30pm 2 Basic ray tracing Basic
More informationChapter 8. Voronoi Diagrams. 8.1 Post Oce Problem
Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest
More informationG 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994)
Discrete Comput Geom 12:29-34 (1994) G 6i try 9 1994 Springer-Verlag New York Inc. On the Number of Minimal 1-Steiner Trees* B. Aronov, 1 M. Bern, 2 and D. Eppstein 3 Computer Science Department, Polytechnic
More informationSpatial Data Management
Spatial Data Management Chapter 28 Database management Systems, 3ed, R. Ramakrishnan and J. Gehrke 1 Types of Spatial Data Point Data Points in a multidimensional space E.g., Raster data such as satellite
More informationAcceleration Structures. CS 6965 Fall 2011
Acceleration Structures Run Program 1 in simhwrt Lab time? Program 2 Also run Program 2 and include that output Inheritance probably doesn t work 2 Boxes Axis aligned boxes Parallelepiped 12 triangles?
More informationComputing intersections in a set of line segments: the Bentley-Ottmann algorithm
Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Michiel Smid October 14, 2003 1 Introduction In these notes, we introduce a powerful technique for solving geometric problems.
More information