You are viewing the course site for a past offering of this course. The current offering may be found here.
Lecture 7: Geometry And Splines (91)
emilyzhong

This method reminds me of bilinear filtering, where to take 1-dimensional interpolation in a 2-dimensional context, we interpolate between the two results of linear interpolation. Similarly, we run de Casteljau's algorithm on the two results of de Casteljau's algorithm to take the 2-dimensional result into a 3-dimensional one.

sutble

An interesting note, in lecture the professor mentioned that this process is symmetric, you can either do u then v or v then u. However, when implementing the project, if you flip u and v you will get the same shape but the "outside" of the teapot will be on the inside. So there seems to be some nuances when working with bezier curves.

Staffirisli

The dimension that "1D" seems to primarily refer to the uv dimension. The project's evaluate1D helper function signature is:

Vector3D BezierPatch::evaluate1D(std::vector<Vector3D> points, double t) const

There are actually 3 different dimension spaces going on:

  • Number of control points on each axis (quadratic (3) vs cubic (4))
  • Bezier dimension (u,v)(u,v)
  • Euclidean coordinate system xyz R3\mathbb{R}^3

In the case of the project and these slides, 4 control points. Bezier dimension of 2. And Euclidean space dimension of 3.

You must be enrolled in the course to comment