CSE 681 Ray Tracing Implicit Surfaces. CSE 681 Overview Similar to CSG –Combine primitive objects to form complex object Primitives are “density fields”

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

CSE 681 Bounding Volumes. CSE 681 Bounding Volumes Use simple volume enclose object(s) tradeoff for rays where there is extra intersection test for object.
Computer graphics & visualization Collisions. computer graphics & visualization Simulation and Animation – SS07 Jens Krüger – Computer Graphics and Visualization.
Extended Gaussian Images
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 13, 2014 IMPLICIT REPRESENTATIONS IMPLICIT FUNCTIONS IMPLICIT SURFACES MARCHING CUBES.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Ray Tracing Variants Distributed ray tracing Generalized rays Cone Tracing Beam Tracing Pencil.
3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.
Chapter 12: Surface Area and Volume of Solids
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
1 Computer Graphics Chapter 7 3D Object Modeling.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Basic 3D collision detection We want to know if objects have touched Objects are considered to.
Graphics Graphics Korea University cgvr.korea.ac.kr 3D Object Representation 고려대학교 컴퓨터 그래픽스 연구실.
1cs533d-term Notes  Assignment 1 due today.
Asst. Prof. Yusuf Sahillioğlu
GATE D Object Representations (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT.
Pauly, Keiser, Kobbelt, Gross: Shape Modeling with Point-Sampled GeometrySIGGRAPH 2003 Shape Modeling with Point-Sampled Geometry Mark Pauly Richard Keiser.
Implicit Surfaces Tom Ouyang January 29, Outline Properties of Implicit Surfaces Polygonization Ways of generating implicit surfaces Applications.
ENDS 375 Foundations of Visualization Geometric Representation 10/5/04.
Implicit Representations of Surfaces and Polygonalization Algorithms Dr. Scott Schaefer.
CSE 681 Object Intersection. CSE 681 Object Representation Implicit forms F(x,y,z) = 0 Explicit forms Analytic form x = F(y,z) testing generating Parametric.
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Other Rendering Techniques Types of rendering – Wireframe techniques – Scan-line conversion – Reyes.
Week 13 - Wednesday CS361.
Computer Graphics Lecture 13 Curves and Surfaces I.
Volumetric and Blobby Objects Lecture 8 (Modelling)
C O M P U T E R G R A P H I C S Stuff Jian Chen January 15, 2010 Transformations 1/10 Describing Shape By Andries van Dam.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Wednesday, February 23, 2000 William H. Hsu Department.
V. Space Curves Types of curves Explicit Implicit Parametric.
Collision handling: detection and response
University of Coimbra Reconstruction of Voxels from Sensor Data Ricardo Martins Coimbra, 19 th January 2010 Doctoral Programme in Electrical Engineering.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Visible-Surface Detection Jehee Lee Seoul National University.
CMSC 635 Volume Rendering. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Volume Rendering CMSC 491/635. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Representation of Objects with Sharp Details in Truncated Distance Fields Pavol Novotný Comenius University, Bratislava, Slovakia Miloš Šrámek Austrian.
David Breen, William Regli and Maxim Peysakhov
3D Object Representations
Geometric Modeling How to design a graphical model? How to create a digital description of a real-world object? Design Digitize.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Procedural Models How to easily generate complex data?
12.1 Exploring Solids.
Three-Dimensional Object Representation
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Constructive Solid Geometry Ray Tracing CSG Models
In the name of God Computer Graphics. Introduction Modeling techniques modeling techniques managements Some renderings.
Physically based deformations of implicit surfaces Michal Remiš.
Volume and Solid Modeling
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Section 12-1 Exploring Solids. Polyhedron Three dimensional closed figure formed by joining three or more polygons at their side. Plural: polyhedra.
Solid Modeling Dr. Scott Schaefer.
CSE 681 Object Intersection. CSE 681 Object Representation Implicit forms F(x,y,z) = 0 Explicit forms Analytic form x = F(y,z) testing generating Parametric.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Ray Tracing Acceleration (3)
1 Spherical manifolds for hierarchical surface modeling Cindy Grimm.
CS552: Computer Graphics Lecture 28: Solid Modeling.
3D Rendering 2016, Fall.
3D Object Representations
3D Object Representation
Introduction to Implicit Modelling
Collision handling: detection and response
Procedural Animation Lecture 3: Types of 3D models
ATCM 6317 Procedural Animation
Implicit Functions Some surfaces can be represented as the vanishing points of functions (defined over 3D space) Places where a function f(x,y,z)=0 Some.
Object Intersection CSE 681.
Object Intersection CSE 681.
3D Object Representation
Overview of Modeling 김성남.
Presentation transcript:

CSE 681 Ray Tracing Implicit Surfaces

CSE 681 Overview Similar to CSG –Combine primitive objects to form complex object Primitives are “density fields” Combine by summing densities The surface is all points at which the density equals a user-defined threshold

CSE 681 Implicit Surface A surface not explicitly represented The surface consists of all points which satisfy a function F(x,y,z) = 0 Usually, the implicit function is defined so that F(x,y,z) inside the object F(x,y,z) > 0 => outside the surface Sometimes F(x,y,z) is based on a distance-to-a-central-element The surface points have to be searched for!

CSE 681 For example: single metaball f(x,y,z) < 0 f(x,y,z) = 0 f(x,y,z) > 0 f(x,y,z) = x 2 +y 2 +z 2 -r 2

CSE 681 Multiple Implicits Define each primitive as positive density field Sum densities Surface is defined at threshold Usually have finite radius of influence

CSE 681 Organic shapes

CSE 681 Density Function density Distance from center R R

CSE 681 Threshold Define threshold that defines density of surface R T is the radius of the isosurface (blob) in isolation density Distance from center R T RTRT RTRT R d

CSE 681 Blended Blobs Define surface as sum of densities

CSE 681 Weighted Density Functions Define surface as weighted sum of densities f(p) =  w i d i (p) - T = 0 Weights can be negative, too! To keep the same radius, but increase blending, change weight, w i, and the threshold, T, simultaneously.

CSE 681 Ray Intersection Need to search along the ray for the first time f(P(t)) = 0 Shortcuts and Search strategies?

CSE 681 Search for Intersection

CSE 681 Search for Intersection Identify spans of interest: bounds on intersection

CSE 681 Density Functions Define a density function that is: Easy to evaluate Blends smoothly Intuitive to use Density functions proposed in the literature Exponential Piecewise cubic Cubic in distance squared

CSE 681 Density Functions D(r) r 0.5

CSE 681 Distance-based Density Functions d i (p) = D(|P-C i |/R) = D(r) r is normalized distance D 1 ( r ) = (1-r 2 ) 3 0 <= r < 1 D 2 ( r ) = 1 - (4/9)r 6 + (17/9)r 4 - (22/9)r 2 0 <= r < 1 D 3 ( r ) = exp(-ar 2 ) D 4 ( r ) = 1-3r 2 0 <= r < 1/3 (3/2)(1-r) 2 1/3 <= r < 1

CSE 681 Distance-based Density Functions D 2 ( r ) = 1 - (4/9)r 6 + (17/9)r 4 - (22/9)r 2 0 <= r < 1

CSE 681 Distance-based Density Functions D 3 ( r ) = exp(-ar 2 )

CSE 681 Distance-based Density Functions D 4 ( r ) = 1-3r 2 0 <= r < 1/3 (3/2)(1-r) 2 1/3 <= r < 1

CSE 681 Distance-based Density Functions D 1 ( r ) = (1-r 2 ) 3 0 <= r < 1

CSE 681 Distance-based Primitives Point Line Polygon Polygonal mesh Polyline Polyhedron Anything you can efficiently compute the distance from

CSE 681 Distance-based Primitives Point Line Polyline Distance from point Distance from line or endpoints - partition by perpendiculars Distance from one of lines or points - partition by perpendiculars

CSE 681 Distance-based Primitives Polygon Polygonal mesh Partition space by planes perpendicular to plane through an edge Same, for each face - two planes per edge

CSE 681 Distance-based Primitives Polyhedra Convex? Concave?

CSE 681 Display Considerations Find point of intersection along ray: F(P(t)) = 0 Compute normal

CSE 681 Computing the Normal Form analytic expression of implicit function And take partial derivatives N = (  F/  x,  F/  y,  F/  z) Take discrete approximation by sampling function Compute gradient N = ( F(x+dx,y,z)-F(x,y,z), F(x,y +dy,z)-F(x,y,z), F(x,y,z +dz)-F(x,y,z) )

CSE 681 Bulge problem One long primitive Two side-by-side primitives

CSE 681 CSG-approach to control blending Use nodes to combine primitives by either summing or taking max of functions

CSE 681 Complexity Bounding volumes Spatial subdivision - cellular bucket sort Hierarchical spatial subdivision – quadtree Binary spatial partitioning

CSE 681 Display alternative Marching cubes algorithm - construct surface fragments from isosurface intersections with grid cells

CSE 681 Distance-based Primitives

CSE 681 Examples

CSE 681 Examples

CSE 681 Examples