吉林大学计算机图形学2008级试卷B答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1分
2分
则斜交投影的变换矩阵为:
2分
四、编写算法
1写出多边形消隐深度排序算法(10分)
(1)把所有的多边形按顶点最大z坐标值进行排序。2分
(2)解决当多边形z范围发生交迭时出现的不明确问题。2分
(3)按最大z坐标值逐渐减小的次序,对每个多边形进行扫描转换。2分
不明确问题按5种方法处理:
(1)多边形的x坐标范围不相交迭,所以多边形不相交迭
最小三角剖分:若一个三角剖分中选取的对角线的总长度最小,则这样的剖分称为是最小三角剖分。3分
二、简答每题5分共25分
1光栅扫描显示结构5分
2投影的种类和形式:平行投影与透视投影1分
平行投影分为正交与斜交投影2分
透视投影分为一点、两点和三点投影2分
3形体表示需注意的问题:
第一是这种方法的覆盖域,覆盖域大,则所设计出图形系统的造型能力就强。2分
{sortangle(S,n,Q);//依据边界点O将S中点按倾角排成序放置在Q中Q中起始点为O
v=first(Q);//取出Q中起始点
while (next(v,Q)!=first(Q)))
//若Q中v的下一个点不是起始点
if (left(v,next(v,Q),next(next(v,Q),Q))
//若连续三点左转
v=next(v,Q);//v前进至下一个点
else {delete(next(v),Q); //删除v的下一个点
v=pred(v,Q); //v退回至前一个点
}
}
3试用伪代码写出分裂法绘制Bezier算法(10分)
void new_split_Bezier(Point P[])
{
1、
解:A
2分
3分
B设三次均匀B样条曲线的四个控制顶点为 ,则有
2分
由A及B样条基函数与混合基函数间的转换矩阵,可得:
3分
2、
解:根据几何作图法,可得每一次外部循环的坐标值:
4分
P(1/3)= 1分
3、
解:设通过此四点的平面方程为:
2分
可得 , 2分
平面方程为 1分
4、解:A
2分
B根据题意,可得投影方向为
new_split_Bezier(Q);2分
new_split_Bezier(R);2分
}
}
Point R[4],Q[4];
int i,j;
const double epsilon=0.01;
if(maxdistance(P)<epsilon)
/*maxdistance(P)为求max(d(P1,P0P3),d(P2,P0P3))的函数*/
{MoveTo(P[0].x,P[0].y);
LineTo(P[3].x,P[3].y);1分
}
else
Hale Waihona Puke Baidu{for(i=0;i<=3;i++)
R[i]=P[i];1分
for(i=0;i<=2;i++)
{Q[i]=R[0];
for(j=0;j<=2-i;j++)
{R[j].x=(R[j].x+R[j+1].x)/2;
R[j].y=(R[j].y+R[j+1].y)/2;3分
}
}
Q[3]=R[0];1分
5光照模型主要考虑的问题:照明特性、表面特性和观察角度。2分
照明特性是指可见表面被照明的情况,主要有光源的数目和性质,环境光及阴影效应等1分。表面特性主要是指表面对入射光线的反射、折射或透明的不同情形,还有表面的纹理及颜色等1分。观察角度是指观察景物时观察者相对可见表面所在的位置。1分
三.计算30分
(2)多边形的y坐标范围不相交迭,所以多边形不相交迭。
(3)P整个在Q远离观察点的一侧。
(4)Q整个在P的靠近观察点的一侧。
(5)多边形在z=0平面上的投影本身不相交迭。4分
2写出Graham凸壳求解算法(10分)
void Graham(POINT S[],int n)
/* S为点集数组,n为点的个数*/
第二是该表示法蕴含信息的完整性,即由这种表示法所决定的数据结构是
否唯一地描述了一个实在的形体。 2分
此外还应该考虑表示方法是否简洁与便利。 1分
4消除隐藏面的算法分为两个大类,即图象空间算法和客体空间算法。1分
图象空间算法对显示设备上每一个可分辨象素进行判断,看组成物体的多个多边形表面中哪一个在该象素上可见2分;客体空间算法对每一个组成形体的表面,都要与其它各表面进行比较。2分
2008级计算机图形学试卷B参考答案
一、概念每题3分共15分
分辩率:显示屏上象素的总数称为分辨率,常用每行的象素数与行数的乘积表示。3分
计算机图形学:计算机图形学是指用计算机产生对象图形的输出的技术。3分
视见区:视见区是屏幕域中的一个子区域,通常为矩形区域。3分
凸壳:包含一个平面点集的最小凸区域3分
2分
则斜交投影的变换矩阵为:
2分
四、编写算法
1写出多边形消隐深度排序算法(10分)
(1)把所有的多边形按顶点最大z坐标值进行排序。2分
(2)解决当多边形z范围发生交迭时出现的不明确问题。2分
(3)按最大z坐标值逐渐减小的次序,对每个多边形进行扫描转换。2分
不明确问题按5种方法处理:
(1)多边形的x坐标范围不相交迭,所以多边形不相交迭
最小三角剖分:若一个三角剖分中选取的对角线的总长度最小,则这样的剖分称为是最小三角剖分。3分
二、简答每题5分共25分
1光栅扫描显示结构5分
2投影的种类和形式:平行投影与透视投影1分
平行投影分为正交与斜交投影2分
透视投影分为一点、两点和三点投影2分
3形体表示需注意的问题:
第一是这种方法的覆盖域,覆盖域大,则所设计出图形系统的造型能力就强。2分
{sortangle(S,n,Q);//依据边界点O将S中点按倾角排成序放置在Q中Q中起始点为O
v=first(Q);//取出Q中起始点
while (next(v,Q)!=first(Q)))
//若Q中v的下一个点不是起始点
if (left(v,next(v,Q),next(next(v,Q),Q))
//若连续三点左转
v=next(v,Q);//v前进至下一个点
else {delete(next(v),Q); //删除v的下一个点
v=pred(v,Q); //v退回至前一个点
}
}
3试用伪代码写出分裂法绘制Bezier算法(10分)
void new_split_Bezier(Point P[])
{
1、
解:A
2分
3分
B设三次均匀B样条曲线的四个控制顶点为 ,则有
2分
由A及B样条基函数与混合基函数间的转换矩阵,可得:
3分
2、
解:根据几何作图法,可得每一次外部循环的坐标值:
4分
P(1/3)= 1分
3、
解:设通过此四点的平面方程为:
2分
可得 , 2分
平面方程为 1分
4、解:A
2分
B根据题意,可得投影方向为
new_split_Bezier(Q);2分
new_split_Bezier(R);2分
}
}
Point R[4],Q[4];
int i,j;
const double epsilon=0.01;
if(maxdistance(P)<epsilon)
/*maxdistance(P)为求max(d(P1,P0P3),d(P2,P0P3))的函数*/
{MoveTo(P[0].x,P[0].y);
LineTo(P[3].x,P[3].y);1分
}
else
Hale Waihona Puke Baidu{for(i=0;i<=3;i++)
R[i]=P[i];1分
for(i=0;i<=2;i++)
{Q[i]=R[0];
for(j=0;j<=2-i;j++)
{R[j].x=(R[j].x+R[j+1].x)/2;
R[j].y=(R[j].y+R[j+1].y)/2;3分
}
}
Q[3]=R[0];1分
5光照模型主要考虑的问题:照明特性、表面特性和观察角度。2分
照明特性是指可见表面被照明的情况,主要有光源的数目和性质,环境光及阴影效应等1分。表面特性主要是指表面对入射光线的反射、折射或透明的不同情形,还有表面的纹理及颜色等1分。观察角度是指观察景物时观察者相对可见表面所在的位置。1分
三.计算30分
(2)多边形的y坐标范围不相交迭,所以多边形不相交迭。
(3)P整个在Q远离观察点的一侧。
(4)Q整个在P的靠近观察点的一侧。
(5)多边形在z=0平面上的投影本身不相交迭。4分
2写出Graham凸壳求解算法(10分)
void Graham(POINT S[],int n)
/* S为点集数组,n为点的个数*/
第二是该表示法蕴含信息的完整性,即由这种表示法所决定的数据结构是
否唯一地描述了一个实在的形体。 2分
此外还应该考虑表示方法是否简洁与便利。 1分
4消除隐藏面的算法分为两个大类,即图象空间算法和客体空间算法。1分
图象空间算法对显示设备上每一个可分辨象素进行判断,看组成物体的多个多边形表面中哪一个在该象素上可见2分;客体空间算法对每一个组成形体的表面,都要与其它各表面进行比较。2分
2008级计算机图形学试卷B参考答案
一、概念每题3分共15分
分辩率:显示屏上象素的总数称为分辨率,常用每行的象素数与行数的乘积表示。3分
计算机图形学:计算机图形学是指用计算机产生对象图形的输出的技术。3分
视见区:视见区是屏幕域中的一个子区域,通常为矩形区域。3分
凸壳:包含一个平面点集的最小凸区域3分