Computer Graphics: Difference between revisions

From Adam Colton
Jump to navigation Jump to search
No edit summary
No edit summary
 
(38 intermediate revisions by the same user not shown)
Line 1: Line 1:
I'm leaving this as is, but really my interest is "Computational Geometry"
* [https://www.youtube.com/watch?v=Is6D5rnWEvs&list=PL_w_qWAQZtAZhtzPI5pkAtcUVgmzdAP8g Broken Chalk Series] This is excellent
* [https://www.youtube.com/watch?v=Is6D5rnWEvs&list=PL_w_qWAQZtAZhtzPI5pkAtcUVgmzdAP8g Broken Chalk Series] This is excellent
* Graphics Gems books
* Graphics Gems books
* https://www.reddit.com/r/GraphicsProgramming/
* https://www.reddit.com/r/raytracing/
* https://github.com/hunterloftis/oneweekend/blob/master/readme.md
* [https://drive.google.com/drive/folders/14yayBb9XiL16lmuhbYhhvea8mKUUK77W Ray Tracing in a Weekend]
* [http://graphics.cs.ucdavis.edu/~joy/GeometricModelingLectures/]


== Notes ==
== Notes ==


=== BCS10 ===
=== BCS ===


* Flat shading
* Flat shading
* Gouraud Shading
* Gouraud Shading
* Phong Shading
* Phong Shading
Catmull-Clark Surface
== B-spline ==
* https://en.wikipedia.org/wiki/B-spline
* https://www.youtube.com/watch?v=r6UcF0S0HvQ&t=2s
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.
* C<sup>0</sup> continuity means that the last point on each Bezier curve is the same as the first point on the next - there are no gaps.
* C<sup>1</sup> the derivatives of the curves are continuous
* C<sup>2</sup> 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) = &sum;<sub>i</sub><sup>n</sup>N<sub>i,k</sub>(t)P<sub>i</sub>
  N<sub>i,0</sub>(t) = (t<sub>i</sub> <= t < t<sub>i+1</sub) ? 1 : 0
  N<sub>i,j</sub>(t) = (t - t<sub>i</sub>)/(t<sub>i+j</sub> - t<sub>i</sub>)N<sub>i,j-1</sub>(t) + (t<sub>i+j+1</sub> - t)/(t<sub>i+j+1</sub> - t<sub>i+1</sub>)N<sub>i+1,j-1</sub>(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.
[[Category:Computer Graphics]]

Latest revision as of 14:02, 28 August 2019

I'm leaving this as is, but really my interest is "Computational Geometry"

Notes

BCS

  • Flat shading
  • Gouraud Shading
  • Phong Shading

Catmull-Clark Surface

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.