Bezier Curve Classification

206 Views Asked by At

Given four cubic Bezier control points in the plane, I would like to render a curve.

From this article

http://http.developer.nvidia.com/GPUGems3/gpugems3_ch25.html

the following values a1, a2, and a3 are said to be:

a1 = b0 · (b3 x b2)

a2 = b1 · (b0 x b3)

a3 = b2 · (b1 x b1)

The cross product of two non-zero, non-collinear vectors in a plane will always result in a vector orthogonal to the plane. The dot product of two vectors who are orthogonal to each other will always be 0. What am I missing here?

1

There are 1 best solutions below

2
On BEST ANSWER

The article uses a 3D representation $(x,y,1)$ for a 2D point $(x,y)$. Note that the last coordinate is set to 1. You may then calculate the above constants (in fact each constant is just a determinant of a 3 by 3 matrix with one line (or row) being ones. Technically speeking the author uses a projective representation of the affine plane.