Real time Ray-Casting of Algebraic Surfaces

Size: px
Start display at page:

Download "Real time Ray-Casting of Algebraic Surfaces"

Transcription

1 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 13. September

2 Introduction Raycasting An algebraic surface is the zero set of a polynomial f (x, y, z) = f ijk x i y j z k = 0. 0 i+j+k d Raycasting amounts to shooting rays inside a view frustum (VF) and determine if they intersect the surface. Can miss thin features Conceptually easy Embarrassingly parallel

3 Introduction For a ray r pq (t) raycasting amounts to finding the smallest t [0, 1] s. t. f ((1 t)n pq + tf pq ) = f (r pq (t)) = 0. We would like to work on a univariate polynomial in Bernstein form, d f (r pq (t)) = c pqk Bk d (t) = 0. k=0 Assume a screen resolution of (m + 1) (n + 1) pixels. Pixel (p, q) corresponds to a ray through p and the pixel with coordinates (p/m, q/n). far plane r pq (t) near plane p

4 Introduction Overview Our algorithm thus consist of the following steps: 1. Compute ray coefficients C = (c pqk )

5 Introduction Overview Our algorithm thus consist of the following steps: 1. Compute ray coefficients C = (c pqk ) 2. For each pixel (p, q) 2.1 Seek the smallest root t [0, 1] of f (r pq (t)). 2.2 Compute a color for pixel (p, q).

6 Introduction Overview Our algorithm thus consist of the following steps: 1. Compute ray coefficients C = (c pqk ) 2. For each pixel (p, q) 2.1 Seek the smallest root t [0, 1] of f (r pq (t)). 2.2 Compute a color for pixel (p, q). 3. Optionally, perform postprocessing 3.1 Detect singularities 3.2 Antialias

7 Ray coefficient computation The View Frustum Form Idea: Parameterize the view frustum over the unit cube, s. t. (u, v, 0) and (u, v, 1) maps to points on the near and far plane. v L far plane near plane u p w A ray in the view frustum is given by: r pq (w) = L(p/m, q/n, w). We define the View Frustum Form to be: g = f L : [0, 1] 3 R.

8 Ray coefficient computation Using the composition g = f L, f (L( p m, q n, w)) = g( p m, q d,d,d n, w) = = i,j,k=0 g ijk B d i ( p m )Bd j ( q n )Bd k (w) d d,d g ijk Bi d ( p m )Bd j ( q n ) B k d (w). k=0 i,j=0 Yielding univariate ray equations of degree d, f (r pq (t)) = } {{ } c pqk d c pqk Bk d (t). k=0

9 Ray coefficient computation Computing VFF Coefficients The VFF coefficients G = (g ijk ) can be found in a number of ways: Blossoming [DeRose et.al. 1993]. Recursion [Sederberg/Zundel 1989]. Interpolation (our preferred approach). Choose (d + 1) 3 distinct interpolation points (u p, v q, w r ) on a grid. Solve d,d,d i,j,k=0 Ω q {}}{ g ijk Bi d (u p ) Bj d (u q )Bj d (u r ) = f (L(u p, v q, w r )) }{{}}{{} Ω p Ω r Needs inverse of Bernstein collocation matrices Ωp = (Bi d (u p )). Use Chebyshev interpolation points for stability. Not dependent on the representation of f.

10 Ray coefficient computation Benefits of the View Frustum Form For fixed m, n, d precompute basis functions Ck = MG k N T, M = (Bi d (p/m)), N = (Bj d(q/n)). Can pre-evaluate inverse of collocation matrix Ω 1. 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) k=0

11 Root finding B-Spline Based Root Finding The univariate ray equations can be expressed as B-Splines. Idea: Insert knot(s) at the first intersection of the control polygon. Repeat Second order convergence for simple roots [Mørken and Reimers, 2006].

12 Root finding B-Spline Based Root Finding The univariate ray equations can be expressed as B-Splines. Idea: Insert knot(s) at the first intersection of the control polygon. Repeat Second order convergence for simple roots [Mørken and Reimers, 2006].

