计算机图形学考试复习

1、计算机图形学的概念,应用

  • 计算机图形学:是研究如何在计算机中绘制图形、以及如何利用计算机进行图形的计算、处理和显示的图像一门学科。
  • 计算机游戏、计算机辅助设计、计算机艺术、虚拟现实、计算机辅助教学

2、黑白,灰度,彩色显示器的帧缓冲容量的计算

帧缓冲存储器是用来存储屏幕上像素的颜色值的,显示颜色的种类与帧缓存中每个单元的位数有关:

  1. 如果屏幕上每个像素的颜色只用一位(Bit)表示,其值非0即1,屏幕只能显示黑白二色图像,称为黑白显示器,此时帧缓冲器只有一个位面。 如果屏幕分辨率为1024×768,则黑白显示器的帧缓冲容量是: 1024×768×1=786,432位;
  2. 如果每个像素的颜色可以用一个字节(Byte)表示,帧缓冲器需要用八个位面,可表示256种灰度,称为灰度显示器。如屏幕分辨率为1024×768,则灰度显示器的帧缓冲的容量是1024×768×8=6,291,456位;
  3. 如果每个像素用R、G、B三原色混合表示,其中每种原色分别用一个字节表示,各对应一把电子枪,每种颜色可有256种亮度,三种颜色的组合是224颜色,共有24个位面。 如屏幕分辨率为1024×768,则彩色显示器的帧缓冲的容量是1024×768×24位.
  4. 计算机里的每个颜色都是有红色、绿色、蓝色三种颜色混合组成的,通常用(R,G,B)来表示,其中R,G , B的取值都为0~255,0表示没有,255表示颜色最浓。例如:红色 = (255,0,0) 绿=(0,255,0) ,蓝用(0,0,255)表示。如白色(255,255,255),黑色(0,0,0);灰度变化是三个值一样如(125,125,125)

3、DDA画线算法原理,计算题,程序

数值微分(DDA)法原理:当0<K<=1时,坐标点的更新规则: yi+1= yi+k,xi+1 = xi+1 ,int (y+0.5)对坐标四舍五入取整。即:当x每递增1,y递增k(即直线斜率);

float x,y,xa,xb,ya,yb;
xa=20,ya=20;  xb=400;yb=100;
float d,k;
CDC *p=GetDC();
k=(yb-ya)/(xb-xa);
y=ya;
for(x=xa;x<=xb;x++){p->SetPixel(x,int(y+0.5),RGB(255,0,0));y=y+k;
}

4、中点画线法原理,计算题,程序

中点画线法原理:画线从(x0, y0)开始,d的初值 d0=-k+0.5;根据若d<0,此时再下一个象素的判别式为di+1=di-k+1;y++;否则 di+1=di-k;y=y;x坐标是一步一步增加的。

float x,y,xa,xb,ya,yb;
xa=20,ya=20;
xb=400;yb=100;
float d,k;
CDC *p=GetDC();
k=(yb-ya)/(xb-xa);
y=ya,x=xa;
d=0.5-k;
for(x=xa;x<=xb;x++)
{               if(d<0){y=y+1;d=d+1-k;}else{y=y;d=d-k;}p->SetPixel(x,y,RGB(255,0,0));
}

实现颜色渐变

float k,x1,x2,y1,y2,x,y,d,r1,r2;
x1=20,y1=20;
x2=400;y2=100;
k=(y2-y1)/(x2-x1);
y=y1;
for(x=x1;x<=x2;x++){r1=(x-x1)/(x2-x1);r2=1-r1;for(int i=0;i<=100;i++)p->SetPixelV(x,int(y+0.5)+i,RGB(r2*255,0,r1*255));y=y+k;}

5、中点画圆法原理,计算题,程序

中点画圆基本原理:1/8画圆法完成算法的设计,计算初始值d=1-R、x=0、y=R。先绘制点(x,y)及其在八分圆中的另外七个对称点;判断d的符号,若d≤0,则先将d更新为d+2x+3,再将(x,y)更新为(x+1,y);否则先将d更新为d+2(x-y)+5,再将(x,y)更新为(x+1,y-1)。反复至x>y

float r,d,x,y;
r=100;
x=0,y=r;
d=1-r;
int tx;
tx=100;
CDC *p=GetDC();
for(x=0;x<=y;x++){p->SetPixel(x+tx,y+tx,RGB(255,0,0));p->SetPixel(-x+tx,y+tx,RGB(0,255,0));p->SetPixel(x+tx,-y+tx,RGB(0,0,255));p->SetPixel(-x+tx,-y+tx,RGB(255,0,255));p->SetPixel(y+tx,x+tx,RGB(255,255,0));p->SetPixel(-y+tx,x+tx,RGB(0,255,255));p->SetPixel(y+tx,-x+tx,RGB(0,0,0));p->SetPixel(-y+tx,-x+tx,RGB(255,255,255));if(d>0){d=d+2*(x-y)+5;y--;}else{d=d+2*x+3;y=y;}}

