《基本图形的生成》PPT课件

《基本图形的生成》PPT课件

ID:36706346

大小:691.10 KB

页数:43页

时间:2019-05-10

《基本图形的生成》PPT课件_第1页
《基本图形的生成》PPT课件_第2页
《基本图形的生成》PPT课件_第3页
《基本图形的生成》PPT课件_第4页
《基本图形的生成》PPT课件_第5页
资源描述:

《《基本图形的生成》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章基本图形生成原理一光栅扫描:1光栅扫描的基本原理:电子束在荧光屏上按照固定的扫描线和扫描顺序扫出一个由行和列组成的光的栅网。2像素:栅网中的每一个孤立的光点,它是光栅显示的最小单位。像素可以有不同的亮度,像素的坐标值都是整数。概论3提出问题(1)目前使用的图形输出设备显示器:光栅图形显示器(2)光栅图形显示器:以光栅扫描方式刷新线段、字符和图形。其本质:是一种画点设备,是由一定数量的网格状细小光点(像素)组成,使其某些像素亮,某些像素不亮来显示图形或文字.(3)问题:光栅图形显示器是画点设备,而二维图形并不是点的集

2、合,如何在光栅图形显示器上构造基本二维几何图形(线圆)?(4)解决方法:进行图形扫描转换例:要在屏幕上显示一条直线时,只能确定出逼近直线的一组像素,并按扫描线顺序对这些像素进行写操作,即进行扫描转换。结果:使所画的直线转换成为逼近理想直线的由无数个点构成的集合。画图形:可使用同样的方法,即进行图形的扫描转换.使所画的图形转换成为逼近理想图形的由无数个点构成的集合。扫描转换(光栅化):1什么叫扫描转换(光栅化)?在光栅显示器等数字设备上确定一个最佳逼近于图形的象素集的过程。2扫描转换的主要工作:由于理想的图形是连续的,而光

3、栅图像是离散的,因此显示过程中不可避免地产生锯齿等畸变,扫描转换的主要工作就是研究使光栅图像逼近原始的图形的算法。用一系列的象素点来逼近直线3学习扫描转换的目的:(1)绘图函数具有局限性:在实际工作中遇到画线的工作时,可以方便地调用程序设计语言中提供的绘图函数,不需要自己编写画线的程序。但它由局限性,不能满足用户特殊绘图要求,需要开发出满足需求的绘图程序。(2)学习目的:掌握将数学的、模拟的、线形的图形变成数字的离散的图形的过程中的设计思想和方法,这些思想能够在科学研究和产品开发中发挥作用。5.1直线的生成三算法要求:1

4、准确:扫描点尽可能地逼近理想点。2快速:改进算法尽快提高扫描转换速度。一问题的提出:给定直线两端点P0(x0,y0)和P1(x1,y1),在光栅显示器上画出该直线。二需要进行扫描转换:给出一个将直线转换为逼近理想直线的点的集合的算法。2直线的斜截式方程:y=kx+bb=y1-kx1x从起点到终点每次增加1,用y=kx+b计算y值,再用putpixel(x,int(y+0.5),color)输出该像素。3该算法的缺点:画线效率低,每步都需要一个浮点乘法运算和一个四舍五入运算,需要加以改进。5.2.数值微分法(DDA算法Di

5、gitalDifferentialAnalyzer)1直线的微分方程:一数值微分法:是一种基于直线微分方程来生成直线的方法。二数值微分法的改进算法(关键:找到Pi(Xi,Yi),Pi+1(Xi+1,Yi+1)的关系)1推导:直线方程:y=kx+b直线上的第i、第i+1……个点为:Pi(Xi,Yi),Pi+1(Xi+1,Yi+1),…计算Pi+1时:x为xi+1,(在第1象限x总是向右前进一步),y为y(画水平线时,y的值不变)yi+1(画非水平线时,y的值变化,需要计算)其中:yi+1的计算为:yi+1=kxi+1+B=

6、k(xi+△x)+B=kxi+k△x+B=kxi+B+k△x//yi=kxi+B=yi+k△x=yi+k//当△x的步进为1时故Pi+1点的坐标为:xi+1=xi+1yi+1=round(yi+k)//进行取整运算分析:下一点的y坐标为当前点y坐标加上斜率k,省略了浮点乘法。xi+1=xi+1yi+1=round(yi+k)(xi,yi)(xi+1,(int)(yi+k))(xi,(int)(yi))(xi+1,yi+k)数值微分法示意图理想直线上的坐标点扫描转换后的像素点2算法:1)计算斜率k=△y/△x2)画第1个点

7、(x0,y0)3)计算下一个点(x,y)的值P,x=x+1,y=y+k小数部分≥0.5,则y=y+1循环小数部分<0.5,则y=y画点(x,y)voidddaline(x0,y0,x1,y1,color)intx0,y0,x1,y1,color;{intx;floatdx,dy,k,y;dx=x1-x0;dy=y1-y0;k=dy/dx;//计算斜率y=y0;//设定第1点的y值for(x=x0;x<=x1;x++)//x加1{putpixel(x,(int)(y+0.5),color);//画点,y值取整y=y+k;/

8、/计算y的值}}3程序:4分析:本算法中k值需要使用浮点,每一步都要进行取整运算,不利于硬件实现。可以用中点画线法解决。ax+by+c=0QP1P2MP3P4P5M1M2P中点画线法示意图3.2.2中点画线法:1有直线F(x,y)=ax+by+c=0,假定其斜率在0,1之间.2直线在x方向增加一个单位,则在y方向上的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。