在之前绘制Bezier曲线的基础上绘制Bezier曲面,下面只是举了一类,其他的例子可以类似进行,下面直接贴代码~
function decasteljau_surf(vertices)
%DECASTELJAU_SURF Summary of this function goes here
% Detailed explanation goes here
NumPoint1=size(vertices,1)-1;%indicate the Num of line
NumPoint2=size(vertices,2)-1;
x=zeros(1,NumPoint1+1);y=zeros(1,NumPoint1+1);z=zeros(1,NumPoint1+1);
ps=zeros(11,4,3);
for v=1:4
u=1;
for t=0:0.1:1
for i=1:NumPoint1
for j=0:NumPoint1-i
if i==1
x(j+1) = (1 - t)*vertices(j+1,v,1) + t*vertices(j+2,v,1);
y(j+1) = (1 - t)*vertices(j+1,v,2) + t*vertices(j+2,v,2);
z(j+1) = (1 - t)*vertices(j+1,v,3) + t*vertices(j+2,v,3);
continue;
end
x(j+1)=x(j+1)*(1-t)&#