填充可以通过不断扩大半径画圆得到实心圆

6、走样与反走样算法的原理

  • 走样:直线扫描转换算法在处理非水平、非垂直、非45°的直线段时会出现锯齿,这是因为直线段在光栅扫描显示器上显示的图像是由一系列亮度相同而面积不为零的离散像素点构成的,这种由离散量表示连续量而引起的失真称为走样(抗锯齿)。

  • 反走样:

    硬件技术-增加显示器分辨率
    软件技术:加权区域采样:利用人眼视觉特性,通过加权平均的方法,调节像素的亮度或灰度的等级以产生模糊的边界,从面达到较好的视觉效果。

7、点函数、画线及画圆函数的使用

  • SetPixel(int x,int y, RGB(bRed, bGreen, bBlue)):用指定的颜色在指定的坐标画一个点;

  • MoveTo(int x, int y):设置直线起点,移动当前位置到指定的坐标,返回值为以前位置 的坐标;
    LineTo(int x, int y):设置直线终点从当前位置到指定位置画一条直线,成功返回非0 (Boolean);

  • Ellipse(int x1,int y1,int x2,int y2):绘制椭圆函数(参数x1,y1是限定椭圆范围的外 接矩形左上角点的坐标;参数x2,y2是限定椭圆范围的外 接矩形右下角点的坐标);

8、多边形填充算法原理,多边形的表示方法:点阵法与顶点法

有效边表填充算法(扫描线填充算法)原理与编程实现

  • 扫描线算法:扫描线时屏幕上平行于x坐标轴且相距离为一个像素的一系列直线 (了解)

    1. 求交:计算扫描线与多边形各边的交点;
    2. 排序:把扫描线上所有交点按x递增顺序进行排序;
    3. 配对:将第一个交点与第二个交点,第三个交点与第四个交点等等进行配对,每对交点代表扫描线与多边形的一个相交区间。
    4. 着色:把区间内的像素置为充色。
    float x,y,x1,y1,x2,y2,k,e1,e2,d,x3,y3;x1=100,y1=300;x2=200,y2=200;x3=400,y3=300;CDC *p=GetDC();
    p->MoveTo(x1,y1);p->LineTo(x2,y2);p->LineTo(x3,y3);p->LineTo(x1,y1);float k1,k2;k1=(y2-y1)/(x2-x1);   k2=(y3-y2)/(x3-x2);float xs,xe,xt;xs=x2,xe=x2;for(y=y2;y<y3;y++){for(x=xs;x<xe;x++){p->SetPixel(x,y,RGB(255,0,0));}xs=xs+1/k1;xe=xe+1/k2;Sleep(50);}
    
  • 顶点表示法:多边形的顶点表示法是用多边形的顶点序列来描述。特点是直观、占内存少,易于进行几何变换,但由于没有明确指出哪些像素在多边形内,所以不能直接进行填充,需要对多边形进行扫描转换。

  • 点阵表示法:多边形的点阵表示法是用多边形覆盖的像素点集来描述。特点是便于直接确定实面积图形覆盖的像素点,是多边形填充所需要的表示形式,但是缺少了多边形顶点的几何信息。

9、齐次坐标技术概念与作用

二维变换平移、比例、旋转、反射变换,会计算,特别是相对于原点与相对于任意点的变换的计算;

  • 齐次坐标:用n+1维矢量表示n维矢量;其目的主要是合并矩阵运算中的乘法和加法,用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。
    例:P(x,y)→(wx,wy,w);w=1就是规范化的齐次坐标。二维点P(x,y)的规范化齐次坐标为〔x,y,1〕,三维点P(x,y,z)的规范化齐次坐标为(x,y,z,1)。

  • 二维变换:

    • 平移变换:


      Tx,Ty为平移参数

    • 比例变换:


    Sx,Sy为比例系数

    • 旋转变换(逆时针):

    • 反射变换:

三维变换平移、比例、绕Z轴旋转变换,会计算,PPT上有相关例子

  • 绕z轴旋转变换:

10、三维的投影变换概念与投影变换的分类

  • 投影变换:把三维物体显示在二维的光栅扫描显示器上,要通过投影来降低维数

  • 分类:

    • 平行投影:正投影、斜投影
    • 透视投影:一点透视、二点透视、三点透视
  • Bezier函数P192

  • Betnstein基函数性质:非负性、端点性质、权性、对称性、递推性、可导性;

  • Bezier曲线性质:端点性质、凸包性、几何不变性、对称性、仿射不变性

  • Bezier曲线计算