13 Root finding B-Spline Based Root Finding The univariate ray equations can be expressed as B-Splines. Idea: Insert knot(s) at the first intersection of the control polygon. Repeat Second order convergence for simple roots [Mørken and Reimers, 2006].

14 Root finding B-Spline Based Root Finding The univariate ray equations can be expressed as B-Splines. Idea: Insert knot(s) at the first intersection of the control polygon. Repeat Second order convergence for simple roots [Mørken and Reimers, 2006].

15 Root finding B-Spline Based Root Finding The univariate ray equations can be expressed as B-Splines. Idea: Insert knot(s) at the first intersection of the control polygon. Repeat Second order convergence for simple roots [Mørken and Reimers, 2006].

16 Root finding B-Spline Based Root Finding The univariate ray equations can be expressed as B-Splines. Idea: Insert knot(s) at the first intersection of the control polygon. Repeat Second order convergence for simple roots [Mørken and Reimers, 2006].

17 Root finding B-Spline Based Root Finding The univariate ray equations can be expressed as B-Splines. Idea: Insert knot(s) at the first intersection of the control polygon. Repeat Second order convergence for simple roots [Mørken and Reimers, 2006].

18 Root finding B-Spline Based Root Finding The univariate ray equations can be expressed as B-Splines. Idea: Insert knot(s) at the first intersection of the control polygon. Repeat Second order convergence for simple roots [Mørken and Reimers, 2006].

19 Root finding Properites of rootfinder Stable computations (convex combinations) Similar to Newtons, but unconditionally convergent to smallest zero (no guessing) Quadratic convergence rate to simple zeros Recent extension [Mørken/Reimers] converge quadratically to multiple zeros Similar method [Reimers] for computing e.g. max f (x) or min f (x)

20 Root finding Root finding variations The knot insertion framework is very flexible, and allow for variations: Can emulate Bézier subdivision by inserting d knots at a time. (Lane/Risenfeld, Rockwood, Schneider). Preconditioning, insert knots from neighboring rays. Estimate root multiplicity and detect roots of n th derivative. (Strictly alternating control polygon.) Detect critical points, use as start value to search for singularities.

21 Postprocessing Singularity detection 1. For misses, find smallest absolute value along ray, w Flag as singularity if: g(p/m, q/n, w 0 ) + g(p/m, q/n, w 0 ) < ɛ. How to determine ɛ? Vulnerable to scaling. x 2 y 3 = 0.

22 Postprocessing Antialiasing Due to discrete sampling, aliasing effects will occur. Suppose neighboring pixels p 1, p 2 differ. I.e. p 1 p 2 < ɛ. We seek a point s on the separating curve between p 1 and p 2. color(p 1 ) := (1.0 α) color(p 1 ) + α color(p 2 ) v silhouette n 2 α p 2 s = (u, v) p 1 u

23 Postprocessing Antialiasing II At silhouettes g(s) = 0 and g w (s) = 0. Use Newton methods on h(v, w) := (g(s), g w (s)) = (0, 0). Restrict to plane between p 1, p 2. If leaving domain, search for g(s) = 0.

24 Gallery and performance Postprocessing

25 Postprocessing Future work Interval spline methods: Topological correctness. Empty-space skipping. Bounding box calculations Efficient data structures for splines

26 Postprocessing Thank you for listening Questions? Contact info Johan S. Seland Tel:

27 Postprocessing Mørken and Reimers An unconditionally convergent method for computing zeros of splines and polynomials Math. of Comp. 76, 2006

28 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e-1

29 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e e-2

30 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e e e-2

31 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e e e e-3

32 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e e e e e-4

33 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e e e e e e-6

34 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e e e e e e e-8

35 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e e e e e e e e-12

36 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e e e e e e e e e-16

37 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e e e e e e e e e e-24

