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

Similar documents
Design considerations

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

Lecture IV Bézier Curves

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

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

CGT 581 G Geometric Modeling Curves

3D Modeling Parametric Curves & Surfaces

Curves. Computer Graphics CSE 167 Lecture 11

A Curve Tutorial for Introductory Computer Graphics

Curves and Surfaces Computer Graphics I Lecture 9

Sung-Eui Yoon ( 윤성의 )

Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur

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

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

Geometric Modeling of Curves

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

2D Spline Curves. CS 4620 Lecture 13

Curves and Surfaces Computer Graphics I Lecture 10

COMP3421. Global Lighting Part 2: Radiosity

Curve and Surface Basics

Computer Graphics Curves and Surfaces. Matthias Teschner

Central issues in modelling

Curves D.A. Forsyth, with slides from John Hart

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

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

08 - Designing Approximating Curves

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Information Coding / Computer Graphics, ISY, LiTH. Splines

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

2D Spline Curves. CS 4620 Lecture 18

Bezier Curves, B-Splines, NURBS

For each question, indicate whether the statement is true or false by circling T or F, respectively.

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

Curves and Surface I. Angel Ch.10

Interpolating/approximating pp gcurves

Introduction to Computer Graphics

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

Spline Notes. Marc Olano University of Maryland, Baltimore County. February 20, 2004

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson

Fundamentals of Computer Graphics. Lecture 3 Parametric curve and surface. Yong-Jin Liu.

In this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:

Curves and Surfaces for Computer-Aided Geometric Design

Computer Graphics. Unit VI: Curves And Fractals. By Vaishali Kolhe

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

Intro to Curves Week 4, Lecture 7

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006

Dgp _ lecture 2. Curves

Curves and Surfaces 1

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15

Computational Physics PHYS 420

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

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

Review of Tuesday. ECS 175 Chapter 3: Object Representation

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

Parametric curves. Brian Curless CSE 457 Spring 2016

Computer Animation. Rick Parent

TO DUY ANH SHIP CALCULATION

CS-184: Computer Graphics. Today

Intro to Curves Week 1, Lecture 2

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

CS 4204 Computer Graphics

CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15

EECS 487: Interactive Computer Graphics f

CS-184: Computer Graphics

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

Intro to Modeling Modeling in 3D

t dt ds Then, in the last class, we showed that F(s) = <2s/3, 1 2s/3, s/3> is arclength parametrization. Therefore,

An Introduction to B-Spline Curves

Computergrafik. Matthias Zwicker. Herbst 2010

B-spline Curves. Smoother than other curve forms

Rational Bezier Curves

Lecture 9: Introduction to Spline Curves

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required:

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri

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

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Let be a function. We say, is a plane curve given by the. Let a curve be given by function where is differentiable with continuous.

LECTURE #6. Geometric Modelling for Engineering Applications. Geometric modeling for engineering applications

CHAPTER 6 Parametric Spline Curves

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

9. Three Dimensional Object Representations

Justin Solomon MIT, Spring 2017

ECE 600, Dr. Farag, Summer 09

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

Introduction to the Mathematical Concepts of CATIA V5

Objects 2: Curves & Splines Christian Miller CS Fall 2011

Further Graphics. Bezier Curves and Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Computer Graphics I Lecture 11

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

Almost Curvature Continuous Fitting of B-Spline Surfaces

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

First of all, we need to know what it means for a parameterize curve to be differentiable. FACT:

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

Object representation

Les Piegl Wayne Tiller. The NURBS Book. Second Edition with 334 Figures in 578 Parts. A) Springer

A MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE

Triangle meshes I. CS 4620 Lecture Kavita Bala (with previous instructor Marschner) Cornell CS4620 Fall 2015 Lecture 2

Splines. Connecting the Dots

Transcription:

CS130 : Computer Graphics Curves Tamar Shinar Computer Science & Engineering UC Riverside

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 output ease of rendering

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 output ease of rendering approximate out of a number of wood strips

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 output ease of rendering join points or knots approximate out of a number of wood strips

What is a curve? intuitive idea: draw with a pen set of points the pen traces may be 2D, like on paper or 3D, space curve

What is a curve? or be closed may have endpoints extend infinitely

How do we specify a curve?

How do we specify a curve? Implicit (2D) f(x,y) = 0 test if (x,y) is on the curve

How do we specify a curve? Implicit (2D) f(x,y) = 0 test if (x,y) is on the curve f(x,y) = 0 on curve

