曲线与曲面对象
曲线对象 调用格式:line(x,y,z,属性1,属性值1,属性2,属性值2,…)
曲线对象常用属性:
eg:利用曲线对象绘制五环图案。
t=-0.1:0.1:2*pi;
x=cos(t);
y=sin(t);
line(x,y,'Color','b')
line(x+1.2,y-1,'Color','y')
line(x+2.4,y,'Color','k')
line(x+3.6,y-1,'Color','g')
line(x+4.8,y,'Color','r')
ha=gca;
for n=1:size(ha.Children)
ha.Children(n).LineWidth=5;
end
ha.XLim=[-2,7];
ha.YLim=[-3,2];
axis equal
曲面对象
调用格式:surface(x,y,z,c,属性1,属性值1,属性2,属性值2,…)
与曲面形态有关的属性:
eg:
r=linspace(0,2*pi,60);
[u,v]=meshgrid(r);
x=(8+3*cos(v)).*cos(u);
y=(8+3*cos(v)).*sin(u);
z=3*sin(v);
axes('view',[-37.5,30])
hs=surface(x,y,z);
axis equal;
光照处理 :
调用格式:light(属性1,属性值1,属性2,属性值2,…)
光源对象的属性:
设置光照模式:
eg:绘制光照处理后的圆环面并观察不同光照模式下的效果。
r=linspace(0,2*pi,60);
[u,v]=meshgrid(r);
x=(8+3*cos(v)).*cos(u);y=(8+3*cos(v)).*sin(u);z=3*sin(v);
axes('Position',[0.05,0.675,1.0,0.3],'View',[-37.5,30]);
hs1=surface(x,y,z);
axis equal;
hs2.EdgeColor='none';
hs2.FaceColor='interp';
light('Position',[0,0,8])
lighting flat
axes('Position',[0.05,0.025,1.0,0.3],'View',[-37.5,30]);
hs3=surface(x,y,z);
axis equal;
hs3.EdgeColor='none';
hs3.FaceColor='interp';
light('Position',[0,0,8])
lighting phong
图形对象的反射特性:
eg:绘制具有不同反射特性的圆环面并观察反射特性对图形效果的影响.
r=linspace(0,2*pi,60); [u,v]=meshgrid(r);
x=(8+3*cos(v)).*cos(u); y=(8+3*cos(v)).*sin(u); z=3*sin(v);
%第一个圆环
axes('Position',[0.05,0.675,1.0,0.3],'View',[-37.5,30]);
hs1=surface(x,y,z);axis equal;
hs1.EdgeColor='none';hs1.FaceColor='interp';
light('Position',[0,0,8]) ;lighting phong
hs1.SpecularStrength=0.1;%反射参数设置
%第二个圆环
axes('Position', [0.05,0.35,1.0,0.3],'View',[-37.5,30]);
hs2=surface(x,y,z);axis equal;
hs2.EdgeColor='none';hs2.FaceColor='interp';
light('Position',[0,0,8]) ;lighting phong
hs2.SpecularStrength=0.5;%反射参数设置
%第三个圆环
axes('Position', [0.05,0.025,1.0,0.3],'View',[-37.5,30]);
hs3=surface(x,y,z);axis equal;
hs3.EdgeColor='none';hs3.FaceColor='interp';
light('Position',[0,0,8]) ;lighting phong ;