INF3320 Computer Graphics and Discrete Geometry
|
|
- Ursula Lee
- 5 years ago
- Views:
Transcription
1 INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers Page 1
2 More smooth Curves and Surfaces Akenine-Möller, Haines and Hoffman: Tessellation (Chapter 13.6) Implicit surfaces (Chapter 13.3) Subdivision curves (Chapter 13.4) Subdivision surfaces (Chapter 13.5) Page 2
3 Parametric patches Page 3
4 Previously in inf Parametric curves and surfaces (patches) p(u 1,v 1 ) p(u 2,v 1 ) v 2 v p p(u,v) v 1 u1 u u2 p(u 1,v 2 ) p(u 2,v 2 ) Page 4
5 Composing patches Did not talk about: Complex models by composing patches: Challenge: make patches match with C 0, C 1,... continuity Page 5
6 Composing patches with continuity Constraints on control-points C 0 C 1 Page 6
7 Composing patches... Nice shading/reflections reveal continuity Page 7
8 Composing patches... Nice shading/reflections reveal continuity How to render spline patches? Convert to triangles... Page 8
9 Tessellation Page 9
10 Tessellation Recall: OpenGL can only handle points, lines, triangles,... Smooth geometry must be tessellated, i.e. approximated Standard approach: sample the smooth geometry, eg uniformly render linear geometry 0 1 Page 10
11 Tessellation Recall: OpenGL can only handle points, lines, triangles,... Smooth geometry must be tessellated, i.e. approximated Standard approach: sample the smooth geometry, eg uniformly render linear geometry 0 1 Page 11
12 Smooth surface tessellation More challenging to sample parametric surfaces Basic approach: tessellate parameter domain render corresponding surface mesh Page 12
13 Smooth surface tessellation More challenging to sample parametric surfaces Basic approach: tessellate parameter domain render corresponding surface mesh Simple algorithm, suitable for GPU Job for the Geometry shader? (one triangle in - multiple out)... not in practice (too few output triangles) Page 13
14 Adaptive tessellation of patches [Dyken,Reimers,Seland 2008] 1 Bezier-triangle per triangle (pre)tessellate each individually Adapt along common boundaries Render corresponding mesh GPGPU and Vertex shader programs, instancing,... Code sample on Nvidias webpages Page 14
15 Hardware Tessellation Shader model 5.0 HW (DirectX11) Comes with hardware tessellation: OpenGL: ARB_tessellation_shader Configurable step in the pipeline Patches tessellated on GPU Fractional tessellation, continuous LOD Solves many problems... Page 15
16 Implicit surfaces Page 16
17 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. Visualized by e.g. marching cubes (contouring) or ray-casting Page 17
18 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. f (r pq (t)) = 0 Find final pixel color Little brother of ray-tracing Back plane m + 1 n + 1 Ray-casting is in some sense the opposite of rasterization Page 18
19 Digression: Real time raytracing on the GPU Raycasting is computationally demanding embarrassingly parallel (check Wikipedia!) A good candidate application for a GPU implementation [Reimers-Seland, Eurographics 2008] paper/video: Page 19
20 Subdivision curves Page 20
21 Subdivision of Bézier Curves We have seen that the de Casteljau algorithm evaluates a Bézier curve from its control polygon. The intermediate points of the de Casteljau algorithm define the control points of two Bézier segments representing the original. = We can divide one Bézier segment into two Bézier segments! Page 21
22 On the left is the triangular structure of the intermediate points of the de Casteljau evaluation. On the right is a figure of the points. p 0 0 p 1 0 p 2 0 p 3 0 p 1 0 p t t 1 t t 1 t p1 p1 p t t 1 t t t p 0 1 p 0 2 p 0 3 p 1 2 p 2 1 p 0 2 p t t p3 0 p 0 0 p 3 0 The original segment on [0, 1] has control points p 0 0, p0 1, p0 2, p0 3. The segment on [0, t] has control points p 0 0, p1 0, p2 0, p3 0. The segment on [t, 1] has control points p 3 0, p2 1, p1 2, p0 3. Page 22
23 If we divide at t = 1 2, we get p 0 0 = p 0 0 p 3 0 = 1 8 (p p p p 0 3), p 1 0 = 1 2 (p0 0 + p 0 1), p 2 1 = 1 4 (p p p 0 3), p 2 0 = 1 4 (p p p 0 2), p 1 2 = 1 2 (p0 2 + p 0 3), p 3 0 = 1 8 (p p p p 0 3), p 0 3 = p 0 3, This is a refinement rule for cubic Bézier curves. Under repeated division, called subdivision, the control polygon converges to the curve. In practice: render the control polygon after a few subdivisions There are similar rules for (uniform) splines Subdivision curves are defined by such refinement rules. Page 23
24 Subdivision curves Curves generated by iterative refinement of a given control polygon (vertices=control points). The result after infinitely many steps is called the limit curve. Both Bézier curves and spline curves are subdivision curves. (I.e. there exists subdivision schemes to generate them) Many such schemes (subdivision zoo). Page 24
25 Chaikin s scheme From control points..., p i 1, p i, p i+1,..., 0 0 p i p i+1 we refine with the rule 1 p 2i+1 p k+1 2i = 1 4 pk i pk i 1 0 p i 1 1 p 2i p k+1 2i+1 = 3 4 pk i pk i 1 Important: The indices differs slightly from the book. Repeat the refinement ad infinitum.! Observation: the number of points doubles at each iteration. Converges to a quadratic C 1 spline curve. Page 25
26 Masks and stencils Collect coefficients into even stencil and odd stencils (rules) and get a e = { 1 4, 3 4 } and ao = { 3 4, 1 4 }, p k+1 2i = 1 4 pk i pk i 1 = j Z a e j p k i j p k+1 2i+1 = 3 4 pk i pk i 1 = aj o p k i j, j Z combined, the even and odd stencils form the mask of the scheme, a = { 1 4, 3 4, 3 4, 1 4 } which yields p k+1 i = j Z a i 2jp k j for i Z The mask express the influence of an old vertex on the new verts. Page 26
27 C 2 cubic spline subdivision Another example is a C 2 cubic spline curve. 0 0 p i p i+1 The subdivision rule is 0 p i 2 0 p i 1 1 p 2i 1 p 2i+1 p k+1 2i = 1 8 pk i pk i pk i 2 p k+1 2i+1 = 1 2 pk i pk i 1 i.e. even (vertex) and odd (edge) stencils a e = { 1 8, 6 8, 1 8 } and ao = { 1 2, 1 2 }, and the mask a = { 1 8, 1 2, 6 8, 1 2, 1 8 }. Note: stencils are convex combinations of control points Page 27
28 General C d 1 uniform spline subdivision The mask for a C d 1 spline curve of degree d is given by a = {a 0, a 1,..., a d+1 } = 1 2 d {( d ), ( d ) ( )} d + 1,..., d + 1 Examples: a = { 1 2, 1, 1 2 } a = { 1 4, 3 4, 3 4, 1 4 } a = { 1 8, 1 2, 6 8, 1 2, 1 8 } Linear spline Quadratic spline (Chaikin) Cubic spline a = { 1 16, 5 16, 10 16, 10 16, 5 16, 1 16 } Quartic spline Note: level d mask can be obtained by averaging level d 1 masks Page 28
29 Interpolatory subdivision Quadratic spline scheme: convex comb. yields convex hull-property The four-point scheme interpolates control points Page 29
30 Subdivision surfaces Page 30
31 Subdivision surfaces Page 31
32 Subdivision surfaces Generated by iterative refinement of a polygonal mesh. Usually, the mesh has four-sided faces (quadrilateral meshes) or three sided faces (triangle meshes). Scheme given by refinement rule, typically generalize 1D rules Can repeat to infinity in theory, interested in limit surface Page 32
33 Subdivision surfaces Surfaces modeled in one piece - built-in continuity Page 33
34 For uniform ( structured ) meshes, the limit surface is a spline surface (e.g. piecewise polynomial). Rectangular grid Triangular grid uniform rectangular mesh = tensor-product spline surface. uniform triangular mesh = box-spline surface. Page 34
35 Tensor-product subdivision on rectangular grids Example 1: Chaikin s scheme. We can create subdivision rules for tensor product surfaces by taking tensor products of curve stencils. For example [ 1 ] [ ] = [ ] = 1 16 [ ] which is the tensor product of the even and odd stencil. There are four ways to combine the even and odd stencils: [ ] [ ] [ ] [ ] ,,, Page 35
36 Tensor products of Chaikin stencils yields subdivision rule for C 1 biquadratic tensor product splines. Get 4 nodes inside each quad: n 1 v i 1,j n v 2i,2j+1 n 1 v i,j n v 2i+1,2j+1 v n 2i,2j n 1 vi 1,j 1 n v2i+1,2j n 1 v i,j 1 v n 2i,2j = 1 16 (9vn 1 i 1,j 1 + 3vn 1 i,j 1 + 3vn 1 i 1,j + vn 1 i,j ) v n 2i+1,2j = 1 16 (3vn 1 i 1,j 1 + 9vn 1 i,j 1 + vn 1 i 1,j + 3vn 1 i,j ) v n 2i,2j+1 = 1 16 (3vn 1 i 1,j 1 + vn 1 i,j 1 + 9vn 1 i 1,j + 3vn 1 i,j ) v n 2i+1,2j+1 = 1 16 (vn 1 i 1,j 1 + 3vn 1 i,j 1 + 3vn 1 i 1,j + 9vn 1 i,j ) Page 36
37 Example 2: C 2 bicubic. The mask for cubic curves is [ ] 1 [ ] a0 a 1 a 2 a 3 a 4 = i.e., the even and odd stencils are 1 [ ] and 1 [ ] Tensor-products of these stencils yields four bicubic stencils: , }{{} Stencil A 1 1 [ ] ,, }{{} Stencils B [ ] }{{} Stencil C Page 37
38 These are used to compute the four new control points [ v n 2i+1,2j v2i+1,2j+1 n ] n 1 v i,j v n 2i,2j v n 2i,2j+1 from the old control points v n 1 i 2,j v n 1 i 2,j 1 v n 1 i 2,j 2 v n 1 i 1,j v n 1 i 1,j 1 v n 1 i 1,j , }{{} Stencil A v n 1 i,j v n 1 i,j 1 v n 1 i,j 2. n 1 v i 2,j n 1 v i 1,j n v 2i,2j+1 n 1 vi 2,j 1 v n 2i+1,2j+1 n v 2i,2j n 1 vi 1,j [ ] ,, }{{} Stencils B v n 2i+1,2j n 1 vi 2,j 2 n 1 v i,j 1 n 1 v i 1,j 2 [ ] }{{} Stencil C n 1 vi,j 2 Page 38
39 Generalized subdivision So far: polynomial surfaces can be described by subdivision Want to extend rules to handle meshes that are not regular grids Also want the limit surface to be as smooth as possible. Page 39
40 Non-uniform meshes Faces with n vertices (not only 3 and 4) Vertices with valence m 4, 6, so called extraordinary points Many subdivision schemes, for different mesh-types typically polynomial locally... but not near extraordinary points. Page 40
41 Catmull-Clark subdivision surfaces A generalization of C 2 bicubic spline subdivision scheme to an arbitrary polygonal mesh. The limit surface is C 1 at extraordinary points and C 2 elsewhere. It has been shown that C 2 continuity at extraordinary points is impossible without using larger stencils. Page 41
42 The basic idea of the Catmull-Clark subdivision scheme is: The input mesh can contain any types of polygons (triangles, quads, etc.) Calculate face points, edge points, and vertex points. For each vertex in each face, create a quad connecting the vertex point, two edge points, and a face point. After one refinement, the mesh consists of quads exclusively. Page 42
43 Face points are averages of the polygon vertices v1 k,..., vk m, f k+1 = 1 n vi k n Edge points are the average of the two end-points of the edge v k, e k and the face points of the two adjacent faces f k+1 i, f k+1 e k+1 = 1 ( ) v k + e k + f k+1 i + f k+1 j 4 i=1 j, Vertex points are combinations of surrounding vertices v1 k,..., vk n and the face points f1 k,..., fk n of the adjacent faces, v k+1 = n 2 n vk + 1 n n 2 e k i + 1 n n 2 f k+1 i i=1 i=1 Page 43
44 Catmull Clark New control points are convex comb. of the old = Convex hull property, stable algorithms Limit points, tangents, etc can be computed Usually not evaluated, but can be done Page 44
45 Loop subdivision A subdivision scheme for arbitrary triangle meshes. The Loop scheme is based on so-called C 2 quartic box-splines Page 45
46 The Loop subdivision scheme uses the 1-4 split: After one subdivision step each former triangle is replaced by four: V i+1 = V i + E i, E i+1 = 2 E i + 3 T i, T i+1 = 4 T i. There are only two stencils in the Loop scheme: 1. positions for vertices corresponding to the old vertices, and 2. positions for vertices corresponding to edge points. Page 46
47 In the Loop scheme, the new position is a combination of the position of the old vertex and its immediate neighbours: where β β β β = 1 ( ) 5 (3 + 2 cos(2π/n))2. n nβ β β β β The canonical case is n = 6 in which case the scheme reduces to box-spline subdivision, yielding a C 2 surface. Loop showed that the limit surface is C 1 at extraordinary points, and C 2 elsewhere. Page 47
48 The position of the edge-point is a combination of the vertices of the two triangles adjacent to that edge: 1/8 3/8 3/8 1/8 Then, what should we do along the boundary? Page 48
49 A common technique for dealing with the boundary in the Loop scheme is to let the boundary curve be a cubic spline. Recall that the mask of cubic spline curve subdivision is a = { 1 8, 1 2, 3 4, 1 2, 1 8 } and let boundary edge points be determined by the odd stencil and the boundary vertices be determined by the even stencil, i.e., 1/8 3/4 1/2 1/8 1/2 Page 49
50 3 subdivision A subdivision scheme for arbitrary triangle meshes. The 3 subdivision scheme of Leif Kobbelt creates only 3 new triangles per triangle in each subdivision step (Loop creates 4). C 1 continuous in extraordinary vertices and C 2 elsewhere Page 50
51 The splitting scheme of 3 subdivision is: Given a triangle mesh, compute the new positions for the vertices as well as the triangle midpoints from the old vertices, split each triangle into three new triangles, then swap the diagonal of all pairs of adjacent triangles where the common edge is an old edge. Page 51
52 We can create the new triangles directly: Each edge in the old mesh yields two new triangles. To handle boundaries, we use the same rules as Loop (Slide??) to calculate boundary edge points and boundary vertices. Each boundary edge yields two new triangles connecting the end points of the edge, the adjacent triangle midpoint, and the edge point. Note: Only boundary edges get an edge point! Page 52
53 3 subdivision has a vertex rule and a triangle rule: β β 1 nβ β β The vertex rule is a blend of the old position and the surrounding vertices, where β β β β = 4 2 cos(2π/n). 9n 1/3 The triangle midpoint rule is simple, the position is the barycentre of the triangle. 1/3 1/3 Page 53
54 Interpolatory subdivision schemes The butterfly scheme: vertex points preserved, edge points by affine combination Yields C 1 smooth surfaces that interpolates control mesh Page 54
55 Interpolatory subdivision schemes The butterfly scheme: vertex points preserved, edge points by affine combination Yields C 1 smooth surfaces that interpolates control mesh Approximating (spline-based) and interpolatory schemes produce very different limit surfaces Page 55
56 Features, creases Subdivision surfaces with piecewise continuity Modified rules to get features, sharp creases etc. Page 56
57 Subdivision surfaces - summary Pros: Many of the pros of splines Flexibility, wrt. topology/mesh Spline surfaces without gaps and seams! Simple to implement Simple/intuitive to manipulate Cons: No global closed form (but locally) Evaluation not straight forward (but?) C k, k > 1 is hard Artefacts (ripples etc.) CC cannot make convex surface for n > 5 Page 57
58 The last slide Next time - advanced topics: Global illumination Shadows GPU programming... Page 58
Subdivision Surfaces
Subdivision Surfaces 1 Geometric Modeling Sometimes need more than polygon meshes Smooth surfaces Traditional geometric modeling used NURBS Non uniform rational B-Spline Demo 2 Problems with NURBS A single
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 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 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 informationSubdivision Surfaces
Subdivision Surfaces 1 Geometric Modeling Sometimes need more than polygon meshes Smooth surfaces Traditional geometric modeling used NURBS Non uniform rational B-Spline Demo 2 Problems with NURBS A single
More information09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo
9 - Designing Surfaces Triangular surfaces A surface can be discretized by a collection of points and triangles Each triangle is a subset of a plane Every point on the surface can be expressed as an affine
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 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 informationExample: Loop Scheme. Example: Loop Scheme. What makes a good scheme? recursive application leads to a smooth surface.
Example: Loop Scheme What makes a good scheme? recursive application leads to a smooth surface 200, Denis Zorin Example: Loop Scheme Refinement rule 200, Denis Zorin Example: Loop Scheme Two geometric
More informationSubdivision Curves and Surfaces: An Introduction
Subdivision Curves and Surfaces: An Introduction Corner Cutting De Casteljau s and de Boor s algorithms all use corner-cutting procedures. Corner cutting can be local or non-local. A cut is local if it
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 informationCurve Corner Cutting
Subdivision ision Techniqueses Spring 2010 1 Curve Corner Cutting Take two points on different edges of a polygon and join them with a line segment. Then, use this line segment to replace all vertices
More informationSpline Surfaces, Subdivision Surfaces
CS-C3100 Computer Graphics Spline Surfaces, Subdivision Surfaces vectorportal.com Trivia Assignment 1 due this Sunday! Feedback on the starter code, difficulty, etc., much appreciated Put in your README
More informationu 0+u 2 new boundary vertex
Combined Subdivision Schemes for the design of surfaces satisfying boundary conditions Adi Levin School of Mathematical Sciences, Tel-Aviv University, Tel-Aviv 69978, Israel. Email:fadilev@math.tau.ac.ilg
More informationCurves, Surfaces and Recursive Subdivision
Department of Computer Sciences Graphics Fall 25 (Lecture ) Curves, Surfaces and Recursive Subdivision Conics: Curves and Quadrics: Surfaces Implicit form arametric form Rational Bézier Forms Recursive
More informationUNIVERSITY OF CALGARY. Subdivision Surfaces. Advanced Geometric Modeling Faramarz Samavati
Subdivision Surfaces Surfaces Having arbitrary Topologies Tensor Product Surfaces Non Tensor Surfaces We can t find u-curves and v-curves in general surfaces General Subdivision Coarse mesh Subdivision
More informationCS354 Computer Graphics Surface Representation III. Qixing Huang March 5th 2018
CS354 Computer Graphics Surface Representation III Qixing Huang March 5th 2018 Today s Topic Bspline curve operations (Brief) Knot Insertion/Deletion Subdivision (Focus) Subdivision curves Subdivision
More informationSubdivision surfaces. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell
Subdivision surfaces University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Recommended: Stollnitz, DeRose, and Salesin. Wavelets for Computer Graphics: Theory and Applications,
More informationSubdivision overview
Subdivision overview CS4620 Lecture 16 2018 Steve Marschner 1 Introduction: corner cutting Piecewise linear curve too jagged for you? Lop off the corners! results in a curve with twice as many corners
More informationApproximate Catmull-Clark Patches. Scott Schaefer Charles Loop
Approximate Catmull-Clark Patches Scott Schaefer Charles Loop Approximate Catmull-Clark Patches Scott Schaefer Charles Loop Catmull-Clark Surface ACC-Patches Polygon Models Prevalent in game industry Very
More informationRay-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 informationSubdivision Curves and Surfaces
Subdivision Surfaces or How to Generate a Smooth Mesh?? Subdivision Curves and Surfaces Subdivision given polyline(2d)/mesh(3d) recursively modify & add vertices to achieve smooth curve/surface Each iteration
More informationCurves and Surfaces 2
Curves and Surfaces 2 Computer Graphics Lecture 17 Taku Komura Today More about Bezier and Bsplines de Casteljau s algorithm BSpline : General form de Boor s algorithm Knot insertion NURBS Subdivision
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 informationSubdivision curves and surfaces. Brian Curless CSE 557 Fall 2015
Subdivision curves and surfaces Brian Curless CSE 557 Fall 2015 1 Reading Recommended: Stollnitz, DeRose, and Salesin. Wavelets for Computer Graphics: Theory and Applications, 1996, section 6.1-6.3, 10.2,
More informationSubdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches
Homework 1: Questions/Comments? Subdivision Surfaces Last Time? Curves & Surfaces Continuity Definitions Spline Surfaces / Patches Tensor Product Bilinear Patches Bezier Patches Trimming Curves C0, G1,
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 informationReview 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 informationCSE 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 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 informationAdvanced Graphics. Subdivision Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd
Advanced Graphics Subdivision Surfaces Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd NURBS patches aren t the greatest NURBS patches are nxm, forming
More informationSubdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)
Advanced Computer Graphics (Spring 03) CS 83, Lecture 7: Subdivision Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs83/sp3 Slides courtesy of Szymon Rusinkiewicz, James O Brien with material from Denis
More informationECE 600, Dr. Farag, Summer 09
ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that
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 informationCurves and Surfaces Computer Graphics I Lecture 9
15-462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] February 19, 2002 Frank Pfenning Carnegie
More informationEfficient GPU Rendering of Subdivision Surfaces. Tim Foley,
Efficient GPU Rendering of Subdivision Surfaces Tim Foley, 2017-03-02 Collaborators Activision Wade Brainerd Stanford Matthias Nießner NVIDIA Manuel Kraemer Henry Moreton 2 Subdivision surfaces are a powerful
More informationSubdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse?
Homework 1: Questions/Comments? Subdivision Surfaces Questions on Homework? Last Time? What s an illegal edge collapse? Curves & Surfaces Continuity Definitions 2 3 C0, G1, C1, C 1 a b 4 Interpolation
More informationComputergrafik. Matthias Zwicker Universität Bern Herbst 2016
Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling 2 Piecewise Bézier curves Each
More informationSubdivision Surfaces
Subdivision Surfaces CS 4620 Lecture 31 Cornell CS4620 Fall 2015 1 Administration A5 due on Friday Dreamworks visiting Thu/Fri Rest of class Surfaces, Animation, Rendering w/ prior instructor Steve Marschner
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 informationIntroduction to Geometry. Computer Graphics CMU /15-662
Introduction to Geometry Computer Graphics CMU 15-462/15-662 Assignment 2: 3D Modeling You will be able to create your own models (This mesh was created in Scotty3D in about 5 minutes... you can do much
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 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 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 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 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 informationREAL-TIME SMOOTH SURFACE CONSTRUCTION ON THE GRAPHICS PROCESSING UNIT
REAL-TIME SMOOTH SURFACE CONSTRUCTION ON THE GRAPHICS PROCESSING UNIT By TIANYUN NI A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS
More informationUsing Semi-Regular 4 8 Meshes for Subdivision Surfaces
Using Semi-Regular 8 Meshes for Subdivision Surfaces Luiz Velho IMPA Instituto de Matemática Pura e Aplicada Abstract. Semi-regular 8 meshes are refinable triangulated quadrangulations. They provide a
More informationAdvanced Computer Graphics
Advanced Computer Graphics Lecture 2: Modeling (1): Polygon Meshes Bernhard Jung TU-BAF, Summer 2007 Overview Computer Graphics Icon: Utah teapot Polygon Meshes Subdivision Polygon Mesh Optimization high-level:
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 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 informationMotivation MGB Agenda. Compression. Scalability. Scalability. Motivation. Tessellation Basics. DX11 Tessellation Pipeline
MGB 005 Agenda Motivation Tessellation Basics DX Tessellation Pipeline Instanced Tessellation Instanced Tessellation in DX0 Displacement Mapping Content Creation Compression Motivation Save memory and
More informationSung-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 informationSubdivision Surfaces. Homework 1: Questions/Comments?
Subdivision Surfaces Homework 1: Questions/Comments? 1 Questions on Homework? What s an illegal edge collapse? 1 2 3 a b 4 7 To be legal, the ring of vertex neighbors must be unique (have no duplicates)!
More informationCurves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville
Curves and Surfaces Shireen Elhabian and Aly A. Farag University of Louisville February 21 A smile is a curve that sets everything straight Phyllis Diller (American comedienne and actress, born 1917) Outline
More informationand the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5
ecture 8: Knot Insertion Algorithms for B-Spline Curves and Surfaces and the crooked shall be made straight, and the rough ways shall be made smooth; uke 3:5. Motivation B-spline methods have several advantages
More informationCurves and Surfaces Computer Graphics I Lecture 10
15-462 Computer Graphics I Lecture 10 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] September 30, 2003 Doug James Carnegie
More informationParameterization. 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 informationObjects 2: Curves & Splines Christian Miller CS Fall 2011
Objects 2: Curves & Splines Christian Miller CS 354 - Fall 2011 Parametric curves Curves that are defined by an equation and a parameter t Usually t [0, 1], and curve is finite Can be discretized at arbitrary
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 informationModeling. Simulating the Everyday World
Modeling Simulating the Everyday World Three broad areas: Modeling (Geometric) = Shape Animation = Motion/Behavior Rendering = Appearance Page 1 Geometric Modeling 1. How to represent 3d shapes Polygonal
More informationSubdivision on Arbitrary Meshes: Algorithms and Theory
Subdivision on Arbitrary Meshes: Algorithms and Theory Denis Zorin New York University 719 Broadway, 12th floor, New York, USA E-mail: dzorin@mrl.nyu.edu Subdivision surfaces have become a standard geometric
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 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 informationCurves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification
Last Time? Adjacency Data Structures Curves & Surfaces Geometric & topologic information Dynamic allocation Efficiency of access Mesh Simplification edge collapse/vertex split geomorphs progressive transmission
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 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 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 informationChapter 4-3D Modeling
Chapter 4-3D Modeling Polygon Meshes Geometric Primitives Interpolation Curves Levels Of Detail (LOD) Constructive Solid Geometry (CSG) Extrusion & Rotation Volume- and Point-based Graphics 1 The 3D rendering
More informationParameterization 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 informationReal 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 informationComputergrafik. Matthias Zwicker. Herbst 2010
Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment
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 informationInterpolatory 3-Subdivision
EUROGRAPHICS 2000 / M. Gross and F.R.A. Hopgood (Guest Editors) Volume 19 (2000), Number 3 Interpolatory 3-Subdivision U. Labsik G. Greiner Computer Graphics Group University of Erlangen-Nuremberg Am Weichselgarten
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 information2D Spline Curves. CS 4620 Lecture 18
2D Spline Curves CS 4620 Lecture 18 2014 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines,
More informationBézier and B-spline volumes Project of Dissertation
Department of Algebra, Geometry and Didactics of Mathematics Faculty of Mathemathics, Physics and Informatics Comenius University, Bratislava Bézier and B-spline volumes Project of Dissertation Martin
More information2001, Denis Zorin. Subdivision Surfaces
200, Denis Zorin Subdivision Surfaces Example: Loop Scheme What makes a good scheme? recursive application leads to a smooth surface 200, Denis Zorin Example: Loop Scheme Refinement rule 200, Denis Zorin
More information3D Modeling techniques
3D Modeling techniques 0. Reconstruction From real data (not covered) 1. Procedural modeling Automatic modeling of a self-similar objects or scenes 2. Interactive modeling Provide tools to computer artists
More informationRasterization Overview
Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer
More informationTechnical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin.
Technical Report UCAM-CL-TR-689 ISSN 1476-2986 Number 689 Computer Laboratory Removing polar rendering artifacts in subdivision surfaces Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin June 2007
More informationRecursive 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 informationCS 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 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 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 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 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 informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry Texturing Christopher Dyken Martin Reimers 06.10.2010 Page 1 Texturing Linear interpolation Real Time Rendering: Chapter 5: Visual Appearance Chapter 6:
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 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 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 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 informationThe 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 informationMA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces
MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces David L. Finn Today, we continue our discussion of subdivision surfaces, by first looking in more detail at the midpoint method and
More informationApproximating Catmull-Clark Subdivision Surfaces with Bicubic Patches
Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches Charles Loop Microsoft Research Scott Schaefer Texas A&M University April 24, 2007 Technical Report MSR-TR-2007-44 Microsoft Research
More informationMATHEMATICAL TOOLS IN COMPUTER GRAPHICS WITH C# IMPLEMENTATIONS
MATHEMATICAL TOOLS IN COMPUTER GRAPHICS WITH C# IMPLEMENTATIONS This page intentionally left blank World Scientific N E W J E R S E Y L O N D O N S I N G A P O R E B E I J I N G S H A N G H A I H O N G
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 informationComputer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011
Computer Graphics 1 Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in
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 informationG 2 Interpolation for Polar Surfaces
1 G 2 Interpolation for Polar Surfaces Jianzhong Wang 1, Fuhua Cheng 2,3 1 University of Kentucky, jwangf@uky.edu 2 University of Kentucky, cheng@cs.uky.edu 3 National Tsinhua University ABSTRACT In this
More information