- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海师范大学计算机图形学 第二章a课件
;;;5.多边形;多边形例题;三.颜色控制;;0 BLACK
1 BLUE
2 GREEN
3 CYAN
4 RED
5 MAGENTA
6 BROWN
7 LIGHTGRAY
;8 DRAKGRAY
9 LIGHTBLUE
10 LIGHTGREEN
11 LIGHTCYAN
12 LIGHTRED
13 LIGHTMAGENTA
14 YELLOW
15 WHITE
;;;thickness线宽
NORM-WIDTH 1 一个象素宽
THICK-WIDTH 3 三个象素宽;例题:;上机作业2: 画出如下图形;第二章 基本图形的生成和计算;2.1 直线的生成算法;2.1 直线的生成算法;则斜率m
m= (y2-y1)/(x2-x1)=dy/dx;x;x;象限 Dx Dy 象限 Dx Dy
1a 1 m 4a 1 -m
1b 1/m 1 4b 1/m -1
2a -1 m
2b -1/m 1
3a -1 -m
3b -1/m -1
结论:
1.当|m|1时,|Dx|=1,|Dy|=m
否则|Dx|=1/m,|Dy|=1
;结论:
2.Dx,Dy的符号与dx,dy的符号相同。
;缺点:
1.浮点增量的连续迭加,误差积累使长线段计算的象素位置偏离实际线段
2. 浮点运算十分耗时;1965年由Bresenham提出
设直线起点(x1,y1),终点(x2,y2)
y=mx+b
b=y1-m*x1
m=(y2-y1)/(x2-x1)=dy/dx;13;当直线方向限于1a象限,则
xi+1=xi+1
yi+1yi+1yi;13;Bresenham算法采取对整型参量的符号进行检测,整型参量的值正比于两象素与实际线段之间的偏移
yi+1的选择由d1,d2的大小决定
;(xi,yi);d1-d2=2y-2yi-1
y=m(xi+1)+b
m=dy/dx
; 由于dx0,则Pi可用来判断符号
Pi+1=2xi+1dy-2yi+1dx+2dy+(2b-1)dx
=2 (xi+1)dy- 2yi+1dx+2dy+(2b-1)dx
= Pi+2dy-2yi+1dx+ 2yidx
= Pi+2dy-2(yi+1-yi)dx;P1=2x1dy-2y1dx+2dy+(2b-1)dx
=2x1dy-2y1dx+2dy+[2(y1-(dy/dx)x1)-1]dx
=2x1dy-2y1dx+2dy+2y1dx-2x1dy-dx
=2dy-dx;1.画点(x1,y1)
dx=x2-x1 dy=y2-y1
P1=2dy-dx i=1
2.xi+1=xi+1 当Pi0, 则
yi+1=yi+1 ,否则yi+1=yi
3.画点(xi+1, yi+1)
;4.求Pi+1, 当Pi0 则
Pi+1=Pi+2dy-2dx
否则Pi+1=Pi+2dy
5.i=i+1 如idx+1 则转2 否则结束; ;例:起点(20,10) 终点 (30,18) 斜率0.8
dx=10 ,dy=8
P1=2dy-dx=2*8-10=6
i Pi (xi+1,yi+1)
文档评论(0)