Bezier Talk: Difference between revisions

From Adam Colton
Jump to navigation Jump to search
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:
* French automotive
* French automotive
* now everywhere - font, CAD
* now everywhere - font, CAD
* C4 curve
* Cubic curve
* intuitive
* intuitive
* start and end are explicit
* stays inside polygon
* stays inside polygon
* many ways to define
* many ways to define
Line 23: Line 24:
* exponent delta
* exponent delta
* can render to polynomial
* can render to polynomial
== Derivative ==
* Degree one less
* Difference of points
* Is a Bezier curve
* Smooth linking of curves
== Rasterizing ==
Rather than computing each point, use divide and conquer. Given the derivative, we can check if the line is a good approximation.


== Blossom Subsection ==
== Blossom Subsection ==
Line 31: Line 41:
* C5 is not guaranteed solvable as polynomial
* C5 is not guaranteed solvable as polynomial
* Can use subsections for divide and conquer
* Can use subsections for divide and conquer
== Derivative ==
* Degree one less
* Difference of points
* Is a Bezier curve


== Higher dimensions ==
== Higher dimensions ==
Line 45: Line 50:
* 3D 4x4 camera transform: P/w
* 3D 4x4 camera transform: P/w
* Transformation of control points is the same as transformation of the curve
* Transformation of control points is the same as transformation of the curve
== Shortcomings ==
* Cannot exactly describe a circle, but can get very close quickly
* Cannot exactly describe an "offset" (stroking)
== As Building Block ==
* Piecewise
* Rational
* NURBS

Latest revision as of 19:19, 18 October 2019

Intro

  • French automotive
  • now everywhere - font, CAD
  • Cubic curve
  • intuitive
  • start and end are explicit
  • stays inside polygon
  • many ways to define

Vector Math Refresher

  • Prefer parametric
  • Vector vs Point

As Blossom

  • define blossom
  • order doesn't matter
  • curve is all args equal
  • Not efficient - N2
  • blossoms will come back

As Sum

  • Formula
  • binomial refresher
  • exponent delta
  • can render to polynomial

Derivative

  • Degree one less
  • Difference of points
  • Is a Bezier curve
  • Smooth linking of curves

Rasterizing

Rather than computing each point, use divide and conquer. Given the derivative, we can check if the line is a good approximation.

Blossom Subsection

  • Can create arbitrary subsection

Line Intersection

  • Reason to prefer C4, can be done linearly as polynomial
  • C5 is not guaranteed solvable as polynomial
  • Can use subsections for divide and conquer

Higher dimensions

  • All formulas work in 3D - and higher
  • Doesn't have to be spatial, great smoothing for speed, color

Transformation

  • 2D review
  • 3D 4x4 camera transform: P/w
  • Transformation of control points is the same as transformation of the curve

Shortcomings

  • Cannot exactly describe a circle, but can get very close quickly
  • Cannot exactly describe an "offset" (stroking)

As Building Block

  • Piecewise
  • Rational
  • NURBS