基本图形的生成与计算--直线、圆、椭圆的生成
36页1、浙江师范大学数理与信息工程学院 计算机图形学,第二章 直线、圆、椭圆生成算法,图形的扫描转换(光栅化):确定像素、显示图形的过程。步骤如下: 确定像素 用图形属性,对像素进行写操作 一维图形,用一个像素宽的直线来显示图形 二维图形的光栅化,即区域的填充:确定像素,填色或图案。 图形的光栅化,必须显示在窗口内,否则不予显示。确定图形的哪些部分在窗口内,哪些在窗口外,即裁剪,浙江师范大学数理与信息工程学院 计算机图形学,图形显示前需要:扫描转换+裁剪 裁剪-扫描转换:最常用,节约计算时间。 扫描转换-裁剪:算法简单;,浙江师范大学数理与信息工程学院 计算机图形学,本章内容,直线的生成算法 圆的生成算法 区域填充算法 字符的生成 图形求交 图形裁剪,浙江师范大学数理与信息工程学院 计算机图形学,直线的生成算法,确定最佳逼近该直线的一组象素,并且按扫描线顺序,对这些象素进行写操作 三个常用算法: 数字微分法(DDA) 中点画线法 Bresenham算法,浙江师范大学数理与信息工程学院 计算机图形学,数字微分法(),假定直线的起点、终点分别为:(xa,ya), (xb,yb),则斜率m为: m=
2、(yb-ya)/(xb-xa)=dy/dx,(x i , yi),(x i+1, yi + k),(x i , int(yi +0.5),栅格交点表示象素点位置,。,。,。,。,浙江师范大学数理与信息工程学院 计算机图形学,数值微分(DDA)法,基本思想 直线的起点和终点分别为(xa,ya), (xb,yb), 斜率m为:m=(yb-ya)/(xb-xa)=dy/dx 直线中每个点坐标由前一点坐标加增量(Dx,Dy)而得到 xi+1=xi+Dx 其中x1=xa yi+1=yi+Dy y1=ya 并且 Dy=mDx,浙江师范大学数理与信息工程学院 计算机图形学,数值微分(DDA)法,直线方向的8个象限 在1a取Dx=1,Dy=m; 在1b取Dx=1/m,Dy=1;得到 象限 |dx|dy|? Dx Dy 象限 |dx|dy|? Dx Dy 1a true 1 m 3a true -1 -m 1b false 1/m 1 3b false -1/m -1 2a true -1 m 4a true 1 -m 2b false -1/m 1 4b true 1/m -1,浙江师范大学数理与信息
3、工程学院 计算机图形学,数值微分(DDA)法,二个规律 (1) |dx| |dy| 时, |Dx|=1, |Dy|=m |dx|dy| 时, |Dx|=1/m, |Dy|=1 (2) Dx、Dy的符号与dx、dy的符号相同 增量算法:在迭代算法中,如果每一步的x、y值是用前一步的值加上增量来获得,则称为增量算法 DDA算法就是一个增量算法,浙江师范大学数理与信息工程学院 计算机图形学,数值微分(DDA)法,#include “stdio.h“ #include “graphics.h“ void dda_line(int xa,int ya,int xb,int yb,int c); void main() int driver=DETECT,mode; int x0,y0,x1,y1,background=WHITE,color=RED; scanf(“%d,%d,%d,%d“, ,浙江师范大学数理与信息工程学院 计算机图形学,数值微分(DDA)法,void dda_line(int xa,int ya,int xb,int yb,int c) float delta_x,delta
4、_y,x,y; int dx,dy,steps,k; dx=xb-xa; dy=yb-ya; if (abs(dx)abs(dy) steps=abs(dx); else steps=abs(dy); delta_x=(float)dx/(float)steps; delta_y=(float)dy/(float)steps; x=xa; y=ya; putpixel(x,y,c); for (k=1;k=steps;k+) x+=delta_x; y+=delta_y; putpixel(x,y,c); ,浙江师范大学数理与信息工程学院 计算机图形学,Bresenham画线算法,由DDA算法可知:yi+1=yi+m。由于m不一定是整数,由此式求出的yi也不一定是整数 本算法于1965年由Bresenham提出 在直线生成的算法中,Bresenham算法是最有效的算法之一 令 m=y/x,就0m1的情况来说明Bresenham算法,浙江师范大学数理与信息工程学院 计算机图形学,Bresenham画线算法,设直线从起点(xa,ya)到终点(xb,yb)。直线可表示为方程y=mx+b,其中
《 基本图形的生成与计算--直线、圆、椭圆的生成》由会员san****019分享,可在线阅读,更多相关《 基本图形的生成与计算--直线、圆、椭圆的生成》请在金锄头文库上搜索。
高中化学实验方案的设计第一节制备实验方案设计
高中生物实验室配置
高中体育与健康课程田径必修模块单元教学方案
高中通用技术方案的构思方法-设计分析教案苏教版必修
高中生物室配置
高中信息技术网络技术应用选修模块教学评价方案
骆小学教师戏曲知识培训方案(I)
麻村小学阳光体育活动计划及实施方案
高桥小学幼小衔接活动方案
马摆小学控辍保学实施方案
金阳街道中心小学未成年人思想道德建设实施方案
龙扬小学第32个爱国卫生月活动方案
魏家井联小学度控辍保学工作方案
高区第九届初中骨干教师课堂教学能力展示活动
长沙县2018年度小学生课外阅读知识竞赛及书目
阳江中心小学一月一事之五月主题活动方案
长营小学校园体育活动实施方案
高考历史备考方案-陈军
高考语文第5课父亲课前预案苏教版选修现代散文选读
高考语文第9课铃兰花课前预案苏教版选修现代散文选读
2024-04-11 25页
2024-04-11 37页
2024-04-11 28页
2024-04-11 31页
2024-04-11 36页
2024-04-11 29页
2024-04-11 22页
2024-04-11 27页
2024-04-11 34页
2024-04-11 32页