Ray-casting Algebraic Surfaces using the Frustum Form. Eurographics 2008 Crete, Thursday April 17.
|
|
- Warren Parks
- 5 years ago
- Views:
Transcription
1 Ray-casting Algebraic Surfaces using the Frustum Form Martin Reimers Johan Seland Eurographics 2008 Crete, Thursday April 17.
2 Algebraic Surfaces Zero set of polynomial f : R 3 R f (x, y, z) = f ijk x i y j z k = 0 0 i+j+k d Sphere: x 2 + y 2 + z 2 1 = 0 Classic field of mathematics Very compact representation Renewed interest as geom. rep.
3 Ray-casting Overview Given a view frustum and screen resolution (m + 1) (n + 1) Let each pixel correspond to a ray r pq : [0, 1] R 3 Find first intersection i.e. Back plane n + 1 f (r pq (t)) = 0 Find final pixel color Little brother of ray-tracing m + 1
4 Ray-casting Overview Given a view frustum and screen resolution (m + 1) (n + 1) Let each pixel correspond to a ray r pq : [0, 1] R 3 Find first intersection i.e. Back plane n + 1 f (r pq (t)) = 0 Find final pixel color Little brother of ray-tracing m + 1
5 Ray-casting Overview Given a view frustum and screen resolution (m + 1) (n + 1) Let each pixel correspond to a ray r pq : [0, 1] R 3 Find first intersection i.e. Back plane n + 1 f (r pq (t)) = 0 Find final pixel color Little brother of ray-tracing m + 1
6 Ray-casting: Challenges Conceptually simple - computationally challenging Working directly on f is expensive Better approach: use univariate representation for each ray How to find the ray equations (in Bernstein form) f (r pq (t)) = c pqr Br d (t) = 0 How to find the roots? Embarrassingly parallel - use GPU?
7 Outline Ray coefficient computation Root finding Implementation details Results and Conclusion
8 Parameterizing the View Frustum Idea: Parameterize the view frustum over the unit cube by L(u, v, w) = 1,1,1 i,j,k=0 v ijk B 1 i (u)b 1 j (v)b 1 k (w) w v u
9 Parameterizing the View Frustum Idea: Parameterize the view frustum over the unit cube by L(u, v, w) = 1,1,1 i,j,k=0 v ijk B 1 i (u)b 1 j (v)b 1 k (w) w v u (u, v, 0) is mapped to the front plane
10 Parameterizing the View Frustum Idea: Parameterize the view frustum over the unit cube by L(u, v, w) = 1,1,1 i,j,k=0 v ijk B 1 i (u)b 1 j (v)b 1 k (w) w v u (u, v, 0) is mapped to the front plane (u, v, 1) is mapped to the back plane
11 Parameterizing the View Frustum Idea: Parameterize the view frustum over the unit cube by L(u, v, w) = 1,1,1 i,j,k=0 v ijk B 1 i (u)b 1 j (v)b 1 k (w) v L u w (u, v, 0) is mapped to the front plane (u, v, 1) is mapped to the back plane Rays are mapped to rays (but no longer parallel)
12 The Frustum Form (FF) We call g = f L : [0, 1] 3 R the Frustum Form v f = 0 u L w
13 The Frustum Form (FF) We call g = f L : [0, 1] 3 R the Frustum Form g = 0 v f = 0 u L w g = 0 corresponds to f = 0
14 The Frustum Form (FF) We call g = f L : [0, 1] 3 R the Frustum Form g = 0 v f = 0 u L w g = 0 corresponds to f = 0 g is a tri-degree d polynomial
15 The Frustum Form (FF) We call g = f L : [0, 1] 3 R the Frustum Form g = 0 v f = 0 u L w g = 0 corresponds to f = 0 g is a tri-degree d polynomial Bernstein form g(u, v, w) = d,d,d i,j,k=0 g ijkb d i (u)b d j (v)bd k (w)
16 The Frustum Form (FF) We call g = f L : [0, 1] 3 R the Frustum Form g = 0 v f = 0 u L w g = 0 corresponds to f = 0 g is a tri-degree d polynomial Bernstein form g(u, v, w) = d,d,d i,j,k=0 g ijkb d i (u)b d j (v)bd k (w) Rays are iso-parametric (parallel), ray polynomials of degree d
17 Ray coefficients r pq (t) w v For pixel (p, q) this yields u g(p/m, q/n, w) = d,d,d i,j,k=0 g ijk B d i (p/m)b d j (q/n)b d k (w)
18 Ray coefficients r pq (t) w v For pixel (p, q) this yields g(p/m, q/n, w) = u = d,d,d i,j,k=0 g ijk B d i (p/m)b d j (q/n)b d k (w) d d,d g ijk Bi d ( p m )Bd j ( q n ) B k d (w) k=0 i,j=0 } {{ } c pqk
19 Ray coefficients r pq (t) w v For pixel (p, q) this yields g(p/m, q/n, w) = u = d,d,d i,j,k=0 g ijk B d i (p/m)b d j (q/n)b d k (w) d d,d g ijk Bi d ( p m )Bd j ( q n ) B k d (w) k=0 i,j=0 } {{ } c pqk c pqk d f (r pq (t)) = c pqk Bk d (t) k=0 c pqk are the ray coefficients
20 Outline Ray coefficient computation Root finding Implementation details Results and Conclusion
21 Bernstein Polynomials c pq2 c pq0 c c pq3 pq1 t Ray equations in Bernstein form f (r pq (t)) = d k=0 c pqkbk d(t) Bk d(t) = ( ) d k t k (1 t) d k Numerically optimal [Farouki] Coefficients form control polygon
22 Bernstein Polynomials c pq2 c pq0 c c pq3 pq1 t Ray equations in Bernstein form f (r pq (t)) = d k=0 c pqkbk d(t) Bk d(t) = ( ) d k t k (1 t) d k Numerically optimal [Farouki] Coefficients form control polygon Properties of Control Polygon The function is approximated by the C. P. Variation Diminishing Property #of zeros in polynomial #of zeros in C. P. Control Polygon can be subdivided/refined
23 Numerical Root Finding Algorithms: Repeated refinement of control polygon, either Bézier subdivision [Lane&Riesenfeld 81,Rockwood et Al 89] B-Spline knot insertion [Mørken&Reimers 07]
24 Numerical Root Finding Algorithms: Repeated refinement of control polygon, either Bézier subdivision [Lane&Riesenfeld 81,Rockwood et Al 89] B-Spline knot insertion [Mørken&Reimers 07]
25 Numerical Root Finding Algorithms: Repeated refinement of control polygon, either Bézier subdivision [Lane&Riesenfeld 81,Rockwood et Al 89] B-Spline knot insertion [Mørken&Reimers 07]
26 Numerical Root Finding Algorithms: Repeated refinement of control polygon, either Bézier subdivision [Lane&Riesenfeld 81,Rockwood et Al 89] B-Spline knot insertion [Mørken&Reimers 07]
27 Numerical Root Finding Algorithms: Repeated refinement of control polygon, either Bézier subdivision [Lane&Riesenfeld 81,Rockwood et Al 89] B-Spline knot insertion [Mørken&Reimers 07]
28 Numerical Root Finding Algorithms: Repeated refinement of control polygon, either Bézier subdivision [Lane&Riesenfeld 81,Rockwood et Al 89] B-Spline knot insertion [Mørken&Reimers 07]
29 Numerical Root Finding Algorithms: Repeated refinement of control polygon, either Bézier subdivision [Lane&Riesenfeld 81,Rockwood et Al 89] B-Spline knot insertion [Mørken&Reimers 07]
30 Numerical Root Finding Algorithms: Repeated refinement of control polygon, either Bézier subdivision [Lane&Riesenfeld 81,Rockwood et Al 89] B-Spline knot insertion [Mørken&Reimers 07]
31 Properties of rootfinders Easy to implement Robust and automatic (don t miss any zeros) Quadratic convergence to simple zeros (like Newtons method) Recent extension [Mørken&Reimers] converge quadratically to multiple zeros (e.g. near silhouettes) Knot insertion framework is very flexible, and allow for variations: Prime using neighbor rays/previous frames ( Coherency ) Detect critical points, search for singularities.
32 Anti-aliasing Problem: Silhouette edges fall between rays w At silhouettes g(z) = 0, g w (z) = 0 z p 1 z 0 p 2 v
33 Anti-aliasing Problem: Silhouette edges fall between rays w At silhouettes g(z) = 0, g w (z) = 0 When p 1 miss and p 2 hits Start from minima of g(p 1 ) Use Newton on (g(s), g w (s)) z p 1 z 0 p 2 v
34 Anti-aliasing Problem: Silhouette edges fall between rays w At silhouettes g(z) = 0, g w (z) = 0 When p 1 miss and p 2 hits Start from minima of g(p 1 ) Use Newton on (g(s), g w (s)) Find pixel color by Wus method color(p1 ) = (1 α) color(p 2 ) z p 1 α z 0 p 2 v
35 Anti-aliasing Problem: Silhouette edges fall between rays w At silhouettes g(z) = 0, g w (z) = 0 When p 1 miss and p 2 hits Start from minima of g(p 1 ) Use Newton on (g(s), g w (s)) Find pixel color by Wus method color(p1 ) = (1 α) color(p 2 ) z Internal silhouettes 25% - 50% performance loss p 1 α z 0 p 2 v
36 Outline Ray coefficient computation Root finding Implementation details Results and Conclusion
37 Implementation Use GPUs for parallelism Our algorithm is designed for efficiency on modern hardware Precompute as much as possible Split computations between CPU and GPU for efficiency Also allows controlling the precision We use NVidias CUDA API Same source code for GPU and CPU versions No OpenGL/DirectX involved
38 Calculating the Frustum Form Coefficients We find the coefficients g ijk by interpolation Choose (d + 1) 3 interpolation points v u w
39 Calculating the Frustum Form Coefficients We find the coefficients g ijk by interpolation Choose (d + 1) 3 interpolation points Form tri-tensor F by evaluating f L d g ijk Bi d (u p )Bj d (v q )Bk d (w r ) i,j,k=0 = f (L(u p, v q, w r )) f 022 f 122 f 222 f 021 f 121 f 221 f 020 f 120 f 220 f 012 f 112 f 212 f 011 f 111 f 211 f 010 f 110 f 210 f 002 f 102 f 202 f 001 f 101 f 201 f 000 f 100 f 200
40 Calculating the Frustum Form Coefficients We find the coefficients g ijk by interpolation Choose (d + 1) 3 interpolation points Form tri-tensor F by evaluating f L d g ijk Bi d (u p )Bj d (v q )Bk d (w r ) i,j,k=0 = f (L(u p, v q, w r )) Calculate matrix Ω u = (Bi d (u j )) f 022 f 122 f 222 f 021 f 121 f 221 f 020 f 120 f 220 f 012 f 112 f 212 f 011 f 111 f 211 f 010 f 110 f 210 f 002 f 102 f 202 f 001 f 101 f 201 f 000 f 100 f 200 B0 d (u 0) Bd d(u 0)..... B0 d(u d) Bd d(u d)
41 Calculating the Frustum Form Coefficients We find the coefficients g ijk by interpolation Choose (d + 1) 3 interpolation points Form tri-tensor F by evaluating f L d g ijk Bi d (u p )Bj d (v q )Bk d (w r ) i,j,k=0 = f (L(u p, v q, w r )) Calculate matrix Ω u = (Bi d (u j )) In Einstein notation Ω u ipω v jqω w kr G ijk = F pqr f 022 f 122 f 222 f 021 f 121 f 221 f 020 f 120 f 220 f 012 f 112 f 212 f 011 f 111 f 211 f 010 f 110 f 210 f 002 f 102 f 202 f 001 f 101 f 201 f 000 f 100 f 200 B0 d (u 0) Bd d(u 0)..... B0 d(u d) Bd d(u d)
42 Frustum Form Coefficients cont. Ω u ip Ωv jq Ωw kr G ijk = F pqr Solve as a nested sequence of matrix products G ijk = (Ω w ) 1 kr (Ωv ) 1 jq (Ωu ) 1 ip F prq Ω 1 -matrices are only dependent on d precompute Size of system is small (d + 1) 3 perform in double on CPU Use Chebyshev points for numerical stability Not dependent on f to be a polynomial
43 Ray coefficient computation f (r pq ) = d d,d Bi d ( p m )g ijkbj d ( q n ) B k d (w) k=0 i,j=0 } {{ } c pqk Implemented as matrix products on the GPU
44 Ray coefficient computation f (r pq ) = d d,d Bi d ( p m )g ijkbj d ( q n ) B k d (w) k=0 i,j=0 } {{ } c pqk Implemented as matrix products on the GPU Dedicated CUDA kernel computes 4 slices in one pass d + 1 d + 1 m C k = Bi d G k (Bj d)t m n d + 1 n
45 Root finding computations Each ray is processed by a CUDA thread Memory layout crucial to maximize performance Ensure that memory reads/writes are coalesced Degree d is template parameter to specialize algorithms template<int d> float decasteljau( float t, float* CP ) { float *R[d+1]; float *L[d+1];. } Avoid idle threads by spatial regularity Rays 8 8 threadblock converge in same iteration#
46 Outline Ray coefficient computation Root finding Implementation details Results and Conclusion
47 d = 5, 74 FPS d = 6, 60 FPS d = 6, 45 FPS d = 8, 33 FPS d = 10, 12 FPS d = 16, 3.1 FPS
48 Conclusion: Benefits of the Frustum Form For fixed m, n, d precompute basis functions Reduce algorithmic complexity Evaluation of c pqk requires (d + 1) 2 muls/adds. Evaluation of f requires (d + 1)(d + 2)(d + 3)/6 muls/adds. Univariate ray equations for root finding f (r pq (t)) = d c pqk Bk d (t) = 0 k=0 Bernstein form for robust root finding Sample based methods might miss thin features Interval Methods[Knoll et. al.] are more robust Fast for sparse polynomials
49 Future Work Topologically correct ray-casting Beam tracing Mathematical exploration Surface intersections Singularity detection Performance and stability High degrees use blossoming to find Frustum Form coeffs. Sort rays based on estimated complexity
50 Thank you for listening! Questions?
Real time Ray-Casting of Algebraic Surfaces
Real time Ray-Casting of Algebraic Surfaces Martin Reimers Johan Seland Center of Mathematics for Applications University of Oslo Workshop on Computational Method for Algebraic Spline Surfaces Thursday
More informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines
More informationRay Casting of Trimmed NURBS Surfaces on the GPU
Ray Casting of Trimmed NURBS Surfaces on the GPU Hans-Friedrich Pabst Jan P. Springer André Schollmeyer Robert Lenhardt Christian Lessig Bernd Fröhlich Bauhaus University Weimar Faculty of Media Virtual
More informationRendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Objectives Introduce methods to draw curves - Approximate
More informationCurve and Surface Basics
Curve and Surface Basics Implicit and parametric forms Power basis form Bezier curves Rational Bezier Curves Tensor Product Surfaces ME525x NURBS Curve and Surface Modeling Page 1 Implicit and Parametric
More information1999, Denis Zorin. Ray tracing
Ray tracing Ray tracing shadow rays normal reflected ray pixel ray camera normal Ray casting/ray tracing Iterate over pixels, not objects. Effects that are difficult with Z-buffer, are easy with ray tracing:
More informationKnow it. Control points. B Spline surfaces. Implicit surfaces
Know it 15 B Spline Cur 14 13 12 11 Parametric curves Catmull clark subdivision Parametric surfaces Interpolating curves 10 9 8 7 6 5 4 3 2 Control points B Spline surfaces Implicit surfaces Bezier surfaces
More informationOUTLINE. Quadratic Bezier Curves Cubic Bezier Curves
BEZIER CURVES 1 OUTLINE Introduce types of curves and surfaces Introduce the types of curves Interpolating Hermite Bezier B-spline Quadratic Bezier Curves Cubic Bezier Curves 2 ESCAPING FLATLAND Until
More informationRay tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1
Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees Z-Buffer
More informationClosest Points, Moving Surfaces, and Algebraic Geometry
Closest Points, Moving Surfaces, and Algebraic Geometry Jan B. Thomassen, Pål H. Johansen, and Tor Dokken Abstract. This paper presents a method for computing closest points to a given parametric surface
More informationSingle Scattering in Refractive Media with Triangle Mesh Boundaries
Single Scattering in Refractive Media with Triangle Mesh Boundaries Bruce Walter Shuang Zhao Nicolas Holzschuch Kavita Bala Cornell Univ. Cornell Univ. Grenoble Univ. Cornell Univ. Presented at SIGGRAPH
More informationDirect Rendering of Trimmed NURBS Surfaces
Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended
More informationA MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE
Geometric Modeling Notes A MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE Kenneth I. Joy Institute for Data Analysis and Visualization Department of Computer Science University of California, Davis Overview
More informationDesign considerations
Curves Design considerations local control of shape design each segment independently smoothness and continuity ability to evaluate derivatives stability small change in input leads to small change in
More informationReal-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010
1 Real-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010 Presentation by Henrik H. Knutsen for TDT24, fall 2012 Om du ønsker, kan du sette inn navn, tittel på foredraget, o.l.
More informationTopic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping
Topic 12: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures
More informationComputer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail
Computer Graphics CS 54 Lecture 1a Curves, Tesselation/Geometry Shaders & Level of Detail Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines
More informationTopic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized
Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures
More informationRefinable C 1 spline elements for irregular quad layout
Refinable C 1 spline elements for irregular quad layout Thien Nguyen Jörg Peters University of Florida NSF CCF-0728797, NIH R01-LM011300 T. Nguyen, J. Peters (UF) GMP 2016 1 / 20 Outline 1 Refinable, smooth,
More informationIntro to Modeling Modeling in 3D
Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2
More informationABSTRACT TO BE PRESENTED COMPUTATIONAL METHODS FOR ALGEBRAIC SPLINE SURFACES COMPASS II. September 14-16th, 2005
ABSTRACT TO BE PRESENTED AT COMPUTATIONAL METHODS FOR ALGEBRAIC SPLINE SURFACES COMPASS II September 14-16th, 2005 CENTRE OF MATHEMATICS FOR APPLICATIONS GAIA II PROJECT IST--2002 35512 UNIVERSITY OF OSLO,
More informationTopic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural
Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Topic 11: Photographs Texture Mapping Motivation Sources of texture Texture coordinates
More informationParametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell
Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c
More informationMathematical Tools in Computer Graphics with C# Implementations Table of Contents
Mathematical Tools in Computer Graphics with C# Implementations by Hardy Alexandre, Willi-Hans Steeb, World Scientific Publishing Company, Incorporated, 2008 Table of Contents List of Figures Notation
More informationParametric Curves. University of Texas at Austin CS384G - Computer Graphics
Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c
More informationCS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018
CS354 Computer Graphics Surface Representation IV Qixing Huang March 7th 2018 Today s Topic Subdivision surfaces Implicit surface representation Subdivision Surfaces Building complex models We can extend
More informationCOMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg
COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided
More informationImplicit Matrix Representations of Rational Bézier Curves and Surfaces
Implicit Matrix Representations of Rational Bézier Curves and Surfaces Laurent Busé INRIA Sophia Antipolis, France Laurent.Buse@inria.fr GD/SPM Conference, Denver, USA November 11, 2013 Overall motivation
More informationFundamentals of Computer Graphics. Lecture 3 Parametric curve and surface. Yong-Jin Liu.
Fundamentals of Computer Graphics Lecture 3 Parametric curve and surface Yong-Jin Liu liuyongjin@tsinghua.edu.cn Smooth curve and surface Design criteria of smooth curve and surface Smooth and continuity
More informationGeometric Representations. Stelian Coros
Geometric Representations Stelian Coros Geometric Representations Languages for describing shape Boundary representations Polygonal meshes Subdivision surfaces Implicit surfaces Volumetric models Parametric
More informationComputer 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 informationUntil now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple
Curves and surfaces Escaping Flatland Until now we have worked with flat entities such as lines and flat polygons Fit well with graphics hardware Mathematically simple But the world is not composed of
More informationComputer Graphics Curves and Surfaces. Matthias Teschner
Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves
More informationBezier Curves, B-Splines, NURBS
Bezier Curves, B-Splines, NURBS Example Application: Font Design and Display Curved objects are everywhere There is always need for: mathematical fidelity high precision artistic freedom and flexibility
More informationCOMP3421. Global Lighting Part 2: Radiosity
COMP3421 Global Lighting Part 2: Radiosity Recap: Global Lighting The lighting equation we looked at earlier only handled direct lighting from sources: We added an ambient fudge term to account for all
More informationCHAPTER 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 informationSYSTEMS OF NONLINEAR EQUATIONS
SYSTEMS OF NONLINEAR EQUATIONS Widely used in the mathematical modeling of real world phenomena. We introduce some numerical methods for their solution. For better intuition, we examine systems of two
More informationCS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside
CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside Blending Functions Blending functions are more convenient basis than monomial basis canonical form (monomial
More information08 - Designing Approximating Curves
08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran Last time Interpolating curves Monomials Lagrange Hermite Different control types Polynomials
More informationFall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.
Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.hao-li.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve
More informationCentral issues in modelling
Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to
More informationOn the Optimality of Piecewise Linear Max-norm Enclosures based on Slefes
On the Optimality of Piecewise Linear Max-norm Enclosures based on Slefes Jörg Peters and Xiaobin Wu Abstract. Subdividable linear efficient function enclosures (Slefes) provide, at low cost, a piecewise
More informationComputational Physics PHYS 420
Computational Physics PHYS 420 Dr Richard H. Cyburt Assistant Professor of Physics My office: 402c in the Science Building My phone: (304) 384-6006 My email: rcyburt@concord.edu My webpage: www.concord.edu/rcyburt
More informationAn introduction to interpolation and splines
An introduction to interpolation and splines Kenneth H. Carpenter, EECE KSU November 22, 1999 revised November 20, 2001, April 24, 2002, April 14, 2004 1 Introduction Suppose one wishes to draw a curve
More information3D Modeling Parametric Curves & Surfaces
3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision
More informationarxiv: v1 [math.na] 5 Jul 2017
APPROXIMATE IMPLICITIZATION OF TRIANGULAR BÉZIER SURFACES OLIVER J. D. BARROWCLOUGH AND TOR DOKKEN arxiv:707.0255v [math.na] 5 Jul 207 Abstract. We discuss how Dokken s methods of approximate implicitization
More informationLecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10
Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful
More informationimplicit surfaces, approximate implicitization, B-splines, A- patches, surface fitting
24. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE ZBYNĚK ŠÍR FITTING OF PIECEWISE POLYNOMIAL IMPLICIT SURFACES Abstrakt In our contribution we discuss the possibility of an efficient fitting of piecewise
More informationLecture IV Bézier Curves
Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:
More informationCS-184: Computer Graphics. Today
CS-84: Computer Graphics Lecture #5: Curves and Surfaces Prof. James O Brien University of California, Berkeley V25F-5-. Today General curve and surface representations Splines and other polynomial bases
More informationFrom curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D
From curves to surfaces Parametric surfaces and solid modeling CS 465 Lecture 12 2007 Doug James & Steve Marschner 1 So far have discussed spline curves in 2D it turns out that this already provides of
More informationPythagorean - Hodograph Curves: Algebra and Geometry Inseparable
Rida T. Farouki Pythagorean - Hodograph Curves: Algebra and Geometry Inseparable With 204 Figures and 15 Tables 4y Springer Contents 1 Introduction 1 1.1 The Lure of Analytic Geometry 1 1.2 Symbiosis of
More informationSurfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November
Surfaces for CAGD FSP Tutorial FSP-Seminar, Graz, November 2005 1 Tensor Product Surfaces Given: two curve schemes (Bézier curves or B splines): I: x(u) = m i=0 F i(u)b i, u [a, b], II: x(v) = n j=0 G
More informationImplicit Surfaces & Solid Representations COS 426
Implicit Surfaces & Solid Representations COS 426 3D Object Representations Desirable properties of an object representation Easy to acquire Accurate Concise Intuitive editing Efficient editing Efficient
More informationCS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15
Describing Shapes Constructing Objects in Computer Graphics 1/15 2D Object Definition (1/3) Lines and polylines: Polylines: lines drawn between ordered points A closed polyline is a polygon, a simple polygon
More informationGL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques
436-105 Engineering Communications GL9:1 GL9: CAD techniques Curves Surfaces Solids Techniques Parametric curves GL9:2 x = a 1 + b 1 u + c 1 u 2 + d 1 u 3 + y = a 2 + b 2 u + c 2 u 2 + d 2 u 3 + z = a
More informationRay Tracing. Foley & Van Dam, Chapters 15 and 16
Ray Tracing Foley & Van Dam, Chapters 15 and 16 Ray Tracing Visible Surface Ray Tracing (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Ray Tracing Determine visibility
More informationRay Tracing Foley & Van Dam, Chapters 15 and 16
Foley & Van Dam, Chapters 15 and 16 (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Determine visibility of a surface by tracing rays of light from the viewer s eye
More informationComputer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)
Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Raytracing Global illumination-based rendering method Simulates
More informationHomework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves
Computer Graphics Instructor: Brian Curless CSEP 557 Autumn 2016 Homework #2 Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Assigned: Wednesday, Nov 16 th Due: Wednesday, Nov 30
More informationCS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15
Describing Shapes Constructing Objects in Computer Graphics 1/15 2D Object Definition (1/3) Lines and polylines: Polylines: lines drawn between ordered points A closed polyline is a polygon, a simple polygon
More informationGeometric Queries for Ray Tracing
CSCI 420 Computer Graphics Lecture 16 Geometric Queries for Ray Tracing Ray-Surface Intersection Barycentric Coordinates [Angel Ch. 11] Jernej Barbic University of Southern California 1 Ray-Surface Intersections
More information3D Modeling: Surfaces
CS 430/536 Computer Graphics I 3D Modeling: Surfaces Week 8, Lecture 16 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel
More informationIntroduction to Computer Graphics
Introduction to Computer Graphics 2016 Spring National Cheng Kung University Instructors: Min-Chun Hu 胡敏君 Shih-Chin Weng 翁士欽 ( 西基電腦動畫 ) Data Representation Curves and Surfaces Limitations of Polygons Inherently
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 informationNeed for Parametric Equations
Curves and Surfaces Curves and Surfaces Need for Parametric Equations Affine Combinations Bernstein Polynomials Bezier Curves and Surfaces Continuity when joining curves B Spline Curves and Surfaces Need
More informationCSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016
CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Project 3 due tomorrow Midterm 2 next
More informationCS-184: Computer Graphics
CS-184: Computer Graphics Lecture #12: Curves and Surfaces Prof. James O Brien University of California, Berkeley V2007-F-12-1.0 Today General curve and surface representations Splines and other polynomial
More information3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013
3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels
More informationPhD Student. Associate Professor, Co-Director, Center for Computational Earth and Environmental Science. Abdulrahman Manea.
Abdulrahman Manea PhD Student Hamdi Tchelepi Associate Professor, Co-Director, Center for Computational Earth and Environmental Science Energy Resources Engineering Department School of Earth Sciences
More informationCSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017
CSE 167: Introduction to Computer Graphics Lecture #13: Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 4 due Monday Nov 27 at 2pm Next Tuesday:
More informationCS 536 Computer Graphics Intro to Curves Week 1, Lecture 2
CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves
More informationAdvanced Modeling 2. Katja Bühler, Andrej Varchola, Eduard Gröller. March 24, x(t) z(t)
Advanced Modeling 2 Katja Bühler, Andrej Varchola, Eduard Gröller March 24, 2014 1 Parametric Representations A parametric curve in E 3 is given by x(t) c : c(t) = y(t) ; t I = [a, b] R z(t) where x(t),
More informationLecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13
Lecture 17: Solid Modeling... a cubit on the one side, and a cubit on the other side Exodus 26:13 Who is on the LORD's side? Exodus 32:26 1. Solid Representations A solid is a 3-dimensional shape with
More informationB. Tech. Project Second Stage Report on
B. Tech. Project Second Stage Report on GPU Based Active Contours Submitted by Sumit Shekhar (05007028) Under the guidance of Prof Subhasis Chaudhuri Table of Contents 1. Introduction... 1 1.1 Graphic
More informationSolving Systems of Spline Equations: A Linear Programming-based Approach
Engineering, Test & Technology Boeing Research & Technology Solving Systems of Spline Equations: A Linear Programming-based Approach Thomas Grandine Senior Technical Fellow Support and Analytics Technology
More informationSurfaces, meshes, and topology
Surfaces from Point Samples Surfaces, meshes, and topology A surface is a 2-manifold embedded in 3- dimensional Euclidean space Such surfaces are often approximated by triangle meshes 2 1 Triangle mesh
More informationEECS 487, Fall 2005 Exam 2
EECS 487, Fall 2005 Exam 2 December 21, 2005 This is a closed book exam. Notes are not permitted. Basic calculators are permitted, but not needed. Explain or show your work for each question. Name: uniqname:
More informationInteractive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1
Interactive Graphics Lecture 9: Introduction to Spline Curves Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 13: Slide 2 Splines The word spline comes from the ship building trade
More informationReal-Time GPU Rendering of Piecewise Algebraic Surfaces
Real-Time GPU Rendering of Piecewise Algebraic Surfaces Charles Loop Microsoft Research Jim Blinn Microsoft Research Figure 1: Several states of an animated fourth order algebraic surface rendered in real-time
More informationGEOMETRIC 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 informationCurves. Computer Graphics CSE 167 Lecture 11
Curves Computer Graphics CSE 167 Lecture 11 CSE 167: Computer graphics Polynomial Curves Polynomial functions Bézier Curves Drawing Bézier curves Piecewise Bézier curves Based on slides courtesy of Jurgen
More informationIntro to Curves Week 4, Lecture 7
CS 430/536 Computer Graphics I Intro to Curves Week 4, Lecture 7 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University
More information8.1 Geometric Queries for Ray Tracing
Fall 2017 CSCI 420: Computer Graphics 8.1 Geometric Queries for Ray Tracing Hao Li http://cs420.hao-li.com 1 Outline Ray-Surface Intersections Special cases: sphere, polygon Barycentric coordinates 2 Outline
More informationHeterogeneous Computing and Geometry Processing
Heterogeneous Computing and Geometry Processing Tor Dokken SINTEF ICT and CMA University of Oslo tor.dokken@sintef.no www.sintef.no/math www.sintef.no/gpgpu www.sintef.no/parallel3d 1 Structure of presentation
More informationSplines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes
CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines Catmull-Rom Splines Other Cubic Splines [Angel Ch 12.4-12.12] Roller coaster
More informationInformation Coding / Computer Graphics, ISY, LiTH. Splines
28(69) Splines Originally a drafting tool to create a smooth curve In computer graphics: a curve built from sections, each described by a 2nd or 3rd degree polynomial. Very common in non-real-time graphics,
More informationCurves D.A. Forsyth, with slides from John Hart
Curves D.A. Forsyth, with slides from John Hart Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction
More informationRendering Algebraic Surfaces CS348B Final Project
Rendering Algebraic Surfaces CS348B Final Project Gennadiy Chuyeshov Overview This project is devoted to the visualization of a class consisting of implicit algebraic surfaces in three-dimensional space,
More informationReparametrization of Interval Curves on Rectangular Domain
International Journal of Video&Image Processing and Network Security IJVIPNS-IJENS Vol:15 No:05 1 Reparametrization of Interval Curves on Rectangular Domain O. Ismail, Senior Member, IEEE Abstract The
More informationReal-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!
Last Time? Real-Time Shadows Perspective-Correct Interpolation Texture Coordinates Procedural Solid Textures Other Mapping Bump Displacement Environment Lighting Textures can Alias Aliasing is the under-sampling
More informationHomework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves
Computer Graphics Instructor: Brian Curless CSE 457 Spring 2013 Homework #2 Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves Assigned: Sunday, May 12 th Due: Thursday,
More informationThe Essentials of CAGD
The Essentials of CAGD Chapter 6: Bézier Patches Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd c 2 Farin & Hansford The
More informationICES REPORT February Benjamin Marussig and Thomas J. R. Hughes
ICES REPORT 17-03 February 2017 A Review of Trimming in Isogeometric Analysis: Challenges, Data Exchange and Simulation Aspects by Benjamin Marussig and Thomas J. R. Hughes The Institute for Computational
More informationCurves and Surfaces for Computer-Aided Geometric Design
Curves and Surfaces for Computer-Aided Geometric Design A Practical Guide Fourth Edition Gerald Farin Department of Computer Science Arizona State University Tempe, Arizona /ACADEMIC PRESS I San Diego
More informationIntro to Curves Week 1, Lecture 2
CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves
More informationKnot Insertion and Reparametrization of Interval B-spline Curves
International Journal of Video&Image Processing and Network Security IJVIPNS-IJENS Vol:14 No:05 1 Knot Insertion and Reparametrization of Interval B-spline Curves O. Ismail, Senior Member, IEEE Abstract
More informationPhysically-Based Modeling and Animation. University of Missouri at Columbia
Overview of Geometric Modeling Overview 3D Shape Primitives: Points Vertices. Curves Lines, polylines, curves. Surfaces Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles. Solids
More informationInteractive 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 informationParallel FFT Program Optimizations on Heterogeneous Computers
Parallel FFT Program Optimizations on Heterogeneous Computers Shuo Chen, Xiaoming Li Department of Electrical and Computer Engineering University of Delaware, Newark, DE 19716 Outline Part I: A Hybrid
More information