计算机图形学大作业
更新时间:2023-09-20 04:41:01 阅读量: 医药卫生 文档下载
延安大学
计算机图形学期末作业
学号: 1060414014016 姓名:秦红志 班级:信息14 学期:2017.3-2017-7
1. 简述彩色光栅扫描显示器的工作原理,并说明显示器能显示的彩色颜色个数与显存大小之间的关系。 答:
(1)工作原理:光栅扫描显示器是画点设备,可看作是一个点阵单元发生器,并可控制每个点阵单元的亮度。其基本结构由三部分组成:显示器、图形控制器和缓存寄存器。
光栅扫描将CRT屏幕分成由像素构成的光栅网格,其中的每个像素点都具有灰度和颜色,所有像素的灰度和颜色信息保存在一个专门的内存区域中,简称帧缓存。CRT中的水平和垂直偏转线圈分别产生水平和垂直磁场,电子束在不同方向磁场力作用下从左向右,从上向下扫描荧光屏,产生一幅幅光栅,并由显示内容控制所扫描的像素点是否发亮,从而形成具有多种彩色及多种明暗度的图像。
(2)关系:显示器颜色的数目和一帧画面可同时显示的颜色数,与荧光屏的质量有关,并受显示存储器容量的影响。
设分辨率为m×n、颜色数为K,显存大小为V:
V?m?n?log2Kbit
2. 使用中点画圆法绘制一个椭圆,椭圆的相关参数自己决定
x2y2答:(1)核心思想:由椭圆的方程:2?2?1可得其隐函数形式:
abF(x,y)?b2x2?a2y2?a2b2
由椭圆的4对称性,以一象限椭圆弧为例。
圆弧分上下两部分,以弧上斜率为-1的点(法向两个分量相等的点分界点)作为分界点。由几何知识可推导出分界点所在法向量分量满足关系式2b2x=2a2y。
在分界点的上半部法向量的y分量更大;在下部分,法向量的x分量更大。 因而可得出,在上部分(xp,yp)的中点,有x,y法向量分量关系如下:
b2(xp+1)
从而该关系式可作为算法中判断当前点处于上下部分的依据。
与圆中点算法类似:在确定一个像素点后,接着代入两个候选像素点的中点坐标值与椭圆隐函数中,由隐函数的正负,来最终确定选取的像素点。
①设椭圆上一确定点(0,b),即椭圆与y轴交点。其下一候选元素点中点为(1,b-0.5)。将之代入椭圆隐函数内可得
d1=b2+a2(0.25-b)
该式作为算法中的初始判断条件,确定下一点的坐标值。
②当d1<0,表明中点在椭圆内,则取确定点正右侧像素点即(1,b); 则以该点为初始点,重复①的过程,得到
d2=d1+b2 (2xp+3)
当d1≥0,表明中点在椭圆外,则取确定点右下方像素点即(1,b-1); 则以该点为初始点,重复①的过程,得到
d2=d1+b2 (2xp+3)+a2 (-2yp+2)
不断重复上述过程,每次x坐标增加1像素,得到相应y的取值。即可画出椭圆的上半部分曲线。当x,y的取值不满足判别式(*)时,此时y的增量小于x的增量,故迭代过程变为y每次变化1像素。
同理。由上述循环结束可得到分界点的坐标,由分解点坐标开始。代入下一像素点的中点坐标于椭圆隐函数中,进行判断从而确定x的取值。
d1<0时,d2= d1+ b2 (2xp+2)+a2 (-2yp+3) d1≥0时,d2= d1+ a2 (-2yp+3)
当y=0时,算法结束。则最终确定了一象限的一段椭圆圆弧。再由坐标关系变换,补充算法描点,即可得到一个有中点圆算法画出的椭圆。
(2)程序运行截图:
(3)算法源代码:
inta,b; a=200,b=100; int x0,y0; x0=300,y0=200; intx,y; x=0,y=b;
double d=b*b+a*a*(0.25-b);
for(x=0;x<=a;x++) {
if(2*b*b*(x+1)<2*a*a*(y-0.5)) {
pDC->SetPixel(x+x0,y+y0,RGB(255,0,0)); pDC->SetPixel(x+x0,-y+y0,RGB(0,255,0)); pDC->SetPixel(-x+x0,y+y0,RGB(0,0,255)); pDC->SetPixel(-x+x0,-y+y0,RGB(255,255,0)); if(d<0) {
d=d+b*b*(2*x+3); } else {
d=d+b*b*(2*x+3)+a*a*(-2*y+2); y--; } } else {
break; } }
for(;y>=0;y--) {
pDC->SetPixel(x+x0,y+y0,RGB(0,0,255)); pDC->SetPixel(x+x0,-y+y0,RGB(0,0,255)); pDC->SetPixel(-x+x0,y+y0,RGB(0,0,255)); pDC->SetPixel(-x+x0,-y+y0,RGB(255,0,255)); d=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b; if(d<0) {
d=d+b*b*(2*x+2)+a*a*(-2*y+3); x++; }
else {
d=d+a*a*(-2*y+3); }
}
3. 多边形填充的有效边表法,多边形的相关参数自己决定。 答:
(1)核心思想:
①先计算一些特殊的交点:如果某个边的最低点是ymin,那么这个边与扫描线y=ymin一定相交,且x坐标就是顶点的坐标x。
②然后根据边的连贯性,按从下到上的顺序,使用增量法计算各条扫描线与边的交点序列。
③根据交点的配对原则,判断位于多边形内部的区段。 ④对位于多边形内的直线段进行着色。 (2)程序运行截图:
(3)算法源代码: 添加头文件、命名空间
structEdgeNode{
double x; double dx; intymax; };
#include #include
构造函数
bool operator <(EdgeNode a, EdgeNode b) {
if(a.x return true; else
正在阅读:
计算机图形学大作业09-20
16秋东财《可行性研究》在线作业二03-27
旋膜式除氧器说明书01-20
2013年修订版第一章马克思主义中国化两大理论成果08-31
临床实验(GCP)八十问10-19
当前就业方式,就业观念变化调查研究01-11
M4 2铸造工艺基础理论08-20
规划修改论证报告05-17
《清稗类钞》服饰类04-12
个体工商户入党申请书07-23
- 840D中支持R参数编程
- 小练笔大收获-模板
- 列夫·托尔斯泰 - (1)
- 对比功能分析与翻译
- 00107现代管理学考前重点串讲
- 现代管理学案例分析题
- 历史趣谈武大郎潘金莲到底什么关系 一起欺负西门庆
- 《进出口报关实务》电子教案19出口监管仓库、保税物流中心 - 图文
- 22 原则十八
- 于冬玲献方:肺癌偏方
- 保障房新路径二
- 关于加快昆明倘甸扶贫开发的对策研究2
- 汕头市城镇国有土地基准地价表 - 图文
- 2018年中国零售行业市场分析报告-行业深度分析与发展前景研究(目录)
- 传递窗技术要求
- 必修5课内文言文复习
- 必修五--不等式的知识点归纳和习题训练
- 2011年华南农业大学数据结构答案(A)
- C语言程序设计实践实验题目
- 造价练习题(含答案) - 图文