How do we specify a curve? Implicit (2D) f(x,y) = 0 test if (x,y) is on the curve f(x,y) 0 off curve

How do we specify a curve? Implicit (2D) f(x,y) = 0 test if (x,y) is on the curve Parametric (2D) (x,y) = f(t) (3D) (x,y,z) = f(t) map free parameter t to points on the curve

How do we specify a curve? Implicit (2D) f(x,y) = 0 test if (x,y) is on the curve Parametric (2D) (x,y) = f(t) (3D) (x,y,z) = f(t) map free parameter t to points on the curve t = 10 t = 5 t = 0

How do we specify a curve? Implicit (2D) f(x,y) = 0 test if (x,y) is on the curve Parametric (2D) (x,y) = f(t) (3D) (x,y,z) = f(t) map free parameter t to points on the curve Procedural e.g., fractals, subdivision schemes Fractal: Koch Curve [George Reese]

How do we specify a curve? Implicit (2D) f(x,y) = 0 test if (x,y) is on the curve Parametric (2D) (x,y) = f(t) (3D) (x,y,z) = f(t) map free parameter t to points on the curve Procedural e.g., fractals, subdivision schemes Bezier Curve

A curve may have multiple representations

A curve may have multiple representations Implicit f(x,y) = x 2 + y 2-1 = 0

A curve may have multiple representations t = pi/2 Parametric (x,y) = f(t) = (cos t, sin t) t = 0

A curve may have multiple representations t = pi/2 Parametric (x,y) = f(t) = (cos t, sin t), t in [0,2pi) t = 0 Same curve (set of points), but different mathematical representation!

A curve may have multiple representations t = pi/2 Parametric (x,y) = f(t) = (cos t, sin t), t in [0,2pi) t = 0 We will focus on parametric representations

Parametric Form t = 10 t = 0 t = 5

Parametric Form Tangent Vector t = 10 t = 0 t = 5

Parameterization, re-parameterization t = 10 t = 0 f1(t) t = 5

Parameterization, re-parameterization s = 1 s = 0 f2(s) trace out the curve more quickly s = 0.5

Parameterization, re-parameterization s = 1 t = 10 t = 0 s = 0 relationship: t = 10*s f1(t) = f1(10*s) = f1(f(s)) = f2(s) s = 0.5 t = 5

Parameterization, re-parameterization t = 0 t = 10 f1(t) s = s0 f2(s) = f1(f(s)) s = s1

Parameterization, re-parameterization t = 0 t = 10 t = f(s) s = s0 f2(s) = f1(f(s)) s = s1

Natural parameterization note: points uneven t = 10 t = 0 t = 5

Natural parameterization pen moves at a constant velocity: evenly spaced points s = 10 s = 0 s = 5

Natural parameterization pen moves at a constant velocity: evenly spaced points s = 10 s = 0 also called arc-length parameterization s = 5

Natural parameterization pen moves at a constant velocity: evenly spaced points s = 10 s = 0 also called arc-length parameterization s = 5

piecewise parametric representation sometimes easy to find a parametric representation e.g., circle, line segment

piecewise parametric representation in other cases, not obvious

piecewise parametric representation strategy: break into simpler pieces

piecewise parametric representation strategy: break into simpler pieces switch between functions that represent pieces:

piecewise parametric representation strategy: break into simpler pieces switch between functions that represent pieces: map the inputs to f1 and f2 to be from 0 to 1

Curve Properties Local properties: continuity position direction curvature Global properties (examples): closed curve curve crosses itself Interpolating vs. non-interpolating

Continuity: stitching curve segments together knot parametric continuity geometric continuity

Interpolating vs. Approximating Curves Interpolating Approximating (non-interpolating)

Finding a Parametric Representation

Polynomial Pieces

Polynomial Pieces coefficients n = degree

Polynomial Pieces coefficients n = degree canonical form (monomial basis)

Blending functions are more convenient basis than monomial basis canonical form (monomial basis) geometric form (blending functions)

Blending functions are more convenient basis than monomial basis canonical form (monomial basis) geometric form (blending functions)

Blending functions are more convenient basis than monomial basis

Blending functions are more convenient basis than monomial basis

Blending functions are more convenient basis than monomial basis Some examples <whiteboard>

Interpolating Polynomials

Interpolating polynomials Given n+1 data points, can find a unique interpolating polynomial of degree n Different methods: Vandermonde matrix Lagrange interpolation Newton interpolation

higher order interpolating polynomials are rarely used overshoots non-local effects 4th order (gray) to 5th order (black)