MATHEMATICAL TOOLS IN COMPUTER GRAPHICS WITH C# IMPLEMENTATIONS
|
|
- Paul Ronald Austin
- 6 years ago
- Views:
Transcription
1 MATHEMATICAL TOOLS IN COMPUTER GRAPHICS WITH C# IMPLEMENTATIONS
2 This page intentionally left blank
3 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 K O N G TA I P E I C H E N N A I
4 Published by World Scientific Publishing Co. Pte. Ltd. 5 Toh Tuck Link, Singapore USA office: 27 Warren Street, Suite , Hackensack, NJ UK office: 57 Shelton Street, Covent Garden, London WC2H 9HE British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library. MATHEMATICAL TOOLS IN COMPUTER GRAPHICS WITH C# IMPLEMENTATIONS Copyright 2008 by World Scientific Publishing Co. Pte. Ltd. All rights reserved. This book, or parts thereof, may not be reproduced in any form or by any means, electronic or mechanical, including photocopying, recording or any information storage and retrieval system now known or to be invented, without written permission from the Publisher. For photocopying of material in this volume, please pay a copying fee through the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, USA. In this case permission to photocopy is not required from the publisher. ISBN ISBN ISBN (pbk) ISBN (pbk) Printed in Singapore.
5 Preface Computer graphics is applied in many different fields including the entertainment industry, medical and geographic visualization and industrial design. Successful development of computer graphics programs and algorithms requires knowledge from a diverse set of fields to be combined and applied effectively. The most important part of any computer graphics algorithm is the underlying mathematical tools that are used to analyze and develop the algorithm. This book introduces computer graphics from a mathematical perspective. The basic computer graphics principles are introduced as well as more advanced topics. The mathematical techniques are developed in detail. Selected topics include: basic transforms, curves, surfaces and subdivision surfaces. New techniques such as wavelets, fractals, parameterization and fluid simulation are also included. Throughout a large portion of the text a new curve and surface algorithm are developed to illustrate the use of mathematics to develop computer graphics algorithms. C# implementations for many of the algorithms are provided throughout the book. The C# implementation allows the reader to obtain practical knowledge along with the theoretical knowledge. The provided C# implementations can be downloaded from our websites for use in other software projects. Book websites addresses of the authors alexandre.hardy@gmail.com steebwilli@gmail.com whsteeb@uj.ac.za v
6 This page intentionally left blank
7 Contents List of Figures Notation xiii xvii 1 Vectors, Matrices and Transforms Vector Spaces Points and Vectors Homogeneous Coordinates Representing Objects by Points Affine Transformations Introduction and Definitions Scaling Translation Rotation Concatenation of Transforms Projection Quaternions C# Implementation Lighting Shading Affine Transforms and Normal Vectors Local Lighting Models The Phong Lighting Model Emissive Properties Ambient Reflection Diffuse Reflection Specular Reflection Multiple Colored Light Sources Attenuation vii
8 viii Contents 2.4 Lights Spot Lights Transparent Objects Cook-Torrance Model Bidirectional Reflectivity Cook-Torrance Model Microfacet Distribution Term Geometric Surface Occlusion Term Fresnel Term Beer-Lambert Law C# Implementation Rasterization Pixels Drawing Lines Bresenham s Algorithm for Lines Drawing Circles Bresenham s Algorithm for Circles Filling Gouraud Shading Rasterization in C# Drawing Pixels Bresenham s Algorithms in C# Fractals Mandelbrot Set Julia Set Iterated Function Systems L-Systems and Fractals Kronecker Product and Fractals Definitions Kronecker Product Fractals Curves Introduction Affine Invariance Convex Hull Lagrange Interpolation C# Implementation Bézier Curves Affine Invariance Convex Hull Derivative at Edges
9 Contents ix Piecewise Continuous Bézier Curves Rendering Rational Bézier Curves Bézier Curves: Conic Sections C# Implementation Catmull-Rom Splines Bessel-Overhauser Splines Tension-Continuity-Bias Splines Uniform B-Splines Affine Invariance Convex Hull Cox-de Boor Formula C# Implementation Non-Uniform B-Splines Interpolating with B-Splines Periodic Interpolation Non-Uniform Rational B-Splines Trigonometric Interpolation METAPOST and Bézier Curves METAPOST Example Curvature and Torsion Harmonic Interpolation Interpolation Odd Case Even Case Examples Curvature Plots Numerical Stability Affine Invariance Convex Hull Property C# Implementation of Harmonic Interpolation Chebyshev Polynomials Odd Case Even Case Non-Uniform Harmonic Interpolation Wavelets Introduction One-Dimensional Wavelets Two-Dimensional Wavelets Curves C# Implementation
10 x Contents 6 Surfaces Parametric Surfaces Tensor Product Surfaces Bézier Surfaces Tensor Product Bézier Surfaces Triangular Bézier Surfaces Rational Bézier Surfaces Bézier Surface Interpolation B-Spline Tensor Product Surfaces B-Spline Surface Interpolation Subdivision Surfaces Loop Subdivision Modified Butterfly Subdivision Subdivision Interpolating 3 Subdivision Catmull-Clark Subdivision Doo-Sabin Subdivision Comparison Interpolation with Subdivision Surfaces Curvature of Surfaces Harmonic Surfaces Tensor Product Surface Harmonic Subdivision Local Harmonic Subdivision Local Harmonic Interpolation for Curves Parametric Distance Subdivision Rules Irregular Vertices Boundaries Geometry Images and Parameterization Cutting a Mesh into a Disk Parameterization Rasterization of the Geometry Image Interpolation of Geometry Images Geometry Images Approximation Rendering Approximating Basis Functions Combined Results Curvature C# Implementation
11 Contents xi 7 Raytracing Raytracing Process Representation of a Ray Reflection Refraction Intersections Sphere Infinite Plane Triangles Effect of Transforms C# Implementation of a Raytracer Implicit Surfaces Sphere Tracing Distance Functions C# Implementation CSG Objects C# Implementation Parametric Surfaces Interval Arithmetic Interval Root Finding Bisection Interval Root Finding Newton-Raphson Ray Tracing Harmonic Surfaces Lighting Models Supersampling Regular Supersampling Stochastic Supersampling Adaptive Supersampling Ambient Occlusion Ray Marching Photon Mapping Transport Notation Path Tracing Creating the Photon Map Photon Tracing Photon Map Data Structure Radiance Estimate C# Implementation Radiosity Light Transport Notation Radiosity Matrix Solving for Radiosity Values
12 xii Contents Solving: Jacobi Method Solving: Gauss-Seidel Iteration Solving: Shooting Method Form Factors Numerical Solution Raytracing Method Hemicube Method Rendering C# Implementation Animation Traditional Animation Techniques Keyframing Motion Capture Physics Models Animation of Position Arc length parameterization Orientation Articulated Structures (Kinematics) Forward Kinematics Vertex Blending Inverse Kinematics Mass Spring Systems Particle Systems Free Form Deformations Fluids Navier-Stokes Equations Advection Diffusion Projection Boundary Conditions C# Implementation Free Surface C# Implementation of Free Surfaces Bibliography 459 Index 471
13 List of Figures 1.1 Rotation in the two-dimensional Cartesian plane Projection onto a plane The view frustum and canonical view volume Diffuse reflection Specular reflection and the reflection vector Phong lighting model Microfacets V shaped grooves Shadowing and masking Blinn s geometric lemma Phong compared to Cook-Torrance lighting model Mandelbrot Set Julia Set IFS Fern Tree generated with an L-System First four steps in the construction of the Hilbert curve First five steps in the construction of the Koch snowflake Sierpinski carpet after seven iterations First six iterations of the Sierpinski triangle Kronecker product fractal: Gray scale fractal First four iterations of checkerboard Basis functions for uniform Lagrange interpolation of degree Uniform Lagrange interpolation of 4 points Basis functions for Bézier curves of degree A Bézier curve and its convex hull Piecewise continuous Bézier curves de Casteljau s method Subdivision of figure 4.4 into two Bézier curves Section of a circle, drawn with a rational Bézier curve Basis functions of B-splines of degree Blending functions of B-splines of degree xiii
14 xiv List of figures 4.11 Bézier curve of degree B-spline curve of degree Interpolation using B-splines Periodic interpolation using B-splines Interpolation using METAPOST Periodic interpolation using METAPOST Catenary and its curvature Spiral curve σ(t) function for n = σ k (t) basis functions for n = σ(t) function for n = σ k (t) basis functions for n = σ(t) function for n = σ(t) function for n = Circle drawn by METAPOST and harmonic interpolation Circle drawn by B-spline and harmonic interpolation Seven sided polygon: METAPOST, harmonic interpolation Seven sided polygon: B-spline, harmonic interpolation Five sided polygon: METAPOST, harmonic interpolation Five sided polygon: B-spline, harmonic interpolation Four point polygon: Trigonometric interpolation D curves: Comparison Curvature plot of figure Curvature plot of figure Curvature plot of figure Curvature plot of an eight sided figure Stability of harmonic interpolation Non-uniform harmonic interpolation of seven points Seven sided polygon: Non-uniform harmonic interpolation Five sided polygon: Non-uniform harmonic interpolation Eight sided polygon: Non-uniform harmonic interpolation The box functions for V The Haar wavelets for W Example parametric surfaces Example Bézier surface patches Surface constructed from piecewise continuous Bézier patches A Bézier triangle control mesh B-spline surface fitting: Curve network Stages in subdivision using Chaikin s scheme Stages in interpolatory subdivision using the 4-point scheme Notation for Loop subdivision Triangle subdivision for Loop subdivision
15 List of figures xv 6.10 Masks for Loop subdivision Cube: Loop subdivision Star: Loop subdivision Limit surfaces (Loop subdivision) Masks for modified butterfly subdivision Cube: Modified butterfly subdivision Star: Modified butterfly subdivision Limit surfaces (modified butterfly subdivision) Masks for 3 subdivision Triangle subdivision for 3 subdivision Cube: 3 subdivision Star: 3 subdivision Limit surfaces ( 3 subdivision) Masks for interpolating 3 subdivision Subdivision for the Catmull-Clark scheme Cube (triangulated): Catmull-Clark subdivision Cube (quadrilateral): Catmull-Clark subdivision Star (triangulated): Catmull-Clark subdivision Star (quadrilateral): Catmull-Clark subdivision Limit surfaces (Catmull-Clark subdivision) Cube (triangulated): Doo-Sabin subdivision Cube (quadrilaterals): Doo-Sabin subdivision Star (triangulated): Doo-Sabin subdivision Star (quadrilaterals): Doo-Sabin subdivision Limit surfaces (Doo-Sabin subdivision) Subdivision of the mannequin head Tensor product harmonic surfaces Stages in harmonic subdivision Stages in subdivision to produce a torus Stages in subdivision to produce a deformed torus Basis functions for the 2D and 3D harmonic interpolation Harmonic interpolation of nearest 4 points Harmonic subdivision with local support Stencil for regular vertices Stencil for irregular vertices Subdivision of a simple chess piece Subdivision of a simple diamond model with a valence 12 vertex Subdivision for refining an icosahedron Subdivision for refining the mannequin head Parameterization of Mannequin Shape-preserving parameterization: Computation of weights 225
16 xvi List of figures 6.51 Mean value coordinates: Computation of weights Application of theorems 6.1 and 6.3 (with m = 1) Scanline-rendered harmonic surface (torus) Approximation of harmonic tensor product surface Bézier patches used to approximate figure Final rendering of mannequin head Bézier patches Final rendering of Spock formed from Bézier patches Control points of various parametric surfaces Comparison of plane and harmonic surface Comparison of partial sphere and harmonic surface Comparison of torus and harmonic surface Comparison of sphere and harmonic surface Comparison of Möbius strip and harmonic surface Comparison of surface of revolution and harmonic surface Comparison of shell and harmonic surface Comparison of another shell and harmonic surface Comparison of partial Klein bottle and harmonic surface Comparison of overhand knot and harmonic surface Comparison of Solomon s Seal knot and harmonic surface A scene and viewpoint Raytracing by casting rays from the viewer into the scene View of the scene from the camera Computation of the reflected vector r Computation of the refracted vector t Sphere tracing: Hit Sphere tracing: Miss Distance to a cone A superquadric Ray traced harmonic surface (torus) Supersampling Adaptive supersampling Ambient occlusion Global illumination with photon mapping Caustics The Hemicube method Determining radiosity values Examples of radiosity solutions An articulated structure A fluid cell in the MAC-grid
17 Notation N the set of natural numbers Z the set of integer numbers Q the set of rational numbers R the set of real numbers C the set of complex numbers (of the form a + bi, a, b R) R n the Cartesian product space, i.e. R n = { (x 0, x 1,..., x n 1 ) x j R } z complex number z complex conjugate of z C i i = 1 I n n n unit matrix M T transpose of the matrix M M, det(m) determinant of the matrix M x = (x 0 x 1... x n 1 ) T column vector x R n x T row vector x R n 0 zero column vector n normal vector t tangent vector x Euclidean norm of x, x = x T x x, y the inner product (scalar product) of x and y x y dot product, an inner product defined by x T y = n 1 k=0 x ky k, where x, y R n x y the vector product (cross product) of x R 3 and y R 3, xvii
18 xviii Notation ang(a, b, c) the angle between the vectors a b and c b [0, 1] unit interval δ jk Kronecker delta, 1 if j = k, 0 otherwise I n n n identity matrix t curve parameter u, v surface parameters C k continuity of a curve or surface G k geometric continuity of a curve or surface x floor of x R, the largest y such that y Z and y x x ceiling of x R, the smallest y such that y Z and y x Kronecker product
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 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 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 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 informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines
More 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 informationFinal Exam CS 184: Foundations of Computer Graphics! page 1 of 12!
Final Exam CS 184: Foundations of Computer Graphics! page 1 of 12! Student Name:! Class Account Username: Instructions: Read them carefully!! The exam begins at 8:10pm and ends at 10:00pm. You must turn
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 informationGLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner
GLOBAL EDITION Interactive Computer Graphics A Top-Down Approach with WebGL SEVENTH EDITION Edward Angel Dave Shreiner This page is intentionally left blank. Interactive Computer Graphics with WebGL, Global
More informationGEOMETRIC TOOLS FOR COMPUTER GRAPHICS
GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W
More informationLahore University of Management Sciences. CS 452 Computer Graphics
CS 452 Computer Graphics Fall 2015-16 Instructor Murtaza Taj Room No. SSE Block 10-301 Office Hours TBA Email murtaza.taj@lums.edu.pk Telephone 3301 Secretary/TA TBA TA Office Hours TBA Course URL (if
More informationCurves and Surfaces for Computer-Aided Geometric Design
Curves and Surfaces for Computer-Aided Geometric Design A Practical Guide Fourth Edition Gerald Farin Department of Computer Science Arizona State University Tempe, Arizona /ACADEMIC PRESS I San Diego
More 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 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 informationRecollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows
Recollection Models Pixels Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Can be computed in different stages 1 So far we came to Geometry model 3 Surface
More informationPythagorean - Hodograph Curves: Algebra and Geometry Inseparable
Rida T. Farouki Pythagorean - Hodograph Curves: Algebra and Geometry Inseparable With 204 Figures and 15 Tables 4y Springer Contents 1 Introduction 1 1.1 The Lure of Analytic Geometry 1 1.2 Symbiosis of
More informationHomework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves
Computer Graphics Instructor: Brian Curless CSE 457 Spring 2013 Homework #2 Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves Assigned: Sunday, May 12 th Due: Thursday,
More informationOXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS
OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS YEAR/SEM.: III/V STAFF NAME: T.ELANGOVAN SUBJECT NAME: Computer Graphics SUB. CODE:
More informationTopics and things to know about them:
Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will
More informationLahore University of Management Sciences. CS 452 Computer Graphics
CS 452 Computer Graphics Fall 206-7 Instructor Room No. Office Hours Email Murtaza Taj 9-GA TBA murtaza.taj@lums.edu.pk Telephone 330 Secretary/TA TA Office Hours Course URL (if any) TBA TBA LMS Course
More informationTopic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping
Topic 12: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures
More informationTopic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized
Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures
More 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 informationTopic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural
Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Topic 11: Photographs Texture Mapping Motivation Sources of texture Texture coordinates
More informationIntroduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry
Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry Representation Ab initio design Rendering Solid modelers Kinematic
More informationCOMPUTER GRAPHICS, MULTIMEDIA AND ANIMATION, Second Edition (with CD-ROM) Malay K. Pakhira
Computer Graphics, Multimedia and Animation SECOND EDITION Malay K. Pakhira Assistant Professor Department of Computer Science and Engineering Kalyani Government Engineering College Kalyani New Delhi-110001
More informationMake sure you fill in your name and the above information, and that you sign below. Anonymous tests will not be graded.
CS 184: Foundations of Computer Graphics! page 1 of 14 Student Name: Class Account Username: Instructions: Read them carefully! You must turn your exam in when time is an- The exam begins at 7:10pm and
More informationCHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK
CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS2401 COMPUTER GRAPHICS QUESTION BANK PART A UNIT I-2D PRIMITIVES 1. Define Computer graphics. 2. Define refresh
More informationIntroduction to Visualization and Computer Graphics
Introduction to Visualization and Computer Graphics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Computer Graphics Visibility Shading 3D Rendering Geometric Model Color Perspective
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 informationCS130 : Computer Graphics Curves. Tamar Shinar Computer Science & Engineering UC Riverside
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
More informationCPSC GLOBAL ILLUMINATION
CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of
More informationSpring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley
Spring 2012 Final CS184 - Foundations of Computer Graphics University of California at Berkeley Write your name HERE: Write your login HERE: Closed book. You may not use any notes or printed/electronic
More informationCOMP3421. Global Lighting Part 2: Radiosity
COMP3421 Global Lighting Part 2: Radiosity Recap: Global Lighting The lighting equation we looked at earlier only handled direct lighting from sources: We added an ambient fudge term to account for all
More informationHARMONIC INTERPOLATION FOR SMOOTH CURVES AND SURFACES ALEXANDRE HARDY THESIS. submitted in fulfilment of the requirements for the degree
HARMONIC INTERPOLATION FOR SMOOTH CURVES AND SURFACES by ALEXANDRE HARDY THESIS submitted in fulfilment of the requirements for the degree PHILOSOPHIA DOCTOR in APPLIED MATHEMATICS in the FACULTY OF SCIENCE
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 informationInformation Coding / Computer Graphics, ISY, LiTH. Splines
28(69) Splines Originally a drafting tool to create a smooth curve In computer graphics: a curve built from sections, each described by a 2nd or 3rd degree polynomial. Very common in non-real-time graphics,
More informationCurves 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 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 informationIntroduction to Computer Graphics
Introduction to Computer Graphics James D. Foley Georgia Institute of Technology Andries van Dam Brown University Steven K. Feiner Columbia University John F. Hughes Brown University Richard L. Phillips
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 informationIntroduction to the Mathematical Concepts of CATIA V5
CATIA V5 Training Foils Introduction to the Mathematical Concepts of CATIA V5 Version 5 Release 19 January 2009 EDU_CAT_EN_MTH_FI_V5R19 1 About this course Objectives of the course Upon completion of this
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 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 informationEECS 487, Fall 2005 Exam 2
EECS 487, Fall 2005 Exam 2 December 21, 2005 This is a closed book exam. Notes are not permitted. Basic calculators are permitted, but not needed. Explain or show your work for each question. Name: uniqname:
More 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 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 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 information9. Three Dimensional Object Representations
9. Three Dimensional Object Representations Methods: Polygon and Quadric surfaces: For simple Euclidean objects Spline surfaces and construction: For curved surfaces Procedural methods: Eg. Fractals, Particle
More informationCMSC427 Final Practice v2 Fall 2017
CMSC427 Final Practice v2 Fall 2017 This is to represent the flow of the final and give you an idea of relative weighting. No promises that knowing this will predict how you ll do on the final. Some questions
More informationComputer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE
Computer Animation Algorithms and Techniques Rick Parent Ohio State University z< MORGAN KAUFMANN PUBLISHERS AN IMPRINT OF ELSEVIER SCIENCE AMSTERDAM BOSTON LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO
More informationIntro to Ray-Tracing & Ray-Surface Acceleration
Lecture 12 & 13: Intro to Ray-Tracing & Ray-Surface Acceleration Computer Graphics and Imaging UC Berkeley Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric
More informationHomework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves
Computer Graphics Instructor: Brian Curless CSEP 557 Autumn 2016 Homework #2 Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Assigned: Wednesday, Nov 16 th Due: Wednesday, Nov 30
More 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 informationName: Let the Catmull-Rom curve q(u) be defined by the following control points: p 1 = 0, 1 p 2 = 1, 1 p 3 = 1, 0. p 2. p 1.
Name: 2 1. Let the Catmull-Rom curve q(u) be defined by the following control points: p 0 = 0, 0 p 1 = 0, 1 p 2 = 1, 1 p 3 = 1, 0 p 4 = 2, 0 y p 1 p 2 p 0 p 3 p 4 x Thus, q(i) =p i for i =1, 2, 3. For
More informationIntroduction Ray tracing basics Advanced topics (shading) Advanced topics (geometry) Graphics 2010/2011, 4th quarter. Lecture 11: Ray tracing
Lecture 11 Ray tracing Introduction Projection vs. ray tracing Projection Ray tracing Rendering Projection vs. ray tracing Projection Ray tracing Basic methods for image generation Major areas of computer
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 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 informationThe Rendering Equation & Monte Carlo Ray Tracing
Last Time? Local Illumination & Monte Carlo Ray Tracing BRDF Ideal Diffuse Reflectance Ideal Specular Reflectance The Phong Model Radiosity Equation/Matrix Calculating the Form Factors Aj Ai Reading for
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 exam begins at 5:10pm and ends at 8:00pm. You must turn your exam in when time is announced or risk not having it accepted.
CS 184: Foundations of Computer Graphics page 1 of 11 Student Name: Student ID: Instructions: Read them carefully! The exam begins at 5:10pm and ends at 8:00pm. You must turn your exam in when time is
More informationAssignment 6: Ray Tracing
Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.
More informationShape 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 informationCS2401 COMPUTER GRAPHICS ANNA UNIV QUESTION BANK
CS2401 Computer Graphics CS2401 COMPUTER GRAPHICS ANNA UNIV QUESTION BANK CS2401- COMPUTER GRAPHICS UNIT 1-2D PRIMITIVES 1. Define Computer Graphics. 2. Explain any 3 uses of computer graphics applications.
More informationFreeform Curves on Spheres of Arbitrary Dimension
Freeform Curves on Spheres of Arbitrary Dimension Scott Schaefer and Ron Goldman Rice University 6100 Main St. Houston, TX 77005 sschaefe@rice.edu and rng@rice.edu Abstract Recursive evaluation procedures
More informationFor each question, indicate whether the statement is true or false by circling T or F, respectively.
True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)
More informationToday. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity
Today Anti-aliasing Surface Parametrization Soft Shadows Global Illumination Path Tracing Radiosity Exercise 2 Sampling Ray Casting is a form of discrete sampling. Rendered Image: Sampling of the ground
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 informationEnd-Term Examination
Paper Code: MCA-108 Paper ID : 44108 Second Semester [MCA] MAY-JUNE 2006 Q. 1 Describe the following in brief :- (3 x 5 = 15) (a) QUADRATIC SURFACES (b) RGB Color Models. (c) BSP Tree (d) Solid Modeling
More information- Location: Annenberg Text: Mostly Self-Contained on course Web pages. - Al Barr
CS171 Computer Graphics Time: 3pm-3:55pm MW(F) - Location: Annenberg 105 - Text: Mostly Self-Contained on course Web pages Instructor: - Al Barr barradmin@cs.caltech.edu, TAs: - Kevin (Kevli) Li - kevli@caltech.edu
More informationReview. Stephen J. Guy
Review Stephen J. Guy Overview Pixar short Review last class Review course Area of Graphics Image Processing Rendering Modeling Animation Misc Area of Graphics Image Processing Rendering Modeling Animation
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 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 informationInterpolation using scanline algorithm
Interpolation using scanline algorithm Idea: Exploit knowledge about already computed color values. Traverse projected triangle top-down using scanline. Compute start and end color value of each pixel
More informationIntroduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)
Lecture 9 Graphics pipeline (rasterization and shading) Graphics pipeline - part 1 (recap) Perspective projection by matrix multiplication: x pixel y pixel z canonical 1 x = M vpm per M cam y z 1 This
More informationFall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.
Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.hao-li.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve
More 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 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 informationQUESTION BANK 10CS65 : COMPUTER GRAPHICS AND VISUALIZATION
QUESTION BANK 10CS65 : COMPUTER GRAPHICS AND VISUALIZATION INTRODUCTION OBJECTIVE: This chapter deals the applications of computer graphics and overview of graphics systems and imaging. UNIT I 1 With clear
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 informationCS GAME PROGRAMMING Question bank
CS6006 - GAME PROGRAMMING Question bank Part A Unit I 1. List the different types of coordinate systems. 2. What is ray tracing? Mention some applications of ray tracing. 3. Discuss the stages involved
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 informationAdvanced 3D Game Programming with DirectX* 10.0
Advanced 3D Game Programming with DirectX* 10.0 Peter Walsh Wordware Publishing, Inc. Acknowledgments Introduction xiii xv Chapter I Windows I A Word about Windows I Hungarian Notation 3 General Windows
More informationCurves & Surfaces. MIT EECS 6.837, Durand and Cutler
Curves & Surfaces Schedule Sunday October 5 th, * 3-5 PM * Review Session for Quiz 1 Extra Office Hours on Monday Tuesday October 7 th : Quiz 1: In class 1 hand-written 8.5x11 sheet of notes allowed Wednesday
More informationCS559 Computer Graphics Fall 2015
CS559 Computer Graphics Fall 2015 Practice Final Exam Time: 2 hrs 1. [XX Y Y % = ZZ%] MULTIPLE CHOICE SECTION. Circle or underline the correct answer (or answers). You do not need to provide a justification
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationEngineering Real- Time Applications with Wild Magic
3D GAME ENGINE ARCHITECTURE Engineering Real- Time Applications with Wild Magic DAVID H. EBERLY Geometric Tools, Inc. AMSTERDAM BOSTON HEIDELRERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE
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 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 informationSRM INSTITUTE OF SCIENCE AND TECHNOLOGY
SRM INSTITUTE OF SCIENCE AND TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK SUB.NAME: COMPUTER GRAPHICS SUB.CODE: IT307 CLASS : III/IT UNIT-1 2-marks 1. What is the various applications
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 informationSo far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.
11 11.1 Basics So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. Global models include incident light that arrives
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 informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
More informationLocal vs. Global Illumination & Radiosity
Last Time? Local vs. Global Illumination & Radiosity Ray Casting & Ray-Object Intersection Recursive Ray Tracing Distributed Ray Tracing An early application of radiative heat transfer in stables. Reading
More informationWindows and Graphics Programming with Visual C ++
Introduction to Windows and Graphics Programming with Visual C ++ with Companion Media Pack Second Edition This page intentionally left blank Introduction to Windows and Graphics Programming with Visual
More informationDgp _ lecture 2. Curves
Dgp _ lecture 2 Curves Questions? This lecture will be asking questions about curves, their Relationship to surfaces, and how they are used and controlled. Topics of discussion will be: Free form Curves
More informationComputer graphics (cs602) Final term mcqs fall 2013 Libriansmine
Computer graphics (cs602) Final term mcqs fall 2013 Libriansmine Question # 1 Total Marks: 1 Consider the following problem from lighting: A point (P1) is at (0, 0, 0) with normal equal to 1/(2*sqrt(2))*(sqrt(2),
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationCS 5625 Lec 2: Shading Models
CS 5625 Lec 2: Shading Models Kavita Bala Spring 2013 Shading Models Chapter 7 Next few weeks Textures Graphics Pipeline Light Emission To compute images What are the light sources? Light Propagation Fog/Clear?
More information