A Topological Approach to Voxelization Samuli Laine NVIDIA.

Slides:



Advertisements
Similar presentations
Functions Reading: Epp Chp 7.1, 7.2, 7.4
Advertisements

Incremental Linear Programming Linear programming involves finding a solution to the constraints, one that maximizes the given linear function of variables.
Geometry Preview Faith High School Mathematics
QuickSort Average Case Analysis An Incompressibility Approach Brendan Lucier August 2, 2005.
Dynamic Planar Convex Hull Operations in Near- Logarithmic Amortized Time TIMOTHY M. CHAN.
Wigner-Seitz Cell The Wigner–Seitz cell around a lattice point is defined as the locus of points in space that are closer to that lattice point than to.
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
Convex Hulls in Two Dimensions Definitions Basic algorithms Gift Wrapping (algorithm of Jarvis ) Graham scan Divide and conquer Convex Hull for line intersections.
Chapter 10 Constructions.
A Randomized Gathering Algorithm for Multiple Robots with Limited Sensing Capabilities Noam Gordon Israel A. Wagner Alfred M. Bruckstein Technion – Israel.
Algebra Problems… Solutions Algebra Problems… Solutions © 2007 Herbert I. Gross Set 22 By Herbert I. Gross and Richard A. Medeiros next.
3D Skeletons Using Graphics Hardware Jonathan Bilodeau Chris Niski.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Brownian Motion and Diffusion Equations. History of Brownian Motion  Discovered by Robert Brown, 1827  Found that small particles suspended in liquid.
M. Farber and D. Schütz | Homology of Planar Polygon Spaces | Presented by Yair Carmon Based on the paper by M. Farber and D. Schütz Presented by Yair.
Derandomized DP  Thus far, the DP-test was over sets of size k  For instance, the Z-Test required three random sets: a set of size k, a set of size k-k’
General Relativity Physics Honours 2008 A/Prof. Geraint F. Lewis Rm 557, A29 Lecture Notes 2.
Avraham Ben-Aroya (Tel Aviv University) Oded Regev (Tel Aviv University) Ronald de Wolf (CWI, Amsterdam) A Hypercontractive Inequality for Matrix-Valued.
Graphics Output Primitives Pixel Addressing and Fill Area Dr. M. Al-Mulhem Feb. 1, 2008.
The four basic principles of design
Learning decision trees derived from Hwee Tou Ng, slides for Russell & Norvig, AI a Modern Approachslides Tom Carter, “An introduction to information theory.
The Byzantine Generals Strike Again Danny Dolev. Introduction We’ll build on the LSP presentation. Prove a necessary and sufficient condition on the network.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
Apex Point Map for Constant-Time Bounding Plane Approximation Samuli Laine Tero Karras NVIDIA.
1 Stratified sampling This method involves reducing variance by forcing more order onto the random number stream used as input As the simplest example,
Cramer-Shoup is Plaintext Aware in the Standard Model Alexander W. Dent Information Security Group Royal Holloway, University of London.
PHY 042: Electricity and Magnetism
Chapter 2. One of the basic axioms of Euclidean geometry says that two points determine a unique line. EXISTENCE AND UNIQUENESS.
Preperiodic Points and Unlikely Intersections joint work with Laura DeMarco Matthew Baker Georgia Institute of Technology AMS Southeastern Section Meeting.
Engineering Mechanics: Statics
Copyright © Cengage Learning. All rights reserved.
Chapter 4 : Similar Triangles Informally, similar triangles can be thought of as having the same shape but different sizes. If you had a picture of a triangle.
CS 6825: Binary Image Processing – binary blob metrics
1 2. Independence and Bernoulli Trials Independence: Events A and B are independent if It is easy to show that A, B independent implies are all independent.
Isometric Drawing - Trammel Method
ENTC 1110 OBLIQUE PICTORIALS.
Week 13 - Monday.  What did we talk about last time?  Exam 2!  Before that…  Polygonal techniques ▪ Tessellation and triangulation  Triangle strips,
10.7 Moments of Inertia for an Area about Inclined Axes
The Fundamental Theorem for Line Integrals. Questions:  How do you determine if a vector field is conservative?  What special properties do conservative.
Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004.
CS201: Data Structures and Discrete Mathematics I
Slides are modified from Lada Adamic
1 Euler Number Computation By Kishore Kulkarni (Under the Guidance of Dr. Longin Jan Latecki)
Arrangements and Duality Motivation: Ray-Tracing Fall 2001, Lecture 9 Presented by Darius Jazayeri 10/4/01.
1 The Precise Definition of a Limit Section The Precise Definition of a Limit A geometric interpretation of limits can be given in terms of the.
Copyright © Cengage Learning. All rights reserved. 2 Limits and Derivatives.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
How can geometrical information and physical properties of a material be linked ? Research done in partnership with ICMCB laboratory (UPR 9048) Specialised.
Joint Moments and Joint Characteristic Functions.
CS 285- Discrete Mathematics
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Eric Allender Rutgers University Curiouser and Curiouser: The Link between Incompressibility and Complexity CiE Special Session, June 19, 2012.
1 Schematization of Networks Rida Sadek. 2 This talk discusses: An algorithm that is studied in the following papers:  S. Cabello, M. de Berg, and M.
Object Orie’d Data Analysis, Last Time PCA Redistribution of Energy - ANOVA PCA Data Representation PCA Simulation Alternate PCA Computation Primal – Dual.
Digital Image Processing CCS331 Relationships of Pixel 1.
Lecture 06: Theory of Automata:08 Finite Automata with Output.
3.3 Mathematical Induction 1 Follow me for a walk through...
Markov Chains Mixing Times Lecture 5
§7-4 Lyapunov Direct Method
Chapter 3 The Real Numbers.
Peer-to-Peer and Social Networks
Quantum One.
Basis and Dimension Basis Dimension Vector Spaces and Linear Systems
ELECTROSTATICS - III - Electrostatic Potential and Gauss’s Theorem
§1-3 Solution of a Dynamical Equation
Principles and Elements of design
Chapter 3 The Real Numbers.
Maths for Signals and Systems Linear Algebra in Engineering Lectures 13 – 14, Tuesday 8th November 2016 DR TANIA STATHAKI READER (ASSOCIATE PROFFESOR)
Lesson 4: Application to transport distributions
Presentation transcript:

