1
$\begingroup$

A bicubic bezier patch is defined by 16 control points.
Given two points both lying on the patch boundaries, I think that if you link the two points you will end up with a cubic bezier curve in 3D. Is that true ? If yes, how can I find the two middle control points of this bezier curve ?

$\endgroup$
1
$\begingroup$

Let's denote the bicubic Bezier patch by $S(u,v)$, with $0 \le u \le 1$, $0 \le v \le 1$. Suppose that the two given points are at parameter locations $(u_0, v_0)$ and $(u_1, v_1)$. Given the situation you described, we can assume that $v_0 = 0$ and $v_1 = 1$. If $u_0 = u_1$, then the curve that "joins" the two given locations is indeed a Bezier cubic curve. This curve is called an "isoparametric curve", or sometimes just an "iso-curve", for short. The "iso" prefix is because the points on the curve are produced by holding one parameter value fixed ($u=u_0$ in our case), and varying the other one ($v$).

If you search for the term "isoparametric curve", I expect you'll find ways of computing them. Ask here again if that doesn't work for you.

On second thoughts, here are the details, so that you don't have to look any further.

The equation of the patch is $$ S(u,v) = \sum_{i=0}^3 \sum_{j=0}^3 b_i(u)b_j(v)\mathbf {P}_{ij} $$ where the $b_i$ and $b_j$ are the cubic Bernstein polynomials. So, if we fix $u=u_0$, as above, then we get an iso-curve that is a function of the parameter $v$: $$ S(u_0,v) = \sum_{j=0}^3 b_j(v) \left\{\sum_{i=0}^3 b_i(u_0)\mathbf {P}_{ij} \right\} $$ This is a cubic Bezier curve, and its control points $\mathbf Q_0$, $\mathbf Q_1$, $\mathbf Q_2$, $\mathbf Q_3$ are given by: $$ \mathbf Q_j = \sum_{i=0}^3 b_i(u_0)\mathbf {P}_{ij} \quad (j = 0,1,2,3) $$ The control points $\mathbf Q_0$ and $\mathbf Q_3$ will lie on the edges of the patch, as you know; the other two will not.

This picture might help:

patch

The red dots are the points $\mathbf Q_0$, $\mathbf Q_1$, $\mathbf Q_2$, $\mathbf Q_3$, and the picture shows how they are calculated.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.