# Math for Computer Graphics and Computer Vision

(Difference between revisions)
 Revision as of 10:28, 27 August 2009 (edit)← Previous diff Current revision (14:40, 10 August 2011) (edit) (undo) (11 intermediate revisions not shown.) Line 7: Line 7: The following is a list of mathematical topics used in computer graphics. The original list was provided by Drexel professor David Breen. The following is a list of mathematical topics used in computer graphics. The original list was provided by Drexel professor David Breen. - :* Vectors and matrices + :* 2D, 3D, 4D real spaces; affine subspaces; homogeneous coordinates + :* [[Vector |Vectors]] and [[Matrix |Matrices]] + :* Graphics primitives + ::* 2D primitives developed from triangles: fans, strips + ::* Convexity and convex sums + ::* 3D models based on 2D faces + ::* ''Do we save machine representations for the CG course?'' + :* Transformations :* Transformations + ::*[[Transformations and Matrices]] + :::* Primitive geometric transformations + :::* Creating general transformations via sequences of primitives + :::* Inverse transformations via primitives + :::* ''Do we include transformation stacks?'' + ::*[[Change Of Coordinate Transformations]] + :::* This might well be phrased in terms of the viewing transformation + :* [[Quaternion|Quaternions]] :* [[Quaternion|Quaternions]] + :* Hierarchical coordinate systems :* Hierarchical coordinate systems + :* Geometry :* Geometry - ::* Curves (Catmull-Rom, Bezier, B-spline) + ::* Implicit geometry - lines, circles, ellipses + ::* [[Implicit Surfaces]] - quadrics, superquadrics + ::* [[Implicit Equations]] + ::* [[Parametric Equations|Parametric geometry]] - lines, circles, ellipses + ::* Curves (Catmull-Rom, [[Bezier Curves|Bezier]], B-spline) + ::* Parametric surfaces - quadrics, superquadrics, others ::* Bezier patches ::* Bezier patches ::* Subdivision surfaces ::* Subdivision surfaces - ::* Implicit geometry - lines, circles, ellipses + ::*[[Procedural Image]] - ::* Implicit surfaces - quadrics, superquadrics + :* [[Surface Normals]] - ::* Parametric geometry - lines, circles, ellipses + ::* Techniques of computing them from analytic and non-analytic cases - ::* Parametric surfaces - quadrics, superquadrics + :* [[Silhouette Edges]] - :* Surface normals + - :* Silhouette edges + :* Procedural texture maps :* Procedural texture maps + ::* Noise :* Ray-object intersection :* Ray-object intersection + ::* [[Bounding Volumes]] - Bounding spheres and boxes :* [[Planar Projection|Perspective and parallel planar projections]] :* [[Planar Projection|Perspective and parallel planar projections]] :* Non-planar projections :* Non-planar projections :* Edge detection :* Edge detection :* Fourier analysis and convolution :* Fourier analysis and convolution + More examples may be found in the lecture slides of [http://www.cs.drexel.edu/~david/Classes/CS430 CS 430]. More examples may be found in the lecture slides of [http://www.cs.drexel.edu/~david/Classes/CS430 CS 430].

## Current revision

Not surprisingly, the mathematics used in computer graphics was touched upon by the students at Drexel and Swarthmore during the summer of '09. Some of the Helper Pages, in particular are needed topics for some of the image pages, and for computer graphics.

As students turned their creative talents on these topics we decided to open this repository of software devoted to understanding them. Our hope is that it will develop into a useful resource for students and faculty in both disciplines. Please contribute your good material!

The following is a list of mathematical topics used in computer graphics. The original list was provided by Drexel professor David Breen.

• 2D, 3D, 4D real spaces; affine subspaces; homogeneous coordinates
• Vectors and Matrices
• Graphics primitives
• 2D primitives developed from triangles: fans, strips
• Convexity and convex sums
• 3D models based on 2D faces
• Do we save machine representations for the CG course?
• Transformations
• Primitive geometric transformations
• Creating general transformations via sequences of primitives
• Inverse transformations via primitives
• Do we include transformation stacks?
• This might well be phrased in terms of the viewing transformation
• Hierarchical coordinate systems
• Geometry
• Techniques of computing them from analytic and non-analytic cases
• Noise
• Ray-object intersection

More examples may be found in the lecture slides of CS 430.