曲面的明暗及光照
曲面的明暗
[x,y,z] = peaks(50);
surf(z);
brighten(0.5) %brighten中的数值可以设置为-1至1,从-1到0,越靠近-1越暗;从0-1,越靠近1越亮
相关图形如下所示:
此时的brighten设置为0.5
此时的brighten设置为-0.5
灯光
h = light; %设置灯光对象,h为相应的句柄
h.Color = [0.3 0.4 1]; %设置灯光的颜色,参照RGB设置
h.Position = [-4 -4 10]; %设置灯光的位置,分别设置x,y,z坐标
h.Style = 'local'; %设置灯光的类型,是远光(平行)灯(infinite)还是近光灯(local)
相关图形如下所示:
注:默认设置的灯光颜色是白色,无穷远的光,穿过坐标[1,0,1]
光照模式
注:为使效果明显,将peaks的参数设置为10
[x,y,z] = peaks(10);
surf(z);
h = light; %设置灯光对象,h为相应的句柄
h.Color = [0.3 0.4 1]; %设置灯光的颜色,参照RGB设置
h.Position = [-4 -4 10]; %设置灯光的位置,分别设置x,y,z坐标
h.Style = 'local'; %设置灯光的类型,是远光(平行)灯(infinite)还是近光灯(local)
lighting none %消除所有灯光效果
lighting flat %曲面之间差距明显
lighting gouraud %对曲面之间进行线性插值,使曲面的颜色变化稍微平滑一些
lighting flat的相关图形如下所示:
lighting gouraud的相关图形如下所示:
相较于lighting flat明显更加地平滑
曲面剪裁与曲面材质的相关设置
曲面剪裁
[x,y,z] = sphere(100);
x(50:100,50:100) = NaN; %将x部分设置为NaN,以达到剪裁的效果
y(50:100,50:100) = NaN;
z(50:100,50:100) = NaN;
surf(x,y,z);
axis vis3d;
相关图形如下所示:
反射强度
分为镜面反射和漫反射
[x,y,z] = sphere(100);
h = surf(x,y,z);
axis vis3d;
light %创建灯光对象
for i = 0:0.2:1
h.SpecularStrength = i; %漫反射参数设置
for j = 0:0.2 :1
h.DiffuseStrength = j; %镜面反射参数设置
end
end
注:可以通过设置断点的方式进行渐进演示,本博客暂时不展示
镜面反射指数
[x,y,z] = sphere(100);
h = surf(x,y,z);
axis vis3d;
light;
h.SpecularStrength = 1;
h.DiffuseStrength = 1;
h.SpecularExponent = 2 %数值变化从1-500,光斑大小逐渐减小
相关图形如下所示:
此为参数设置为2的情况,默认参数设置为10
此为参数设置为100的情况
环境光
相关原理:周围物体漫反射的光照射到我们关注的物体上
[x,y,z] = sphere(300); %将我们关注的图形设置的更密一些
h = surf(x,y,z);
axis vis3d;
shading interp %使图形更加光滑,亮度调高(主观感受)
light;
h.AmbientStrength = 0.9 %参数范围设置为0-1
相关图形如下所示:
镜面反射颜色
h.SpecularColorReflectance = 0.1 %参数的大小为0-1
参数大小为1意味着反射的是光源的颜色,小于1表示光源与物体漫反射结合效果
材质
[x,y,z] = sphere(300); %将我们关注的图形设置的更密一些
h = surf(x,y,z);
axis vis3d;
shading interp %使图形更加光滑,亮度调高(主观感受)
light;
material shiny; %镜面反射强于环境光和漫反射
material dull; %主要进行漫反射
material metal; %镜面反射强一些
相关图形如下所示:
material shiny的图形
material dull的图形
material metal的图形
注:可以直接设置五个参数
material([ka,kd,ks,n,sc])
其中ka为环境光,kd为漫反射,ks为镜面反射,n为镜面反射指数,sc为镜面反射颜色
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/39627.html