A Topological Approach to Voxelization Samuli Laine NVIDIA

About the Title  Voxelization = Turn a continuous input in R 3 into a discrete output in Z 3  Also includes the 2D case (rasterization)  Topological instead of geometrical approach  Intuitively, things of Boolean nature: connectivity, separability, intersections, etc.  No things of continuous nature: distances, angles, positions of intersection points, etc.

Preliminaries  We have an input S in the continuous world (R 3 )  S might be curve, surface, or volume  We wish to produce a discretized version S d that is somehow a faithful representation of S  Also, we usually want S d to have specific continuity and separability properties (depends on application)  S d is a set of voxels V that are elements of Z 3  Each V is associated with a cubical volume in R 3  Everything applies to 2 dimensions too (R 2  Z 2 )

Preliminaries, cont’d  Assume that S separates R 3 into sets I and O  Also assume discrete sets I d and O d Space: R 3 Space: Z 3 S O I SdSd OdOd IdId

Connectivity  If it is possible to walk along S from point A to point B, and the same holds for S d, then S d is connected Space: R 3 Space: Z 3 S O I SdSd OdOd IdId

Separability  If S separates point in I d from point in O d, and S d does the same, then S d is separating Space: R 3 Space: Z 3 S O I SdSd OdOd IdId

Neighborhoods  Notions of connectivity and separability in discrete spaces depends on the chosen definition of neighborhood N4N4 N8N8 N6N6 N 26 2D3D

