问题描述
绘制以z=f(y)为母线绕z或y轴的旋转曲面,要求:
用户自行决定曲面网格的疏密;
用户输入旋转轴;
用图像给生成的曲面贴上纹理,图像预载入或用户输入。
求解思路
利用cylinder函数生成旋转面参数,其中母线和网格数由用户输入。再利用surf函数将曲面绘制。最后利用imread和set完成贴图任务。
程序代码
muxian=input('母线函数');
n=input('网格数');
zhou=input('旋转轴');
tupian=input('贴图文件');%文件名称加格式,文件需在同一文件夹内
t = 2*pi+pi/4:-pi/10:pi/2;
if zhou=='z'
[X,Y,Z] = cylinder(muxian,n);
else
[X,Z,Y] = cylinder(muxian,n);
end
h=surf(X,Y,Z)
shading interp
grid on
axis square
[mx,mp]=imread(tupian);
set(h,'CData',flipdim(mx,1),'FaceColor','texturemap','EdgeColor','none')