Computer Graphics
I'm leaving this as is, but really my interest is "Computational Geometry"
- Broken Chalk Series This is excellent
- Graphics Gems books
- https://www.reddit.com/r/GraphicsProgramming/
- https://www.reddit.com/r/raytracing/
- https://github.com/hunterloftis/oneweekend/blob/master/readme.md
- Ray Tracing in a Weekend
- [1]
Notes
BCS
- Flat shading
- Gouraud Shading
- Phong Shading
Catmull-Clark Surface
Curves and Surfaces for CAGD
Resume: 1
1 (1)
In the French Auto industry both Paul de Castlejau and Pierre Bezier both created equivalent systems to describe the curves on automobiles. At Renault, Bezier developed UNISURF, an early CAD/CAM model.
This chapter provides a bunch of weird analogies for Curves.
Points and Vectors (13)
A point defines a location. Vectors are the result of subtracting points. Vectors can be added, points cannot.
B-spline
Basis Spline; a curve defined by control points and a knot vector.
- Joins many low degree Bezier curves
A k degree B-spline deined by n control points will have n-k Bezier curves. So a cubic (k=3) B-spline with 6 control points will have n-k = 6-3 = 3 Bezier curves.
- C0 continuity means that the last point on each Bezier curve is the same as the first point on the next - there are no gaps.
- C1 the derivatives of the curves are continuous
- C2 the second derivatives of the curves are continuous
The length of the knot vector is m=k+n. For a uniform knot vector (most common), the numbers will be integers increasing by one, so m=5 will be T=(0,1,2,3,4).
S(t) = ∑inNi,k(t)Pi Ni,0(t) = (ti <= t < ti+1</sub) ? 1 : 0 Ni,j(t) = (t - ti)/(ti+j - ti)Ni,j-1(t) + (ti+j+1 - t)/(ti+j+1 - ti+1)Ni+1,j-1(t)
This forms a triangle because each N where j!= is dependent on two N where j is one less. And the curve itself is the case where i=0 j=n. The ternary acts like a switch that turns on one N where j=0.