k-connectivity and k-separability  In a discrete k-connected path Π k = (V 0, …, V n ) voxels V i and V i+1 are k-neighbors  Voxelization S d is k-separating if there is no Π k between any voxel in I d and any voxel in O d that does not pass through S d  Voxelization S d is k-connected if  existence of a path from A to B on input surface S  where both A and B are inside voxels belonging to S d  implies the existence of a Π k with A inside V 0 and B inside V n and all (V 0, …, V n ) being in S d

Example 4-connected, 8-separating8-connected, 4-separating

Voxelization with Intersection Targets  Place an intersection target in every voxel V  Include voxel V in the discretized output S d iff the continuous input S intersects the intersection target of V

Choosing the Intersection Target Dimensionality  Intersection target dimensionality depends on the effective dimension of input  Dimensions of input S and the intersection target should sum to dimension of the space

Choosing the Intersection Target Shape  Choice of intersection target determines the connectivity and separability properties of S d  As well as the number of resulting voxels

Example  In 2D, we have two sensible 1D targets suitable for voxelizing input that is effectively 1D 4-connected, 8-separating (= ”thick”) 8-connected, 4-separating (= ”thin”)

Main Result of the Paper  Connectivity of the intersection targets determines the separability of resulting S d  I.e., if paths along the intersection target “foam” are k-connected in Z, then voxelization S d is k- separating

Proof, 1/3  Assume the opposite: There exists k-connected discrete path Π = (V 0, …, V n ) from I d to O d that does not go through S d  Now construct a continuous path C(Π) so that  C(Π) starts at a point in V 0 and ends at a point in V n  Every point of C(Π) is on an intersection target  Every point in C(Π) is in one of the voxels Vi in Π k  This can always be done by piecing together parts of the intersection targets because they allow k-connected walks in Z

Proof, 2/3  Now, as C(Π) is a continuous path between points in I and O, it must intersect S at some point p (in R) (Jordan curve theorem)  Because C(Π) is entirely contained within voxels in Π, the intersection point p must be in one of the voxels in Π, say inside V i  All points in C(Π) are on an intersection target  p is on intersection target of V i  p is both on S and on the target of V i  target of V i intersects S  voxel V i must be included in S d

Proof, 3/3  It follows that for any k-connected path Π k through the voxelized surface, we can construct a continuous path C(Π) that contradicts the definition of Π k  Hence, no such Π k can exist, and S d is therefore k-separating

Applications: 6-sep. surfaces in 3D  When voxelizing surfaces in 3D, this intersection target yields 6-separability  Equivalent to rasterization in three projections  Note: also works for curved primitives!  Perhaps not easy to see without the above reasoning

Applications: 26-sep. surfaces in 3D  Similarly, both of these yield 26-separability  No need to intersect S against the full voxel  Which is the traditional ”thick” voxelization  Simpler to calculate, produces fewer voxels

Applications: 26-conn. curves in 3D  Although not discussed here, this target gives a 26-connected voxelization for effectively 1D input  Paper shows why this is the case  Useful when voxelizing, e.g., a curve, or a thin hair  no pieces missing in the middle

Variations  The intersection target does not need to be identical in every voxel  As long as its connectivity properties are maintained, all properties of resulting S d are conserved 8-connected, 4-separating, randomized targets the same target, with ”arms” pushed to meet at corners

Why?  Consider the following progression:  Hence the rightmost one still produces a 4- separating voxelization of curves in 2D Original, obviously 4- connected Still 4-connected...Still 4-connected!

Also in 3D  A single space diagonal per voxel is enough to produce a 6-separating (≈ ”thin”) voxelization of surfaces in 3D

Conclusions  A theory of voxelization using intersection targets  Allows for easy proofs of resulting properties for S d  Topological in nature, easy to understand  Applicable for input of any dimensionality  Applicable in 2D and 3D  Does not distinguish between flat and curved input  Results trivially independent of tessellation of input  Paper has a lot more discussion about connectivity, thinness, relationship to previous methods, etc.

Thank You  Questions