Is it possible to solve for uu and vv, given the following matrix multiplication chain?

I am attempting to determine the intersections between a parametric Bezier surface, and line L=P_0+tVL=P0+tV, where PP is a point that lies on the line, and VV is a vector describing the line's direction.

The following image's source presents a seemingly convenient matrix form. The equation in the image represents the calculation of a point that lies on the surface, given the parameters uu and vv.

![graphics.cs.ucdavis.edu)

I figured the next logical step would be to substitute P(u,v)P(u,v) for the equation of the line given above, but I am unsure how to proceed.

I have tried to isolate the uu and vv coefficient matrices, but to no avail.

Is it possible to solve for uu and vv? Are there any alternatives?

1 Answer
Dec 27, 2016

See below.

Explanation:

After matrix multiplication we obtain

P(u,v)=(x(u,u),y(u,v),z(u,v))P(u,v)=(x(u,u),y(u,v),z(u,v))

The line is defined as

L->P=P_0+t VLP=P0+tV

The intersections are obtained solving

{(x(u,v)=P_0^x+t V_x),(y(u,v)=P_0^y+t V_y),(z(u,v)=P_0^z+t V_z):}

Three equations with three unknowns. The solutions can be obtained using an iterative procedure like Newton-Raphson.

xi_(k+1} = xi_k-J(xi_k)^(-1)g(xi_k)

where

xi_k=(u_k,v_k,t_k)
g(xi_k)=((x(u_k,v_k)-P_0^x-t_k V_x),(y(u_k,v_k)-P_0^y-t_k V_y),(z(u_k,v_k)-P_0^z-t_k V_z))

J(xi_k)= (((partial x)/(partial u)(u_k,v_k),(partial x)/(partial v)(u_k,v_k),-V_x),((partial y)/(partial u)(u_k,v_k),(partial y)/(partial v)(u_k,v_k),-V_y),((partial z)/(partial u)(u_k,v_k),(partial z)/(partial v)(u_k,v_k),-V_z))

Calling now

P(u,v)=U^TcdotC^TcdotPicdotCcdotV

where

U=(1,u,u^2,u^3)^T
V=(1,v,v^2,v^3)^T

we have

(partial P)/(partial u) = ((dU)/(du))^TcdotC^TcdotPicdotCcdotV
(partial P)/(partial v) = U^TcdotC^TcdotPicdotCcdot(dV)/(dv)