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

Similar documents
MATHEMATICAL TOOLS IN COMPUTER GRAPHICS WITH C# IMPLEMENTATIONS

Design considerations

CHAPTER 1 Graphics Systems and Models 3

Final Exam CS 184: Foundations of Computer Graphics! page 1 of 12!

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Computer Graphics I Lecture 11

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

EECS 487, Fall 2005 Exam 2

Curves and Surfaces for Computer-Aided Geometric Design

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

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Lahore University of Management Sciences. CS 452 Computer Graphics

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

Computer Graphics Curves and Surfaces. Matthias Teschner

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry

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

Name: 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.

CPSC GLOBAL ILLUMINATION

Introduction to Computer Graphics

Make sure you fill in your name and the above information, and that you sign below. Anonymous tests will not be graded.

CS2401 COMPUTER GRAPHICS ANNA UNIV QUESTION BANK

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

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

- Location: Annenberg Text: Mostly Self-Contained on course Web pages. - Al Barr

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

INF3320 Computer Graphics and Discrete Geometry

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

OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS

Central issues in modelling

CS GAME PROGRAMMING Question bank

COMP3421. Global Lighting Part 2: Radiosity

Pythagorean - Hodograph Curves: Algebra and Geometry Inseparable

Graphics Pipeline 2D Geometric Transformations

Physically-Based Modeling and Animation. University of Missouri at Columbia

Lecture IV Bézier Curves

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

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

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

Subdivision Surfaces

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

The Rendering Equation & Monte Carlo Ray Tracing

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

3D Modeling Parametric Curves & Surfaces

Information Coding / Computer Graphics, ISY, LiTH. Splines

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

Welcome to COMP 770 (236) Introduction. Prerequisites. Prerequisites

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

Dgp _ lecture 2. Curves


Geometric Modeling of Curves

Lahore University of Management Sciences. CS 452 Computer Graphics

SRM INSTITUTE OF SCIENCE AND TECHNOLOGY

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

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

Curve and Surface Basics

Intro to Ray-Tracing & Ray-Surface Acceleration

Computergrafik. Matthias Zwicker. Herbst 2010

CMSC427 Final Practice v2 Fall 2017

Introduction Ray tracing basics Advanced topics (shading) Advanced topics (geometry) Graphics 2010/2011, 4th quarter. Lecture 11: Ray tracing

The 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.

Review. Stephen J. Guy

End-Term Examination

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

Graphics and Visualization (GV)

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

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

Introduction to Visualization and Computer Graphics

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

CS 130 Final. Fall 2015

COMPUTER GRAPHICS, MULTIMEDIA AND ANIMATION, Second Edition (with CD-ROM) Malay K. Pakhira

Curves and Surfaces 1

Final Exam CS 184: Foundations of Computer Graphics page 1 of 14 Fall 2016 Prof. James O Brien

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

Freeform Curves on Spheres of Arbitrary Dimension

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017

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

Parametric curves. Brian Curless CSE 457 Spring 2016

Local vs. Global Illumination & Radiosity

U.C. Berkeley, EECS, Computer Science FINAL EXAM. Your Class Computer Account: Row: Seat: Your student ID #:

3D Modeling techniques

Sung-Eui Yoon ( 윤성의 )

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

History of computer graphics

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE

Introduction to Geometry. Computer Graphics CMU /15-662

2001, Denis Zorin. Subdivision Surfaces

08 - Designing Approximating Curves

Engineering Real- Time Applications with Wild Magic

GEOMETRIC LIBRARY. Maharavo Randrianarivony

Geometric and Solid Modeling. Problems

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

Spline Surfaces, Subdivision Surfaces

Topics and things to know about them:

Raytracing CS148 AS3. Due :59pm PDT

HARMONIC INTERPOLATION FOR SMOOTH CURVES AND SURFACES ALEXANDRE HARDY THESIS. submitted in fulfilment of the requirements for the degree

Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source

Real-Time Rendering. Tomas Möller Eric Haines. A K Peters Natick, Massachusetts

Topic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component

Transcription:

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 xvii xiii Vectors, Matrices and Transforms 1 Vector Spaces 1 Points and Vectors 4 Homogeneous Coordinates 4 Representing Objects by Points 5 Affine Transformations 5 Introduction and Definitions 5 Scaling 6 Translation 7 Rotation 7 Concatenation of Transforms 10 Projection 11 Quaternions 13 C# Implementation 15 Lighting 23 Shading 23 Affine Transforms and Normal Vectors 24 Local Lighting Models 25

The Phong Lighting Model 25 Emissive Properties 26 Ambient Reflection 26 Diffuse Reflection 26 Specular Reflection 27 Multiple Colored Light Sources 28 Attenuation 29 Lights 30 Spot Lights 30 Transparent Objects 31 Cook-Torrance Model 31 Bidirectional Reflectivity 31 Cook-Torrance Model 32 Microfacet Distribution Term 33 Geometric Surface Occlusion Term 33 Fresnel Term 37 Beer-Lambert Law 38 C# Implementation 39 Rasterization 49 Pixels 49 Drawing Lines 49 Bresenham's Algorithm for Lines 50 Drawing Circles 51 Bresenham's Algorithm for Circles 51 Filling 53 Gouraud Shading 54 Rasterization in C# 55 Drawing Pixels 57 Bresenham's Algorithms in C# 57 Fractals 59 Mandelbrot Set 60 Julia Set 62 Iterated Function Systems 64 L-Systems and Fractals 65 Kronecker Product and Fractals 69 Definitions 69 Kronecker Product Fractals 71 Curves 75 Introduction 75 Affine Invariance 76 Convex Hull 77 Lagrange Interpolation 78 C# Implementation 79