38 Postprocessing Zero Algorithm [MrkenReimers 2007] Idea: Repeated knot insertion at zeros of F t Repeat for j = 0, 1, until convergence or F t j has no zeros 1. Find the smallest value x j+1 such that F t j (x j+1 ) = 0 or stop 2. Let t j+1 = t j {x j+1 } and form F t j Error x j z : 1.41e e e e e e e e e e-24

Ray-casting Algebraic Surfaces using the Frustum Form. Eurographics 2008 Crete, Thursday April 17.

Ray-casting Algebraic Surfaces using the Frustum Form. Eurographics 2008 Crete, Thursday April 17. Ray-casting Algebraic Surfaces using the Frustum Form Martin Reimers Johan Seland Eurographics 2008 Crete, Thursday April 17. Algebraic Surfaces Zero set of polynomial f : R 3 R f (x, y, z) = f ijk x i

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 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 information

Rendering 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 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 information

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Until 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 information

Ray Casting of Trimmed NURBS Surfaces on the GPU

Ray 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 information

Lecture IV Bézier Curves

Lecture 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 information

A MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE

A 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 information

Remark. Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 331

Remark. Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 331 Remark Reconsidering the motivating example, we observe that the derivatives are typically not given by the problem specification. However, they can be estimated in a pre-processing step. A good estimate

More information

SYSTEMS OF NONLINEAR EQUATIONS

SYSTEMS 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 information

Bezier Curves, B-Splines, NURBS

Bezier 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 information

Closest Points, Moving Surfaces, and Algebraic Geometry

Closest 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 information

An introduction to interpolation and splines

An 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 information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 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 information

Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i.

Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i. Bézier Splines CS 475 / CS 675 Computer Graphics Lecture 14 : Modelling Curves 3 n P t = B i J n,i t with 0 t 1 J n, i t = i=0 n i t i 1 t n i No local control. Degree restricted by the control polygon.

More information

Design considerations

Design 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 information

08 - Designing Approximating Curves

08 - 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 information

Parametric 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 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 information

implicit surfaces, approximate implicitization, B-splines, A- patches, surface fitting

implicit 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 information

Direct Rendering of Trimmed NURBS Surfaces

Direct 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 information

AN UNCONDITIONALLY CONVERGENT METHOD FOR COMPUTING ZEROS OF SPLINES AND POLYNOMIALS

AN UNCONDITIONALLY CONVERGENT METHOD FOR COMPUTING ZEROS OF SPLINES AND POLYNOMIALS MATHEMATICS OF COMPUTATION Volume 76, Number 258, April 2007, Pages 845 865 S 0025-5718(07)01923-0 Article electronically published on January 9, 2007 AN UNCONDITIONALLY CONVERGENT METHOD FOR COMPUTING

More information

Need for Parametric Equations

Need 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 information

ABSTRACT TO BE PRESENTED COMPUTATIONAL METHODS FOR ALGEBRAIC SPLINE SURFACES COMPASS II. September 14-16th, 2005

ABSTRACT 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 information

CSE 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 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 information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC 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 information

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

Parametric 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 information

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : 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 information

Know it. Control points. B Spline surfaces. Implicit surfaces

Know 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 information

CS 450 Numerical Analysis. Chapter 7: Interpolation

CS 450 Numerical Analysis. Chapter 7: Interpolation Lecture slides based on the textbook Scientific Computing: An Introductory Survey by Michael T. Heath, copyright c 2018 by the Society for Industrial and Applied Mathematics. http://www.siam.org/books/cl80

More information

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Fall 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 information

Rational Bezier Surface

Rational Bezier Surface Rational Bezier Surface The perspective projection of a 4-dimensional polynomial Bezier surface, S w n ( u, v) B i n i 0 m j 0, u ( ) B j m, v ( ) P w ij ME525x NURBS Curve and Surface Modeling Page 97

More information

arxiv: v1 [math.na] 5 Jul 2017

arxiv: 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 information

Intro to Modeling Modeling in 3D

