文档详情

3章-2 二次曲线.ppt

发布:2017-05-08约7.12千字共26页下载文档
文本预览下载声明
§3.2 二次曲线 §3.3 二次曲线的参数拟合法 第3章 基本图形生成技术-二次曲线 第3章- * 计算机图形学 计算机科学与技术学院 本次课讲授内容: 一、圆弧生成算法 逐点比较算法 Bresenham算法 二、椭圆弧生成算法 三、二次曲线的参数拟合法 一、圆弧生成算法 1.圆的的特性 1) 标准方程:(x-xc)2+(y-yc)2=R2 由上式导出 y=yc±√R2-(x-xc)2 特点:① 计算量比较大; ②在X轴处点分布疏,在Y轴处分布比较密较大;     ③ 适合绘制单个圆。 2) 参数方程: x=xc+r·cosθ y=yc+r·sinθ 特点:① 在整个圆周上点分布比较均匀;       ② 计算量比较大; 0≤θ≤π 2 圆的逐点比较算法 1)设定在不同象限中的走步方向: 原则:①使逼近的误差最小;    ②使走笔方向和画图的趋势一致。 2)误差判别式 设圆心C(xc,yc),起点S(xs,ys)在圆周上 :    X y X y S M1 M2 Rs=√ (xs-xc)2+(ys-yc)2  当由S点走到M1点时,M1点到C的距离:     Rm=√ (xm-xc)2+(ym-yc)2  令 Fm=Rm-Rs    Fm0 M点圆外;       Fm0 M点圆内;       Fm=0 M点圆周上。     误差判别式 取:Fm=Rm2-Rs2 3)递推公式 因为起始点s在圆上,F0=0,据约定,走X-: xm=xs-Δx ym=ys F1=(x1-xc)2+(y1-yc)2-Rs =Fs-2Δx(xs-xc)+Δx2 ∵Fs=0,Δx20,(xs-xc) Δx F10,令走Y+一步 Fi≥0,走Xˉ, xi+1=xi-Δx Fi+1= Fi-2Δx(xi-xc)+Δx2    yi+1=yi Fi0,走Y+ xi+1=xi Fi+1= Fi-2Δy(yi-yc)+Δy2 yi+1=yi+Δy Fi+1= Fi-2(xi-xc)+1 Fi+1= Fi-2(yi-yc)+1 4) 终点判断 通常采用步数控制:即单向步数和总步数。 若步距为dt,直线在X和Y方向上增量分别为dx和dy, 则: X方向的步数 Nx=|dx/dt|       Y方向的步数 Ny=|dy/dt| 总步数 N=Nx+Ny =|dx/dt|+|dy/dt| 单向步数 N单=max(Nx,Ny) 5)完整圆的处理 对完整圆弧采用对称变换的方式。 即:先画出四分之一圆周,再以x轴对称成半个圆周,再以y轴对称成整个圆周。 完整圆的步数如何确定,若用圆的半径R表示,值为()R? 2R 4R 8R 16R 3 圆的Bresenham算法 设仅在第Ⅰ象限中生成八分之一圆弧。 误差判别:当前点到圆心的距离与半径的差值。 误差计算式:︱D(Pi)︱=︱xi2+yi2-R2︱ 当Pi-1被选中,x=xi-1, 当x=xi-1+1时 则 Si和Ti两点为被选点。 Si xi= xi-1+1 yi= yi-1 Ti xi= xi-1+1 yi= yi-1-1 两点误差: D(Si)=[(xi-1+1)2+yi-12]-R2 D(Ti)=[(xi-1+1)2+(yi-1-1)2]-R2 Si Pi-1 Xi-1 Xi Xi+1 Ti di≥0时,Ti靠近圆弧,选Ti di0时, Si靠近圆弧,选Si di =D(Si)+D(Ti) di =|D(Si)|-|D(Ti)| 决策变量 Ti(xi-1+1, yi-1+1) Si(xi-1+1, yi-1+1) 1) Si在圆外,D(Si)0, Ti在圆内,D(Ti)0, 1) 2) Si
显示全部
相似文档