Bezier Curves 83 Affine Invariance 83 Convex Hull 84 Derivative at Edges 84 Piecewise Continuous Bezier Curves 86 Rendering 87 Rational Bezier Curves 91 Bezier Curves: Conic Sections 91 C# Implementation 91 Catmull-Rom Splines 92 Bessel-Overhauser Splines 93 Tension-Continuity-Bias Splines 93 Uniform B-Splines 94 Affine Invariance 98 Convex Hull 98 Cox-de Boor Formula 98 C# Implementation 99 Non-Uniform B-Splines 99 Interpolating with B-Splines 100 Periodic Interpolation 102 Non-Uniform Rational B-Splines 104 Trigonometric Interpolation 104 METAPOST and Bezier Curves 108

METAPOST Example 110 Curvature and Torsion 112 Harmonic Interpolation 117 Interpolation 118 Odd Case 120 Even Case 122 Examples 125 Curvature Plots 132 Numerical Stability 136 Affine Invariance 138 Convex Hull Property 141 C# Implementation of Harmonic Interpolation 141 Chebyshev Polynomials 142 Odd Case 143 Even Case 144 Non-Uniform Harmonic Interpolation 144 Wavelets 153 Introduction 153 One-Dimensional Wavelets 154 Two-Dimensional Wavelets 158 Curves 162 C# Implementation 164

Surfaces 167 Parametric Surfaces 167 Tensor Product Surfaces 168 Bezier Surfaces 169 Tensor Product Bezier Surfaces 170 Triangular Bezier Surfaces 171 Rational Bezier Surfaces 173 Bezier Surface Interpolation 173 B-Spline Tensor Product Surfaces 173 B-Spline Surface Interpolation 174 Subdivision Surfaces 177 Loop Subdivision 180 Modified Butterfly Subdivision 183 [radical]3 Subdivision 185 Interpolating [radical]3 Subdivision 187 Catmull-Clark Subdivision 191 Doo-Sabin Subdivision 192 Comparison 195 Interpolation with Subdivision Surfaces 198 Curvature of Surfaces 200 Harmonic Surfaces 206 Tensor Product Surface 206

Harmonic Subdivision 207 Local Harmonic Subdivision 208 Local Harmonic Interpolation for Curves 209 Parametric Distance 210 Subdivision Rules 212 Irregular Vertices 214 Boundaries 217 Geometry Images and Parameterization 219 Cutting a Mesh into a Disk 219 Parameterization 222 Rasterization of the Geometry Image 228 Interpolation of Geometry Images 229 Geometry Images - Approximation 237 Rendering 238 Approximating Basis Functions 240 Combined Results 243 Curvature 245 C# Implementation 257 Raytracing 333 Raytracing Process 333 Representation of a Ray 338 Reflection 338 Refraction 339 Intersections 341

Sphere 342 Infinite Plane 342 Triangles 343 Effect of Transforms 344 C# Implementation of a Raytracer 344 Implicit Surfaces 368 Sphere Tracing 369 Distance Functions 371 C# Implementation 374 CSG Objects 376 C# Implementation 377 Parametric Surfaces 379 Interval Arithmetic 380 Interval Root Finding - Bisection 381 Interval Root Finding - Newton-Raphson 382 Ray Tracing Harmonic Surfaces 385 Lighting Models 386 Supersampling 386 Regular Supersampling 387 Stochastic Supersampling 387 Adaptive Supersampling 388 Ambient Occlusion 389 Ray Marching 392 Photon Mapping 393 Transport Notation 394 Path Tracing 394 Creating the Photon Map 395 Photon Tracing 396 Photon Map Data Structure 397 Radiance Estimate 399 C# Implementation 401 Radiosity 409 Light Transport Notation 409 Radiosity Matrix 410 Solving for Radiosity Values 411 Solving: Jacobi Method 411 Solving: Gauss-Seidel Iteration 411 Solving: Shooting Method 412 Form Factors 412 Numerical Solution 413 Raytracing Method 413

Hemicube Method 413 Rendering 415 C# Implementation 415 Animation 427 Traditional Animation Techniques 427 Keyframing 427 Motion Capture 428 Physics Models 428 Animation of Position 429 Arc length parameterization 430 Orientation 430 Articulated Structures (Kinematics) 431 Forward Kinematics 432 Vertex Blending 433 Inverse Kinematics 433 Mass Spring Systems 434 Particle Systems 435 Free Form Deformations 435 Fluids 436 Navier-Stokes Equations 438 Advection 439 Diffusion 440 Projection 440 Boundary Conditions 441 C# Implementation 441 Free Surface 449 C# Implementation of Free Surfaces 450 Bibliography 459 Index 471