Intro 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 information

Rational Quadratic Approximation to Real Plane Algebraic Curves 1)

Rational Quadratic Approximation to Real Plane Algebraic Curves 1) MM Research Preprints, 86 106 MMRC, AMSS, Academia, Sinica, Beijing No. 22, December 2003 Rational Quadratic Approximation to Real Plane Algebraic Curves 1) Xiao-Shan Gao and Ming Li Key Lab of Mathematics

More information

Representing Curves Part II. Foley & Van Dam, Chapter 11

Representing Curves Part II. Foley & Van Dam, Chapter 11 Representing Curves Part II Foley & Van Dam, Chapter 11 Representing Curves Polynomial Splines Bezier Curves Cardinal Splines Uniform, non rational B-Splines Drawing Curves Applications of Bezier splines

More information

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

Mathematical 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 information

Spline Methods Draft. Tom Lyche and Knut Mørken. Department of Informatics Centre of Mathematics for Applications University of Oslo

Spline Methods Draft. Tom Lyche and Knut Mørken. Department of Informatics Centre of Mathematics for Applications University of Oslo Spline Methods Draft Tom Lyche and Knut Mørken Department of Informatics Centre of Mathematics for Applications University of Oslo January 27, 2006 Contents 1 Splines and B-splines an Introduction 1 1.1

More information

Curve and Surface Basics

Curve 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 information

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER 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 information

Curves and Surfaces 1

Curves and Surfaces 1 Curves and Surfaces 1 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized Modeling Techniques 2 The Teapot 3 Representing

More information

A new 8-node quadrilateral spline finite element

A new 8-node quadrilateral spline finite element Journal of Computational and Applied Mathematics 195 (2006) 54 65 www.elsevier.com/locate/cam A new 8-node quadrilateral spline finite element Chong-Jun Li, Ren-Hong Wang Institute of Mathematical Sciences,

More information

Recursive Subdivision Surfaces for Geometric Modeling

Recursive Subdivision Surfaces for Geometric Modeling Recursive Subdivision Surfaces for Geometric Modeling Weiyin Ma City University of Hong Kong, Dept. of Manufacturing Engineering & Engineering Management Ahmad Nasri American University of Beirut, Dept.

More information

Perspective Mappings. Contents

Perspective Mappings. Contents Perspective Mappings David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy

More information

Multi-level Partition of Unity Implicits

Multi-level Partition of Unity Implicits Multi-level Partition of Unity Implicits Diego Salume October 23 rd, 2013 Author: Ohtake, et.al. Overview Goal: Use multi-level partition of unity (MPU) implicit surface to construct surface models. 3

More information

Implicit Matrix Representations of Rational Bézier Curves and Surfaces

Implicit 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 information

Justify all your answers and write down all important steps. Unsupported answers will be disregarded.

Justify all your answers and write down all important steps. Unsupported answers will be disregarded. Numerical Analysis FMN011 2017/05/30 The exam lasts 5 hours and has 15 questions. A minimum of 35 points out of the total 70 are required to get a passing grade. These points will be added to those you

More information

Introduction to Computer Graphics

Introduction 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 information

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines CS 475 / CS 675 - Computer Graphics Modelling Curves 3 - Bézier Splines n P t = i=0 No local control. B i J n,i t with 0 t 1 J n,i t = n i t i 1 t n i Degree restricted by the control polygon. http://www.cs.mtu.edu/~shene/courses/cs3621/notes/spline/bezier/bezier-move-ct-pt.html

More information

Adaptive and Smooth Surface Construction by Triangular A-Patches

Adaptive and Smooth Surface Construction by Triangular A-Patches Adaptive and Smooth Surface Construction by Triangular A-Patches Guoliang Xu Institute of Computational Mathematics and Scientific/Engineering Computing, Chinese Academy of Sciences, Beijing, China Abstract

More information

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Ray 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 information

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

Splines. 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 information

