第五章基本图形生成算法 5.1直线的扫描转换 光栅扫描显示下画直线存在的问题: (1)显示速度问题: 例:分辨率:1024×768,24Bit彩色, 帧存容量:1024×768×3=2,359,296Byte 刷新率85Hz:85×2,359,296=200,540,160(Byte/S) 存储器读出时间:~5nS (2)显示质量问题: 阶梯状 线的粗细不一 NOOOOOO 线的亮度差异
6 第五章 基本图形生成算法 5.1 直线的扫描转换 光栅扫描显示下画直线存在的问题: (1) 显示速度问题: 例:分辨率:1024×768,24Bit 彩色, 帧存容量:1024×768×3=2,359,296 Byte 刷新率 85Hz: 85× 2,359,296 =200,540,160 (Byte / S) 存储器读出时间:~5nS (2) 显示质量问题: 阶梯状 线的粗细不一 线的亮度差异
第五章基本图形生成算法 5.1直线的扫描转换 直线的绘制要求: 1直线要直 2.直线的端点要准确,即无定向性和断裂情况 3直线的亮度、色泽要均匀 4画线的速度要快 5要求直线具有不同的色泽、亮度、线型等 解决的问题 给定直线两端点P0(x0,y0)和P1(x1,y1),画出该直线
7 第五章 基本图形生成算法 5.1 直线的扫描转换 直线的绘制要求: 1.直线要直 2.直线的端点要准确,即无定向性和断裂情况 3.直线的亮度、色泽要均匀 4.画线的速度要快 5.要求直线具有不同的色泽、亮度、线型等 解决的问题: 给定直线两端点P0 (x0 ,y0 )和P1 (x1 ,y1 ),画出该直线
第五章基本图形生成算法 5.1直线的扫描转换 5.1.1数值微分法(DDA法) 直线的微分方程: DDA算法原理: 1 O +1=11+E·△x y+E·△ yi+l △ 8=1/max(△x△y) xiε△xxi1 X 图5-2DA算法原理
8 5.1.1 数值微分法(DDA法) 直线的微分方程: (5 -1) 1 0 1 0 k x x y y x y dx dy = − − = = 第五章 基本图形生成算法 5.1 直线的扫描转换 DDA算法原理: (5 - 2) 1 1 y y y x x x i i i i = + = + + + ε=1/max(|△x|,|△y|) xi ε△x y x yi xi+1 yi+1 ε△y 图5-2 DDA算法原理
第五章基本图形生成算法 5.1直线的扫描转换 max(△x△y)=△x,即k≤1的情况 i+11+E·Ax=x:+ △x=x.±1 =+6·Ay=y+A=y土k max(|△x||△y1)=|△yl,此时|k|≥1: x+1=x1+E·△x=x1+ 三x k +1=y+E·Ay=y+Ay=y±1
9 第五章 基本图形生成算法 5.1 直线的扫描转换 max(|△x|,|△y|)=|△x|,即|k|≤1的情况: max(|△x|,|△y|)=|△y|,此时|k|≥1: 1 (5 - 4) 1 1 1 1 1 = = + = + = = + = + + + i i i i i i i i y y y y y y y k x x y x x x x (5 - 3) 1 1 1 1 1 y y k x y y y y x x x x x x x i i i i i i i i = = + = + = = + = + + +
第五章基本图形生成算法 5.1直线的扫描转换 10 (round(xi+1/k), byi+1) Xi, y Kxi+,round(yi+k)) 图5-3DDA算法生成直线段 注意: round(x)=(int)(x+0.5
10 第五章 基本图形生成算法 5.1 直线的扫描转换 注意:round(x)=(int)(x+0.5) 图5-3 DDA算法生成直线段 (xi,yi) (xi+ 1,round(yi+ k)) (round(xi+1/k),yi+ 1)