计算机图形学考试复习相关推荐

  1. 简述计算机图形的图形应用主要有哪些,5计算机图形学考试简答题复习.doc

    5计算机图形学考试简答题复习 计算机图形学考试简答题复习 1.简述计算机动画的概念,它经历了哪几个阶段的发展?(2分) 计算机动画是指采用图形与图像的处理技术,借助于编程或动画制作软件生成一系列的景物 ...

  2. 计算机组成原理考试复习

    计算机组成原理考试复习 第一章(计算机系统概论) 第二章(运算方法和运算器) 第三章(存储系统) 第四章(指令系统) 第五章(中央处理器) 第六章(总线系统) 第七章(外围设备) 第八章(输入/输出系 ...

  3. 江西计算机一级考试教程,江西省2019年下半年计算机一级考试复习教程:计算机基础及MS Office应用上机指导...

    &nbsp&nbsp[导读]:江西省2019年下半年计算机一级考试复习教程:计算机基础及MS Office应用上机指导,更多江西等级考试用书,请访问易考吧江西等级考试栏目 江西省201 ...

  4. 画毛毛虫代码计算机图形学,考试计算机图形学考试计算机图形学.docx

    考试计算机图形学考试计算机图形学 计算机图形学大题第四章1个.第六章2个第七章1个第一章4.比较个人计算机与工作站的图形功能个人计算机仅限于符合二维,又是单任务操作方式工作站可处理二.三维,多任务操作 ...

  5. c语言期末考试复习题,C语言期末考试复习资料 计算机等级考试复习题目

    C语言期末考试复习资料 计算机等级考试复习题目 国二国三资料题目 1 C 语言复习题 @复刻回忆 新浪微博账号:http://doc.xuehai.net/panhe14 个人主页 http://do ...

  6. 计算机一级考试复习资料,全国计算机一级考试复习资料

    全国计算机一级考试复习资料 假设给定一个十进制整数,转换成对应的二进制整数,那么就这两个数字的位数而言,与相比,.的位数大于:的位数大于:的位数大于等于的位数大于等于:的位数大于等于:在计算机内部用来 ...

  7. 江苏省计算机一级主要考什么,江苏省计算机一级考试复习资料 很全面的

    江苏省计算机一级考试复习资料 很全面的 江苏省计算机一级考试复习资料 第一章 信息技术概述 一.要点 1 2 信息处理指为获取有效的信息而施加于初始信息的所有操作.包括:信息的收集.加工.存储.传递. ...

  8. 专业计算机能力考试 技巧,计算机二级考试复习技巧

    全国专业技术人员计算机应用能力考试(以下简称职称计算机考试)是专业技术人才选拔和评价的重要手段.下面是学习啦小编为大家整理的计算机二级考试复习技巧,供大家分享. 计算机二级考试复习技巧:选择题 选择题 ...

  9. 界通职称计算机等级考试,计算机等级考试复习方法

    计算机等级考试复习方法 计算机等级考试复习方法有哪些?怎么才能进行有效的计算机等级考试复习呢?又该如何顺利通过计算机等级考试呢?小编为大家收集整理了关于计算机等级考试复习方法的相关内容,供大家参考阅读 ...

最新文章

  1. python测验2_python接口测试(二)
  2. Oracle10g 64位 在Windows 2008 Server R2 中的安装 解决方案
  3. C++数据结构之顺序结构
  4. Number With The Given Amount Of Divisors(反素数)
  5. jQuery文档就绪
  6. tomcat调优方案
  7. 河北省应用计算机模拟考试,河北省职称计算机考试模拟系统
  8. python播放音乐同步歌词_Python 歌词解析器 音乐与歌词同步播放
  9. 一文带你详尽剖析Miracast投屏开发和调试
  10. java 日语文档翻译_日语文档怎么翻译?一分钟教会你日语翻译
  11. java连接打印机_JAVA连接打印机详解(有驱动,无驱动两种方式)
  12. win10 win11 创建共享文件夹 mac 苹果电脑共享 无internet 安全,你的电脑只能访问本地网络中的其它设备 共享文件夹会导致本地电脑无法上网,
  13. Predicting microbial interactions through computational approaches
  14. php条件 效率高,PHP高效率写法
  15. 【如何20秒内进入XP系统】
  16. 安卓游戏平台怎样对接游戏?
  17. 问题解决:Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist:...
  18. Excel 2010 VBA 入门 093 数据处理之建立数组
  19. 宝塔面板网站一打开cpu百分百_解决宝塔面板CPU占满100%,负载100%网站缓慢等问题(完全篇)...
  20. 区块链的未来:公链VS联盟链

热门文章

  1. 2M误码仪 TFN T1000M E1/数据传输分析仪
  2. 冥王峡谷装linux教程,冥王峡谷黑苹果问题总结
  3. 天津大学与东南大学计算机专业,东南大学和天津大学,哪个更好一些?
  4. Knot DNS架构详解3-查询动态定义
  5. 基于DIPUM工具箱对图书数字图像进行处理(Matlab代码实现)
  6. 【附源码】计算机毕业设计SSM线上拍卖系统设计
  7. 什么是服务器渲染(SSR)、客户端渲染
  8. 欧几里德算法及其扩展
  9. Python办公自动化教程-1.3节: 项目实战1-福报程序员的解雇清单
  10. 基于BS构架家政服务系统的设计与实现(asp.net)