Implicit Functions Some surfaces can be represented as the vanishing points of functions (defined over 3D space) Places where a function f(x,y,z)=0 Some.

Slides:



Advertisements
Similar presentations
Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
Advertisements

© University of Wisconsin, CS559 Spring 2004
2002 by Jim X. Chen: Bezier Curve Bezier Curve.
Lecture 10 Curves and Surfaces I
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
ICS 415 Computer Graphics Bézier Splines (Chapter 8)
CS 445/645 Fall 2001 Hermite and Bézier Splines. Specifying Curves Control Points –A set of points that influence the curve’s shape Knots –Control points.
© University of Wisconsin, CS559 Spring 2004
B-Spline Blending Functions
Dr. S.M. Malaek Assistant: M. Younesi
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
Curves Chiew-Lan Tai. Curves 2 Reading Required Hearn & Baker, 8-8 – 8-10, 8-12 Foley, 11.2.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Curves Week 12, Wed Apr.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
ENDS 375 Foundations of Visualization Geometric Representation 10/5/04.
Modelling: Curves Week 11, Wed Mar 23
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
COEN Computer Graphics I
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
Curve Surfaces June 4, Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.
Computer Graphics Lecture 13 Curves and Surfaces I.
Curve Modeling Bézier Curves
11/30/04© University of Wisconsin, CS559 Fall 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
19/13/ :20 UML Graphics II Parametric Curves and Surfaces Session 3.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
V. Space Curves Types of curves Explicit Implicit Parametric.
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
1 Dr. Scott Schaefer Smooth Curves. 2/109 Smooth Curves Interpolation  Interpolation through Linear Algebra  Lagrange interpolation Bezier curves B-spline.
June D Object Representation Shmuel Wimer Bar Ilan Univ., School of Engineering.
CS 445/645 Fall 2001 Splines/Film/Animation. Final Exam Thursday, December 13 th from 7 – 10 p.m. –Room Olsson 011 You may use one sheet of notes (8.5.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
CS 376 Introduction to Computer Graphics 04 / 25 / 2007 Instructor: Michael Eckmann.
Representation of Curves & Surfaces Prof. Lizhuang Ma Shanghai Jiao Tong University.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
In the name of God Computer Graphics. Introduction Modeling techniques modeling techniques managements Some renderings.
11/26/02(C) University of Wisconsin Last Time BSplines.
(c) 2002 University of Wisconsin
Designing Parametric Cubic Curves 1. 2 Objectives Introduce types of curves ­Interpolating ­Hermite ­Bezier ­B-spline Analyze their performance.
1 Graphics CSCI 343, Fall 2015 Lecture 34 Curves and Surfaces III.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
CS552: Computer Graphics Lecture 19: Bezier Curves.
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
Introduction to Parametric Curve and Surface Modeling.
© University of Wisconsin, CS559 Spring 2004
Introduction to Parametric Curve and Surface Modeling
CS5500 Computer Graphics May 11, 2006
Curve & Surface.
Representation of Curves & Surfaces
CS 445 / 645 Introduction to Computer Graphics
Chapter 10-2: Curves.
CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
CS 430/536 Computer Graphics I Intro to Curves Week 4, Lecture 7
Parametric Curves.
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Fall 2004
Rendering Curves and Surfaces
© University of Wisconsin, CS559 Spring 2004
Curve design 455.
Parametric Line equations
UNIT-5 Curves and Surfaces.
(c) 2002 University of Wisconsin
Three-Dimensional Object Representation
Introduction to Parametric Curve and Surface Modeling
Presentation transcript:

Implicit Functions Some surfaces can be represented as the vanishing points of functions (defined over 3D space) Places where a function f(x,y,z)=0 Some objects are easy represent this way Spheres, ellipses, and similar More generally, quadric surfaces: Shape depends on all the parameters A,B,C,D,E,F,G,H,I,J

Blobs and Metaballs Define the location of some points For each point, define a function on the distance to a given point, (x,y,z) Sum these functions up, and use them as an implicit function Question: If I have two special points, in 2D, and my function is just the distance, what shape results? More generally, use gaussian functions of distance, or other forms Various results are called blobs or metaballs

Rendering Implicit Surfaces Some methods can render then directly Raytracing - find intersections with Newton’s method For polygonal renderer, must convert to polygons Advantages: Good for organic looking shapes eg human body Reasonable interfaces for design Disadvantages: Difficult to render and control when animating Being replaced with subdivision surfaces, it appears

Production Rules Model by giving a set of rules to follow to generate it Works best for things like plants: Start with a stem Replace it with stem + branches Replace some part with more stem + branches, and so on Essentially, generate a string that describes the object by replacing sub-strings with new sub-strings Render by generating geometry Parametric instances of branch, leaf, flower, etc Or polygons, or blobs, or … Can work for whole gardens and forests

L-Systems Generator Prusinkiewicz, Hammel, Mech http://www.cpsc.ucalgary.ca/projects/bmv/vmm/title.html

L-Systems Prusinkiewicz, Hammel, Mech http://www.cpsc.ucalgary.ca/projects/bmv/vmm/title.html

More L-Systems Prusinkiewicz, Hammel, Mech http://www.cpsc.ucalgary.ca/projects/bmv/vmm/title.html

Yet More L-systems Prusinkiewicz, Hammel, Mech http://www.cpsc.ucalgary.ca/projects/bmv/vmm/title.html

Shortcomings The representations we have looked at so far have various failings: Meshes are large, difficult to edit, require normal approximations, … Parametric instancing has a limited domain of shapes CSG is difficult to render and limited in range of shapes Implicit models are difficult to control and render Production rules work in highly limited domains Parametric curves and surfaces address many of these issues More general than parametric instancing Easier to control than meshes and implicit models

Parametric Curves We have seen the parametric form for a line: Note that x, y and z are each given by one equation that involves: The parameter t Some user specified control points, x0 and x1 This is an example of a parametric curve

Hermite Spline A spline is a parametric curve defined by some control points The term spline dates from engineering drawing, where a spline was a piece of flexible wood used to draw smooth curves The control points are adjusted by the user to control the shape of the curve A Hermite spline is typically a cubic curve for which the user provides: The endpoints of the curve The parametric derivatives of the curve at the endpoints The parametric derivatives are dx/dt, dy/dt, dz/dt

Hermite Spline (2) Say the user provides A cubic spline has degree 3, and is of the form: For some constants a, b, c and d derived from the control points, but how? We have constraints: The curve must pass through x0 when t=0 The derivative must be x’0 when t=0 The curve must pass through x1 when t=1 The derivative must be x’1 when t=1

Hermite Spline (3) Solving for the unknowns gives: Rearranging gives:

Basis Functions A point on a Hermite curve is obtained by multiplying each control point by some function and summing The functions are called basis functions

Bezier Curves (1) Different choices of basis functions give different curves Choice of basis determines how the control points influence the curve In Hermite case, two control points define endpoints, and two more define parametric derivatives For Bezier curves, two control points define endpoints, and two control the tangents at the endpoints in a geometric way

Bezier Curves (2) The user supplies 4 control points, pi Write the curve as: The functions Bd are the Bernstein polynomials of degree d This equation can be written as a matrix equation also There is a matrix to take Hermite control points to Bezier control points

Bezier Basis Functions for d=3

Some Bezier Curves

Bezier Curve Properties The first and last control points are interpolated The tangent to the curve at the first control point is along the line joining the first and second control points The tangent at the last control point is along the line joining the second last and last control points The curve lies entirely within the convex hull of its control points The Bernstein polynomials (the basis functions) sum to 1 They can be rendered in many ways Convert to line segments with a subdivision algorithm