CS 4620 Final Exam. (a) Is a circle C 0 continuous?

CS 4620 Final Exam. (a) Is a circle C 0 continuous? CS 4620 Final Exam Wednesday 9, December 2009 2 1 2 hours Prof. Doug James Explain your reasoning for full credit. You are permitted a double-sided sheet of notes. Calculators are allowed but unnecessary.

More information

Topic 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 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 information

Rendering Algebraic Surfaces CS348B Final Project

Rendering 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 information

Parameterization of triangular meshes

Parameterization of triangular meshes Parameterization of triangular meshes Michael S. Floater November 10, 2009 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to

More information

Questions??? Announcements Assignment 3 due today

Questions??? Announcements Assignment 3 due today Announcements Assignment 3 due today Questions??? Remember that you have late days (if you haven t used them yet ) Problem set 3 out at the end of the day Movie for Assignment 2 at the end of class 1 Ray

More information

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Topic 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 information

Parameterization. Michael S. Floater. November 10, 2011

Parameterization. Michael S. Floater. November 10, 2011 Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point

More information

MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves

MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves David L. Finn In this section, we discuss the geometric properties of Bezier curves. These properties are either implied directly

More information

CSE 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 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 information

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Topic 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 information

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves

Homework #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 information

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017) Homework Assignment Sheet I (Due 20-Oct-2017) Assignment 1 Let n N and A be a finite set of cardinality n = A. By definition, a permutation of A is a bijective function from A to A. Prove that there exist

More information

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd Curves and Surfaces Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/11/2007 Final projects Surface representations Smooth curves Subdivision Todays Topics 2 Final Project Requirements

More information

Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves

Homework #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 information

Solving Systems of Spline Equations: A Linear Programming-based Approach

Solving 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 information

Computer Graphics Curves and Surfaces. Matthias Teschner

Computer 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 information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and

More information

Rational Bezier Curves

Rational Bezier Curves Rational Bezier Curves Use of homogeneous coordinates Rational spline curve: define a curve in one higher dimension space, project it down on the homogenizing variable Mathematical formulation: n P(u)

More information

MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces

MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces David L. Finn Today, we want to exam interpolation and data fitting problems for surface patches. Our general method is the same,

More information

Spline Methods Draft. Tom Lyche and Knut Mørken

Spline Methods Draft. Tom Lyche and Knut Mørken Spline Methods Draft Tom Lyche and Knut Mørken January 5, 2005 2 Contents 1 Splines and B-splines an Introduction 3 1.1 Convex combinations and convex hulls.................... 3 1.1.1 Stable computations...........................

More information

Spline Methods Draft. Tom Lyche and Knut Mørken

Spline Methods Draft. Tom Lyche and Knut Mørken Spline Methods Draft Tom Lyche and Knut Mørken 24th May 2002 2 Contents 1 Splines and B-splines an introduction 3 1.1 Convex combinations and convex hulls..................... 3 1.1.1 Stable computations...........................

More information

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

OUTLINE. 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 information

Computational Physics PHYS 420

Computational 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 information

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

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 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 information

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

Computer 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 information

EECS 487, Fall 2005 Exam 2

EECS 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 information

Computer Graphics I Lecture 11

Computer 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 information

Geometry. Chapter 5. Types of Curves and Surfaces

Geometry. Chapter 5. Types of Curves and Surfaces Chapter 5. Geometry Geometry refers to the physical items represented by the model (such as points, curves, and surfaces), independent of their spatial or topological relationships. The ACIS free form

More information

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd Advanced Graphics Beziers, B-splines, and NURBS Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd Bezier splines, B-Splines, and NURBS Expensive products

More information

Curves. Computer Graphics CSE 167 Lecture 11

Curves. 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 information

Refinable C 1 spline elements for irregular quad layout

Refinable 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 information

Normals of subdivision surfaces and their control polyhedra

