计算机图形学
- 格式:doc
- 大小:1.54 MB
- 文档页数:33
计算机图形学基础知识重点整理一、图形学的概念计算机图形学简单来说,就是让计算机去生成、处理和显示图形的学科。
它就像是一个魔法世界,把一堆枯燥的数字和代码变成我们眼睛能看到的超酷图形。
你看那些超炫的3D游戏里的场景、超逼真的动画电影,那可都是计算机图形学的功劳。
这个学科就是想办法让计算机理解图形,然后把图形按照我们想要的样子呈现出来。
二、图形的表示1. 点点是图形里最基本的元素啦。
就像盖房子的小砖头一样,很多个点组合起来就能变成各种图形。
一个点在计算机里就是用坐标来表示的,就像我们在地图上找一个地方,用经度和纬度一样,计算机里的点就是用x和y坐标(如果是3D图形的话,还有z坐标呢)来确定它在空间里的位置。
2. 线有了点,就能连成线啦。
线有各种各样的类型,直线是最简单的,它的方程可以用我们学过的数学知识来表示。
比如说斜截式y = kx + b,这里的k就是斜率,b就是截距。
还有曲线呢,像抛物线、双曲线之类的,在图形学里也经常用到。
这些曲线的表示方法可能会复杂一点,但也很有趣哦。
3. 面好多线围起来就形成了面啦。
面在3D图形里特别重要,因为很多3D物体都是由好多面组成的。
比如说一个正方体,就有六个面。
面的表示方法也有不少,像多边形表示法,就是用好多条边来围成一个面。
三、图形变换1. 平移平移就是把图形在空间里挪个位置。
这就像我们把桌子从房间的这头搬到那头一样。
在计算机里,平移一个图形就是把它每个点的坐标都加上或者减去一个固定的值。
比如说把一个点(x,y)向右平移3个单位,向上平移2个单位,那这个点就变成(x + 3,y + 2)啦。
2. 旋转旋转就更有意思啦。
想象一下把一个图形像陀螺一样转起来。
在计算机里旋转图形,需要根据旋转的角度和旋转中心来计算每个点新的坐标。
这就得用到一些三角函数的知识啦,不过也不难理解。
比如说以原点为中心,把一个点(x,y)逆时针旋转θ度,新的坐标就可以通过一些公式计算出来。
3. 缩放缩放就是把图形变大或者变小。
计算机图形学1. 简介计算机图形学是研究如何使用计算机来生成、处理和显示图像的一门学科。
它主要涉及图像的几何和物理特性的建模,以及图像的渲染和表示。
计算机图形学在各个领域中都有广泛的应用,包括游戏开发、电影制作、虚拟现实、医学成像等。
2. 图形学的基本概念图形学的基本概念包括点、线、多边形和曲线等基本元素,以及相应的数学方法和算法。
这些方法和算法用于描述和处理图像的几何特性,包括位置、方向、大小和形状等。
2.1 点和线在计算机图形学中,点是图像中最基本的元素,可以通过坐标系来表示。
线是由两个点之间的连接所形成的,可以通过直线方程或参数方程来描述。
2.2 多边形和曲线多边形是由多个线段连接而成的封闭图形,可以通过顶点的集合来描述。
曲线是由多个点按照一定规律连接而成的,可以通过控制点和插值方法来表示。
3. 图形的几何建模图形的几何建模是计算机图形学中的一个重要研究方向,它涉及如何使用数学模型来表示和描述物体的几何特性。
常用的几何建模方法包括点、线、面、体和曲面等。
3.1 点云和网格模型点云模型是一组离散的点的集合,它可以用于表示不规则形状的物体。
网格模型是一组由三角形或四边形面片组成的表面模型,它可以用于表示规则形状的物体。
3.2 曲面建模曲面建模是基于数学曲面的建模方法,它将物体表面抽象为由曲线和曲面组成的,可以通过控制点和插值方法来表示。
常用的曲面建模方法包括贝塞尔曲线和贝塞尔曲面等。
4. 图形的渲染和表示图形的渲染和表示是计算机图形学中的另一个重要研究方向,它涉及如何将图像的几何信息转化为可视的图像。
常用的渲染和表示方法包括光栅化、光线追踪和纹理映射等。
4.1 光栅化光栅化是将几何对象转化为像素的过程,它涉及将线段或多边形映射到屏幕上的像素点,并进行相应的着色和填充。
常用的光栅化算法包括Bresenham算法和扫描线算法等。
4.2 光线追踪光线追踪是一种以物理光线为基础的渲染方法,它从观察者的视角出发,沿着光线的路径跟踪物体的相交和反射,最终得到图像。
计算机图形学的基本原理和应用计算机图形学是一门研究计算机如何呈现和处理图像的学科,它涉及到图像的生成、显示和修改等方面。
在现代社会中,计算机图形学的应用越来越广泛,涵盖了多个领域,如动画制作、游戏开发、虚拟现实等。
本文将详细介绍计算机图形学的基本原理和应用,并列举一些相关的步骤。
一、计算机图形学的基本原理1. 坐标系统:计算机图形学使用二维或三维的坐标系统来表示图像中的点或物体。
二维坐标系统由x轴和y轴组成,三维坐标系统还包括z轴。
2. 图形学基本元素:点、线、面是计算机图形学中最基本的元素,它们可以用来构建更复杂的图像。
3. 几何变换:几何变换是计算机图形学中常用的技术,它可以改变图像的位置、尺寸、旋转角度等特征,常见的几何变换包括平移、缩放、旋转等。
4. 颜色和着色:计算机图形学中不仅涉及到图像的形状,还包括颜色的处理。
颜色可以通过RGB色彩模式来表示,并且可以应用不同的着色技术,如灰度着色、阴影着色等。
5. 投影和照明:投影和照明是计算机图形学中用于实现逼真效果的重要技术。
其中,投影可以将三维物体映射到二维图像中,而照明则决定了光照效果的表现。
二、计算机图形学的应用1. 动画制作:计算机图形学在动画制作中有着广泛的应用,可以实现逼真的角色造型、精细的动作表现和丰富的背景设计等。
通过计算机生成的动画,可以呈现出无法通过传统手绘的方式实现的特效和场景。
2. 游戏开发:计算机图形学是游戏开发的核心领域之一,它可以实现游戏中各种角色、场景和特效的渲染。
利用计算机图形学的技术,游戏开发人员可以创建出逼真的游戏世界,提供更好的视觉体验。
3. 虚拟现实:虚拟现实是一种通过计算机生成的仿真环境,它可以让用户身临其境地感受到虚拟世界。
计算机图形学在虚拟现实中扮演着重要角色,它可以实现逼真的场景呈现、真实的物体交互等效果,使用户得到更加身临其境的体验。
4. 医学影像:计算机图形学在医学影像处理中起到了关键作用。
计算机图形学基础知识重点整理
嘿,小伙伴们!你们知道吗?在我们生活的世界里,无论是游戏、电影还是软件界面,背后都离不开一个神奇的技术——计算机图形学。
那接下来,就让我来给你们讲讲这计算机图形学里的那些基础知识吧!
想象一下,咱们每天用电脑画画、玩游戏,那些绚丽的画面是怎么来的呢?其实啊,这背后可是有大学问的。
先说说最基础的——像素吧!
像素,就像咱们画画时用的小格子一样,每个小格子都有一个颜色和亮度。
你知道吗?在电脑上,一张图片就是由成千上万个这样的像素组成的!咱们平时用手机拍照片,其实也就是在捕捉这些像素的信息呢。
再来谈谈图形的显示原理。
电脑里的图形,其实是数字信号转变成我们可以看到的样子。
举个例子吧,当你在游戏里建了一座房子,你的电脑其实是先算出一大堆数字,然后再把数字转换成我们能看到的图像哦!
咱们再来聊聊三维图形吧!是不是觉得电影里的3D效果特别震撼?那可是因为计算机能算出很多个不同角度的图像,然后快速切换,咱们的眼睛就感觉是立体的啦!这就像咱们小时候搭积木,从不同的角度看,形状都会变呢。
当然啦,要想玩转计算机图形学,光知道这些还不够哦。
还有像算法、颜色理论、图形处理等等的知识等着我们去学习呢。
不过别担心,只要咱们有兴趣,慢慢学,总有一天能成为图形学的小达人!
怎么样?听完我的介绍,是不是对计算机图形学产生了浓厚的兴趣呢?那就让我们一起努力,去探索这个充满无限可能的领域吧!期待我们都能在计算机图形学的世界里大放异彩!
你看,现在咱们对计算机图形学是不是有了个大概的了解呢?其实啊,这只是一个开始哦!还有很多有趣的知识等着我们去发掘呢。
所以啊,大家一定要保持好奇心和热情哦!加油!。
计算机图形学与计算机视觉当我们谈论计算机图形学与计算机视觉时,我们实际上是在讨论两种不同的技术领域,它们各自具有独特的特点和应用。
计算机图形学主要关注如何和处理图像,而计算机视觉则关注如何让计算机理解和解释图像。
计算机图形学是一门研究计算机和处理图像的学科。
它包括了很多不同的技术,如渲染、动画、图像合成等。
通过计算机图形学,我们可以创造出各种逼真的三维场景和角色,并让它们在屏幕上呈现出令人惊叹的效果。
计算机图形学在很多领域都有广泛的应用,如游戏开发、电影制作、虚拟现实等。
与计算机图形学不同,计算机视觉的主要目标是让计算机能够像人类一样理解和解释图像。
计算机视觉涉及到很多不同的技术,如图像识别、图像分割、目标跟踪等。
通过计算机视觉,计算机可以识别出图像中的物体、人脸、场景等信息,并进行进一步的处理和分析。
计算机视觉在很多领域也有广泛的应用,如安防监控、自动驾驶、医疗诊断等。
虽然计算机图形学和计算机视觉是两个不同的领域,但它们之间也有很多相互关联的地方。
例如,计算机视觉中的一些技术可以用于计算机图形学的图像处理中,以更加逼真的图像效果。
同样,计算机图形学中的渲染技术也可以用于计算机视觉的图像分析中,以提高图像处理的效率和准确性。
在未来,我们可以期待计算机图形学和计算机视觉的发展会越来越紧密地结合在一起。
例如,我们可以通过计算机视觉技术来识别人脸和物体,并通过计算机图形学技术来更加逼真的虚拟现实场景。
这样,我们可以让用户在虚拟现实环境中与虚拟角色进行更加真实的互动,并体验到更加丰富和逼真的虚拟世界。
总的来说,计算机图形学和计算机视觉是两个非常重要的技术领域,它们在我们的生活中起着重要的作用。
通过计算机图形学,我们可以创造出各种逼真的图像效果,给人们带来视觉上的享受。
而通过计算机视觉,我们可以让计算机能够理解和解释图像,为人们提供更加智能化的服务。
我们期待这两个领域能够在未来的发展中取得更多的突破,为人们带来更多的便利和乐趣。
《计算机图形学》练习试题及参考答案一、选择题1.计算机图形学的研究对象是图形的表示、存储、( )和转换。
A.生成B.显示C.打印D.传输参考答案:B2.在计算机中,图形信息通常以( )形式存储A.数组B.字符串C.树状D.图形块参考答案:A3.下列哪个不属于计算机图形学的应用领域?A.计算机辅助设计B.虚拟现实C.办公自动化D.计算机艺术参考答案:C4.在计算机图形学中,( )是指将一个图形按照一定的比例和方向变换到新的位置。
A.缩放B.平移C.旋转D.镜像参考答案:B5.以下哪个不属于基本的图形变换?A.缩放B.旋转C.剪切D.反射参考答案:C6.在计算机图形学中,( )是指在图形上按照一定的方式进行填充。
A.着色B.填充C.描绘D.渲染参考答案:B7.在计算机图形学中,( )是指将一个图形分解成多个小三角形的过程。
A.细分B.纹理映射C.光照D.阴影参考答案:A8.以下哪个不属于计算机图形学的主要任务?A.图形设计B.图形输入C.图形输出D.图形处理参考答案:A9.在计算机图形学中,( )是指将图形按照一定的方式进行着色。
A.着色器B.渲染器C.显示器D.输入器参考答案:A10.在计算机图形学中,( )是指在图形上施加光照和材质,以产生真实感的效果。
A.渲染B.着色C.细化D.纹理映射参考答案:A二、填空题1.计算机图形学是研究图形的表示、存储、______、______和转换的学科。
参考答案:生成、显示2.在计算机中,图形信息通常以______形式存储。
参考答案:数组3.______是指将一个图形按照一定的比例和方向变换到新的位置。
参考答案:平移4.在计算机图形学中,______是指在图形上按照一定的方式进行填充。
参考答案:填充5.在计算机图形学中,______是指将一个图形分解成多个小三角形的过程。
参考答案:细分6.______是指将图形按照一定的方式进行着色。
参考答案:着色器7.______是指在图形上施加光照和材质,以产生真实感的效果。
计算机图形学计算机图形学是研究计算机生成、处理和显示图像的学科领域。
它是计算机科学的一个重要分支,与计算机视觉和图像处理相关。
计算机图形学的发展促进了许多领域的进步,包括动画、游戏开发、虚拟现实等。
一、引言计算机图形学是指通过计算机技术实现图像的生成、处理和显示。
它利用算法和数学模型来模拟和渲染图像,以生成逼真的图像或动画。
计算机图形学在多个领域有着广泛的应用,如电影、游戏、建筑设计等。
二、图形学的基本原理1. 坐标系统图形学中常用的坐标系统是笛卡尔坐标系,它由横轴X、纵轴Y和垂直于二者的Z轴组成。
通过坐标系统,可以定位和描述图像中的点、线和面。
2. 图形的表示图形可以通过几何图元来表示,常见的几何图元有点、线和面。
点由坐标表示,线由两个端点的坐标表示,面由多个点或线组成。
3. 变换和投影变换是指对图像进行平移、旋转和缩放等操作,通过变换可以改变图像的形状和位置。
投影是将三维图像映射到二维平面上的过程,常见的投影方式有平行投影和透视投影。
4. 着色模型着色模型用于为图像添加颜色和材质信息,常见的着色模型有平均着色模型和Phong着色模型。
平均着色模型通过计算图像的平均颜色来实现简单的着色效果,Phong着色模型考虑了光照的影响,能够产生更加逼真的效果。
三、图形学的应用1. 电影和动画计算机图形学在电影和动画领域有着广泛的应用。
通过计算机图形学技术,电影制作人能够创建逼真的特效,包括爆炸、碰撞和飞行等场景。
动画片的制作也离不开计算机图形学的技术支持,它能够实现角色的自由移动、表情的变化等特效效果。
2. 游戏开发计算机图形学是游戏开发中不可或缺的一部分。
游戏中的人物、场景和特效都是通过计算机图形学技术来实现的。
游戏开发人员利用图形学算法和引擎来创建游戏中的3D场景和角色,并通过渲染技术使其看起来逼真。
3. 虚拟现实虚拟现实是一种模拟真实世界的计算机生成环境。
计算机图形学在虚拟现实领域的应用可以让用户身临其境地感受到虚拟环境的存在。
计算机图形学知识点大全计算机图形学是计算机科学中的一个重要分支,涵盖了图像处理、计算机视觉、图形渲染等多个领域。
本文将介绍计算机图形学的一些重要知识点,帮助读者更好地理解和应用这些知识。
一、基础概念1. 图形学概述:介绍计算机图形学的定义、发展历史以及应用领域。
2. 图像表示:探讨图像的表示方法,包括光栅图像和矢量图像,并介绍它们的特点和应用场景。
3. 坐标系统:详细介绍二维坐标系和三维坐标系,并解释坐标变换的原理和应用。
二、图像处理1. 图像获取与预处理:介绍数字图像的获取方式和常见的预处理方法,如去噪、增强和平滑等。
2. 图像特征提取:讲解图像特征提取的基本概念和方法,例如边缘检测、角点检测和纹理特征提取等。
3. 图像分割与目标识别:介绍常见的图像分割算法,如阈值分割、基于区域的分割和基于边缘的分割等,以及目标识别的原理和算法。
三、计算机视觉1. 相机模型:详细介绍透视投影模型和针孔相机模型,并解释摄像机矩阵的计算和相机标定的方法。
2. 特征点检测与匹配:讲解常用的特征点检测算法,如Harris 角点检测和SIFT特征点检测,并介绍特征点匹配的原理和算法。
3. 目标跟踪与立体视觉:介绍目标跟踪的方法,如卡尔曼滤波和粒子滤波,以及立体视觉的基本原理和三维重建方法。
四、图形渲染1. 光栅化:详细介绍光栅化的原理和算法,包括三角形光栅化和线段光栅化等。
2. 着色模型:介绍常见的着色模型,如平面着色、高光反射和阴影等,并解释经典的光照模型和材质属性。
3. 可视化技术:讲解常用的可视化技术,如体数据可视化、流场可视化和虚拟现实等,以及它们在医学、工程等领域的应用。
五、图形学算法与应用1. 几何变换:介绍图形学中的几何变换,包括平移、旋转、缩放和矩阵变换等,并解释它们在图形处理和动画中的应用。
2. 贝塞尔曲线与B样条曲线:详细介绍贝塞尔曲线和B样条曲线的定义、性质和应用,以及它们在曲线建模和动画设计中的重要作用。
计算机图形学定义:计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。
图形:表示和绘制+ 输入/输出设备计算机图形学:计算机科学中,最为活跃、得到广泛应用的分支之一数据计算机图形系统图形图形及图形的表示方法图形:计算机图形学的研究对象能在人的视觉系统中产生视觉印象的客观对象包括自然景物、拍摄到的图片、用数学方法描述的图形等等构成图形的要素几何要素:刻画对象的轮廓、形状等非几何要素:刻画对象的颜色、材质等表示方法点阵表示枚举出图形中所有的点(强调图形由点构成)简称为图像(数字图像)参数表示由图形的形状参数(方程或分析表达式的系数,线段的端点坐标等)+属性参数(颜色、线型等)来表示图形简称为图形图形主要分为两类:1、基于线条信息表示2、明暗图(Shading)第一章绪论1.2.2 图象处理研究如何对一幅连续图像取样、量化以产生数字图像,如何对数字图像做各种变换以方便处理如何滤去图像中的无用噪声,如何压缩图像数据以便存储和传输,图像边缘提取,特征增强和提取1.2.3 计算机视觉和模式识别图形学的逆过程,分析和识别输入的图像并从中提取二维或三维的数据模型(特征)。
手写体识别、机器视觉计算几何几何问题的计算复杂性发展特点内容交叉、界限模糊、相互渗透1.3 CG的应用1.3.1 计算机辅助设计与制造(CAD/CAM)CAD/CAM是计算机图形学在工业界最广泛、最活跃的应用领域1、飞机、汽车、船舶的外形的设计,如波音777飞机的设计和加工过程2、发电厂、化工厂等的布局3、土木工程、建筑物的设计4、电子线路、电子器件的设计,设计结果直接送至后续工艺进行加工处理1.3.2 科学计算可视化科学计算可视化广泛应用于医学、流体力学、有限元分析、气象分析当中⏹在医学领域,可视化有着广阔的发展前途⏹是机械手术和远程手术的基础⏹将医用CT扫描的数据转化为三维图象,帮助医生判别病人体内的患处⏹由CT数据产生在人体内漫游的图象⏹可视化的前沿与难点⏹可视化硬件的研究⏹实时的三维体绘制⏹体内组织的识别分割——Segmentation1.3.3 真实感图形的绘制与计算机仿真1、计算机中重现真实世界的场景叫做真实感绘制2、真实感绘制的主要任务是模拟真实物体的物理属性,简单的说就是物体的形状,光学性质,表面的纹理和粗糙程度,以及物体间的相对位置,遮挡关系等等1.3.4 其他应用⏹GIS⏹娱乐⏹多媒体⏹虚拟现实(VR)1.3.5 当前研究的热点⏹计算机动画⏹用户接口⏹计算机艺术1.4 常用图形设备图形输入设备键盘、鼠标、光笔、触摸屏、扫描仪等图形输出设备阴极射线管(CRT)、显示器(光栅扫描显示器、液晶显示器)、打印机、绘图仪等作业1.写出对计算机图形学的认识,谈谈学科发展的关键因素2.计算机图形学的主要研究内容是什么?3.计算机图形学最具潜力的应用是什么?4.谈谈对计算机图形学的前沿领域的设想和体会?第二章基本二维图形的生成概念光栅显示器显示的图形是由一系列紧靠该图形路径的像素表示的,可看作具有一种或多种颜色的像素的矩阵或集合。
一.填空题(共4题,36.0分)1计算机中表示带有颜色及形状信息的图和形常用的方法有点阵法正确答案:第一空:参数法2光栅系统中的颜色模型主要有RGB、CMY、YIQ和HSV等,其中主要用于彩色光栅图形显正确答案:第一空:RGB第二空:HSV3采用C ohen-Sutherland(编码裁剪)算法裁剪直线段,可分为三个步骤:(2)判别线段两个端点是否都落在窗口某一条边所在直线的外侧,如果是,(3)如果不满足前面的两个条件,则求交点,去掉交点外的线段,对剩余线段重复(1)和(2)。
切换到文本模式切换到文本模式正确答案:第一空:完全可见,裁剪结束第二空:完全不可见,裁剪结束4给定4个控制顶点P0(x0,y0),P1(x1,y1),P2(x2,y2),P3(x3,y3)构造一条均匀周期性二次B样条曲线,则曲线的起点坐标正确答案:第一空:(P0+P1)/2;((x0+x1)/2第二空:(y0+y1)/2二.综合题(共7题,64.0分)1利用中点 Bresenham 画圆算法的原理,按逆时针方向推导第一象限y=0到y=x圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式)。
•填写答案•正确答案:参考解答:起点为(R,0),最大的位移方向是y方向,故每次Y方向上增加1,X方向上可能减1或减0。
假设当前点为Pi(xi ,yi ),下一个点可能是Pd(xi -1,yi +1),也可能是Pu(xi ,yi +1),两者的中点为M(xi -0.5,yi +1)。
则当F(xm,ym)<0时,M在圆内,说明Pu(xi ,yi +1)离圆弧更近,应取Pu(xi ,yi +1)作为下一像素。
F(xm,ym)>0时,M在圆外,说明Pd(xi -1,yi +1)离圆弧更近,应取Pu(xi ,yi +1)作为下一像素。
F(xm,ym)=0时,M 在圆上,取Pd(xi -1,yi +1)和Pu(xi ,yi +1)均可,约定取Pd(xi -1,yi +1)。
(5分)判别式为:di=F(xi -0.5,yi +1)= (xi -0.5)2+(yi +1)2-R2若di>=0,则取P d(xi -1,yi +1),否则若di<0,则取P u(xi,yi +1)。
(1)若di>=0,则取P d(xi -1,yi +1),则下一个中点则是M (xi -1.5,yi +2)。
di+1= F(xi -1.5,yi +2)= (xi -1.5)2+(yi +2)2-R2= di-2xi+2yi+5所以当d>=0时,判别式d的增量为-2xi+2yi+5。
(2)若di<0,则取P d(xi,yi +1),则下一个中点则是M (xi -0.5,yi +2)。
di+1= F(xi -0.5,yi +2)= (xi -0.5)2+(yi +2)2-R2= di+2yi+3所以当d>=0时,判别式d的增量为2yi+3。
(12分)(3)di的初值计算:所绘制圆弧段的第一个像素是P0(R,0),因此判别式d的初始值为d0= F(R -0.5,1)= (R -0.5)2+12-R2=1.25-R因为只是要求出d0的符号,而且R是整数,因此求1.25-R的符号等价于求1-R的符号。
因此取d0=1-R。
(15分)2已知三点A(1,2,3)、B(3,4,5)、C(2,4,7)组成的平面,其单位法向量为,求某点P关于平面ABC对称的变换矩阵。
•填写答案•正确答案:3用有序边表扫描线填充算法对图1所示的顶点为P0(7,1),P1(2,3),P2(2,9),P3(7,7),P4(13,11),P5(13,5)的多边形进行填充。
写出ET(边)表和y=8的AET表。
•填写答案•正确答案:边表:ET表4利用中点 Bresenham算法的原理,推导y=kx+b(k>1)在第一象限上的扫描转换算法(要求写清原理、误差函数、递推公式)。
•填写答案•正确答案:参考解答:y=kx+b(k>1),取F(x)=y-kx-b。
最大的位移方向是Y方向,故每次Y方向上增加1,X方向上可能增加1或不增。
假设当前点为Pi(xi ,yi ),下一个点可能是Pu(xi +1,yi +1),也可能是Pd(xi ,yi +1),两者的中点为M(xi +0.5,yi +1)。
则当F(xm,ym)<0时,M 在直线下方,说明Pu(xi +1,yi +1)离直线更近,应取Pu(xi +1,yi +1)作为下一像素。
F(xm,ym)>0时,中点M在直线上方,说明Pd(xi,yi +1)离直线更近,应取Pd(xi ,yi +1)作为下一像素。
F(xm,ym)=0时,M在直线上,取Pd(xi +1,yi +1)和Pu(xi ,yi +1)均可,约定取Pd(xi,yi +1)。
(5分)判别式为:d i=F(x i+0.5,y i+1)= y i+1-k(x i+0.5)-b若d i>=0,则取P d(x i,y i+1),否则若d i<0,则取P u(x i+1,y i+1)。
(1) 若d i>=0,则取P d(x i,y i+1),则下一个中点则是M (x i+0.5,y i+2)。
d i+1= F(x i+0.5,y i+2)= (y i+2)-k(x i+0.5) –b= d i+1所以当d>=0时,判别式d的增量为1。
(8分)(2) 若d i<0,则取P u(x i+1,y i+1),则下一个中点则是M (x i+1.5,y i+2)。
d i+1= F(x i+1.5,y i+2)= (y i+2) -k(x i+1.5)2-b= d i+1-k所以当d<0时,判别式d的增量为1-k。
(12分)(3) d i的初值计算:所绘制直线段的第一个像素是P0(x0,y0),因此判别式d的初始值为d0= F(x0+0.5,y0+1)= y0+1-k (x0+0.5)-b=1-0.5k因为只是要求出d0的符号,因此可以用2d△x代替d来摆脱小数。
这样,所有的增量公式中就涉及整数运算。
算法的过程可以整理为:(1) 输入直线的两端点P0(x0,y0)和p1(x1,y1)。
(2) 计算初始值△x,△y,d=2△x-△y,x=x0,y=y0。
(3) 绘制点(x,y),判断d的符号。
若d<0,则(x,y)更新为(x+1,y+1),d更新为d+2△x-2△y;否则(x,y)更新为(x,y+1),d更新为d+2△x。
(4) 当直线没有画完时,重复(3),否则结束。
(15分)5有如下多边形与矩形裁剪窗口,假设输入的顶点序列为A,B,C,D,E,则使用SutherLand-Hodgemen多边形裁剪算法对多边形进行裁剪,画出逐边裁剪后得到相应的图形并写出输出顶点序列。
•填写答案•正确答案:6用编码裁剪算法裁剪如图所示的线段。
(1) 画出9个区,并写出9个区的编码。
(3分)(2) 写出编码裁剪算法裁剪该线段的具体步骤。
(12分)•填写答案•正确答案:编码裁剪算法裁剪图2所示的线段,写端点的编码,并求出直线与窗口的交点,给出裁剪的具体步骤。
编码如图所示。
取编码codeA=1010 codeB=0101 (3分)(1) codeA| codeB <>0 且codeA&codeB =0 对直线不能简取之或弃之。
(5分)按左右下上的顺序来求交点。
codeA=1010 说明A在窗口的右方。
求直线与右边界的交点C。
(8分)(3)弃AC,求BC的可见部分。
codeB=0101,codeC=0000,CodeB| codeC <>0 且codeA&codeB =0 ,对直线BC不能简取之或弃之。
codeB=0101说明B在窗口的左方。
可以求出直线与窗口的左边界的交点D。
(11分)(4)弃BD,求DC的可见部分。
CodeD=0100,codeC=0000,CodeD| codeC <>0 且codeD&codeB =0 ,对直线DC不能简取之或弃之。
CodeD=0100说明D在窗口的下方。
可以求出直线与窗口的下边界的交点E。
(14分)(5)弃ED,求EC的可见部分。
CodeE=0000,codeC=0000,CodeD| codeC =0,对直线EC可简取之。
显示EC。
(15分)本题亦可按B点作为起点进行裁剪,求交点顺序是DEC。
7写出相对于空间中任意参考点P(0,0,1)做作绕Z轴旋转的变换矩阵。
•填写答案•正确答案:一.填空题(共4题,36.0分)1如果给定5个控制点,构造一条Bezier曲线,则其基函数多项式的最高次为;而如果是构造一个三阶的B样条曲线,那么其所需基函数的个数。
正确答案:第一空:4第二空:52计算机图形系统中常用的输入设备包括:、、(写出任意3个即可)。
正确答案:第一空:键盘;触摸屏;数字手套第二空:鼠标;操纵杆;数字化仪第三空:光笔;跟踪球;扫描仪3已知像素点(x,y)位于椭圆上,且椭圆的中心点位于坐标原点,则根据对称性,能够直接确定位于椭圆上的像素点是()、( ) 和( ) 。
正确答案:第一空:( x,-y)第二空:( -x,y)第三空:(-x,-y)4采用C ohen-Sutherland(编码裁剪)算法裁剪直线段,可分为三个步骤:(1)判别线段两个端点是否都落在窗口内,如果是,则线段;(2)判别线段两个端点是否都落在窗口某一条边所在直线的外侧,如果是,则线段(3)如果不满足前面的两个条件,则求交点,去掉交点外的线段,对剩余线段重复(1)和(2)。
正确答案:第一空:完全可见,裁剪结束第二空:完全不可见,裁剪结束二.综合题(共7题,64.0分)1设矩形窗口的左下角为L(1,2)、右上角为R(9,8)的,请用梁友栋-Barsky算法裁剪线段AB,其中两个端点坐标为:A(-1,7)、B(11,1)。
•填写答案•正确答案:参考解答:∆x=12,∆y=-6 , x L=1, x R=9, y B =8, y T =2 (3分)p1 = - ∆x=-12, q1 = x1– x L=-2p2 = ∆x=12, q2 = x R– x1=10p3 = - ∆y=6, q3 = y1– y B =5p4 = ∆y =-6, q4 = y T– y1 =1t0=max{0,1/6,-1/6}=1/6t0=min{1,5/6,5/6}=5/6 (12分)t0<=t1, 存在可见直线段。
将参数值代入参数方程t=1/6时,得 (1,6) ;t=5/6时,得 (9,2)所以,在窗口内的线段的端点为(1,6), (9,2)。
(15分)2试推导二维平面上基于某一固定点(x f , y f)做整体比例放大2倍的变换矩阵。