欢迎来到天天文库
浏览记录
ID:56738021
大小:70.00 KB
页数:4页
时间:2020-07-06
《王汝传计算机图形学教程第6章课后习题参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第六章习题参考答案1.请简述朗伯(Lambert)定律。图6.1漫反射设物体表面在P点法线为N,从P点指向光源的向量为L,两者夹角为θ,则点P处漫反射光的强度为:Id=Ipkdcosθ式中:Id——表面漫反射光的亮度;Ip——入射光的光亮度;Kd——漫射系数(决定于表面材料及入射光的波长)0≤Kd≤l;θ——入射光线与法线间的夹角,0≤θ≤π/2。并且,当物体表面垂直于入射光方向时(N、L方向一致)看上去最亮,而θ越来越大,接近90°时,则看上去越来越暗。2.试写出实现哥罗德(Gouraud)明暗处理的算法伪代码。deltaI=(i2-i1)/(x2-x1);for(xx=x1;xx2、x++){intoffset=row*CScene.screenW+xx;if(z3、码。for(xx=x1;xx4、物体实施消隐算法,判别出在光照模型下的物体的“隐藏面”,并在数据文件中加以标识;(2)然后按实际的视点位置和观察方向,对物体实施消隐算法,生成真正消隐后的立体图形;(3)检索数据文件,核查消隐后生成的图形中,是否包含有在光照模型下的“隐藏面”。如有,则加以阴影符号标识这些面。6.试写出光线跟踪算法的C语言描述。/*TraceRay的三个参数分别是起点start,跟踪方向direction和已跟踪的深度depth,返回的是光线direction的颜色。*/ColorTraceRay(start,direction,depth)Vectorstart,direction;Intdepth;{if(5、depth>MAX_DEPTH)color=black;else{光线与物体求交,找出离start最近的交点;if(无交点)color=背景色;else{local_color=用局部光照模型计算出的交点处的光强;计算反射方向;Reflected_color=TraceRay(交点,反射方向,depth+1);计算折射方向;Transmitted_color=TraceRay(交点,折射方向,depth+1);Color=local_color+Reflected_color*Kr+Transmitted_color*Kt;}}returncolor;}7.请简述计算机图形学所涉及到的纹理概念6、。在计算机图形学中物体的表面细节称为纹理,包括颜色纹理与几何纹理。颜色纹理主要是指光滑表面上附加花纹和图案,如墙面上的拼花图案、木质家具表面、塑料地板等。几何纹理主要指景物表面在微观上呈现出的起伏不平,例如混凝土墙面、柑橘表皮等。颜色纹理可用纹理映射(TextureMapping)来描述,几何纹理可用一个扰动函数来描述。8.写出从RGB颜色值到HSV值的转换算法。RGB转化到HSV的算法:max=max(R,G,B);min=min(R,G,B);if(R=max)H=(G-B)/(max-min);if(G=max)H=2+(B-R)/(max-min);if(B=max)H=4+(R-G)7、/(max-min);H=H*60;if(H<0)H=H+360;V=max(R,G,B);S=(max-min)/max;9.写出从HSV颜色值到RGB值的转换算法。HSV转化到RGB的算法if(s=0)R=G=B=v;elseh/=60;i=int(h);f=h–i;a=v*(1-s);b=v*(1-s*f);c=v*(1-s*(1-f));switch(i){case0:R=v;G=c;B=
2、x++){intoffset=row*CScene.screenW+xx;if(z3、码。for(xx=x1;xx4、物体实施消隐算法,判别出在光照模型下的物体的“隐藏面”,并在数据文件中加以标识;(2)然后按实际的视点位置和观察方向,对物体实施消隐算法,生成真正消隐后的立体图形;(3)检索数据文件,核查消隐后生成的图形中,是否包含有在光照模型下的“隐藏面”。如有,则加以阴影符号标识这些面。6.试写出光线跟踪算法的C语言描述。/*TraceRay的三个参数分别是起点start,跟踪方向direction和已跟踪的深度depth,返回的是光线direction的颜色。*/ColorTraceRay(start,direction,depth)Vectorstart,direction;Intdepth;{if(5、depth>MAX_DEPTH)color=black;else{光线与物体求交,找出离start最近的交点;if(无交点)color=背景色;else{local_color=用局部光照模型计算出的交点处的光强;计算反射方向;Reflected_color=TraceRay(交点,反射方向,depth+1);计算折射方向;Transmitted_color=TraceRay(交点,折射方向,depth+1);Color=local_color+Reflected_color*Kr+Transmitted_color*Kt;}}returncolor;}7.请简述计算机图形学所涉及到的纹理概念6、。在计算机图形学中物体的表面细节称为纹理,包括颜色纹理与几何纹理。颜色纹理主要是指光滑表面上附加花纹和图案,如墙面上的拼花图案、木质家具表面、塑料地板等。几何纹理主要指景物表面在微观上呈现出的起伏不平,例如混凝土墙面、柑橘表皮等。颜色纹理可用纹理映射(TextureMapping)来描述,几何纹理可用一个扰动函数来描述。8.写出从RGB颜色值到HSV值的转换算法。RGB转化到HSV的算法:max=max(R,G,B);min=min(R,G,B);if(R=max)H=(G-B)/(max-min);if(G=max)H=2+(B-R)/(max-min);if(B=max)H=4+(R-G)7、/(max-min);H=H*60;if(H<0)H=H+360;V=max(R,G,B);S=(max-min)/max;9.写出从HSV颜色值到RGB值的转换算法。HSV转化到RGB的算法if(s=0)R=G=B=v;elseh/=60;i=int(h);f=h–i;a=v*(1-s);b=v*(1-s*f);c=v*(1-s*(1-f));switch(i){case0:R=v;G=c;B=
3、码。for(xx=x1;xx4、物体实施消隐算法,判别出在光照模型下的物体的“隐藏面”,并在数据文件中加以标识;(2)然后按实际的视点位置和观察方向,对物体实施消隐算法,生成真正消隐后的立体图形;(3)检索数据文件,核查消隐后生成的图形中,是否包含有在光照模型下的“隐藏面”。如有,则加以阴影符号标识这些面。6.试写出光线跟踪算法的C语言描述。/*TraceRay的三个参数分别是起点start,跟踪方向direction和已跟踪的深度depth,返回的是光线direction的颜色。*/ColorTraceRay(start,direction,depth)Vectorstart,direction;Intdepth;{if(5、depth>MAX_DEPTH)color=black;else{光线与物体求交,找出离start最近的交点;if(无交点)color=背景色;else{local_color=用局部光照模型计算出的交点处的光强;计算反射方向;Reflected_color=TraceRay(交点,反射方向,depth+1);计算折射方向;Transmitted_color=TraceRay(交点,折射方向,depth+1);Color=local_color+Reflected_color*Kr+Transmitted_color*Kt;}}returncolor;}7.请简述计算机图形学所涉及到的纹理概念6、。在计算机图形学中物体的表面细节称为纹理,包括颜色纹理与几何纹理。颜色纹理主要是指光滑表面上附加花纹和图案,如墙面上的拼花图案、木质家具表面、塑料地板等。几何纹理主要指景物表面在微观上呈现出的起伏不平,例如混凝土墙面、柑橘表皮等。颜色纹理可用纹理映射(TextureMapping)来描述,几何纹理可用一个扰动函数来描述。8.写出从RGB颜色值到HSV值的转换算法。RGB转化到HSV的算法:max=max(R,G,B);min=min(R,G,B);if(R=max)H=(G-B)/(max-min);if(G=max)H=2+(B-R)/(max-min);if(B=max)H=4+(R-G)7、/(max-min);H=H*60;if(H<0)H=H+360;V=max(R,G,B);S=(max-min)/max;9.写出从HSV颜色值到RGB值的转换算法。HSV转化到RGB的算法if(s=0)R=G=B=v;elseh/=60;i=int(h);f=h–i;a=v*(1-s);b=v*(1-s*f);c=v*(1-s*(1-f));switch(i){case0:R=v;G=c;B=
4、物体实施消隐算法,判别出在光照模型下的物体的“隐藏面”,并在数据文件中加以标识;(2)然后按实际的视点位置和观察方向,对物体实施消隐算法,生成真正消隐后的立体图形;(3)检索数据文件,核查消隐后生成的图形中,是否包含有在光照模型下的“隐藏面”。如有,则加以阴影符号标识这些面。6.试写出光线跟踪算法的C语言描述。/*TraceRay的三个参数分别是起点start,跟踪方向direction和已跟踪的深度depth,返回的是光线direction的颜色。*/ColorTraceRay(start,direction,depth)Vectorstart,direction;Intdepth;{if(
5、depth>MAX_DEPTH)color=black;else{光线与物体求交,找出离start最近的交点;if(无交点)color=背景色;else{local_color=用局部光照模型计算出的交点处的光强;计算反射方向;Reflected_color=TraceRay(交点,反射方向,depth+1);计算折射方向;Transmitted_color=TraceRay(交点,折射方向,depth+1);Color=local_color+Reflected_color*Kr+Transmitted_color*Kt;}}returncolor;}7.请简述计算机图形学所涉及到的纹理概念
6、。在计算机图形学中物体的表面细节称为纹理,包括颜色纹理与几何纹理。颜色纹理主要是指光滑表面上附加花纹和图案,如墙面上的拼花图案、木质家具表面、塑料地板等。几何纹理主要指景物表面在微观上呈现出的起伏不平,例如混凝土墙面、柑橘表皮等。颜色纹理可用纹理映射(TextureMapping)来描述,几何纹理可用一个扰动函数来描述。8.写出从RGB颜色值到HSV值的转换算法。RGB转化到HSV的算法:max=max(R,G,B);min=min(R,G,B);if(R=max)H=(G-B)/(max-min);if(G=max)H=2+(B-R)/(max-min);if(B=max)H=4+(R-G)
7、/(max-min);H=H*60;if(H<0)H=H+360;V=max(R,G,B);S=(max-min)/max;9.写出从HSV颜色值到RGB值的转换算法。HSV转化到RGB的算法if(s=0)R=G=B=v;elseh/=60;i=int(h);f=h–i;a=v*(1-s);b=v*(1-s*f);c=v*(1-s*(1-f));switch(i){case0:R=v;G=c;B=
此文档下载收益归作者所有