Normals of subdivision surfaces and their control polyhedra Computer Aided Geometric Design 24 (27 112 116 www.elsevier.com/locate/cagd Normals of subdivision surfaces and their control polyhedra I. Ginkel a,j.peters b,,g.umlauf a a University of Kaiserslautern,

More information

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework assignment 5 due tomorrow, Nov

More information

CHAPTER 6 Parametric Spline Curves

CHAPTER 6 Parametric Spline Curves CHAPTER 6 Parametric Spline Curves When we introduced splines in Chapter 1 we focused on spline curves, or more precisely, vector valued spline functions. In Chapters 2 and 4 we then established the basic

More information

Scientific Computing: Interpolation

Scientific Computing: Interpolation Scientific Computing: Interpolation Aleksandar Donev Courant Institute, NYU donev@courant.nyu.edu Course MATH-GA.243 or CSCI-GA.22, Fall 25 October 22nd, 25 A. Donev (Courant Institute) Lecture VIII /22/25

More information

1999, Denis Zorin. Ray tracing

1999, 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 information

COMP3421. Global Lighting Part 2: Radiosity

COMP3421. 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 information

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include motion, behavior Graphics is a form of simulation and

More information

February 23 Math 2335 sec 51 Spring 2016

February 23 Math 2335 sec 51 Spring 2016 February 23 Math 2335 sec 51 Spring 2016 Section 4.1: Polynomial Interpolation Interpolation is the process of finding a curve or evaluating a function whose curve passes through a known set of points.

More information

1.2 Numerical Solutions of Flow Problems

1.2 Numerical Solutions of Flow Problems 1.2 Numerical Solutions of Flow Problems DIFFERENTIAL EQUATIONS OF MOTION FOR A SIMPLIFIED FLOW PROBLEM Continuity equation for incompressible flow: 0 Momentum (Navier-Stokes) equations for a Newtonian

More information

Interactive 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 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 information

Geometric modeling 1

Geometric modeling 1 Geometric Modeling 1 Look around the room. To make a 3D model of a room requires modeling every single object you can see. Leaving out smaller objects (clutter) makes the room seem sterile and unrealistic

More information

Central issues in modelling

Central 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 information

x n x n stepnumber k order r error constant C r+1 1/2 5/12 3/8 251/720 abs. stab. interval (α,0) /11-3/10

x n x n stepnumber k order r error constant C r+1 1/2 5/12 3/8 251/720 abs. stab. interval (α,0) /11-3/10 MATH 573 LECTURE NOTES 77 13.8. Predictor-corrector methods. We consider the Adams methods, obtained from the formula xn+1 xn+1 y(x n+1 y(x n ) = y (x)dx = f(x,y(x))dx x n x n by replacing f by an interpolating

More information

CS-184: Computer Graphics. Today

CS-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 information

Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives

Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives Qi-Xing Huang a Shi-Min Hu a,1 Ralph R Martin b a Department of Computer Science and Technology, Tsinghua University,

More information

Spline Curve Distance Minimization. Robust and performant computation of distance queries for spline curves on B-spline form

Spline Curve Distance Minimization. Robust and performant computation of distance queries for spline curves on B-spline form Spline Curve Distance Minimization Robust and performant computation of distance queries for spline curves on B-spline form Torgeir Baraldsnes Master s Thesis Autumn 2016 Spline Curve Distance Minimization

More information

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Review of Tuesday. ECS 175 Chapter 3: Object Representation Review of Tuesday We have learnt how to rasterize lines and fill polygons Colors (and other attributes) are specified at vertices Interpolation required to fill polygon with attributes 26 Review of Tuesday

More information

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

More information

Intersecting Simple Surfaces. Dr. Scott Schaefer

Intersecting Simple Surfaces. Dr. Scott Schaefer Intersecting Simple Surfaces Dr. Scott Schaefer 1 Types of Surfaces Infinite Planes Polygons Convex Ray Shooting Winding Number Spheres Cylinders 2/66 Infinite Planes Defined by a unit normal n and a point

More information