计算机图形学基础课程设计

用VB实现的简单图形学的基本变换,包括直线生成算法、椭圆生成算法、平移、旋转等。需要源代码以及程序的可以在百度空间留言。

计算机图形学基础课程设计

1.设计要求

1、给出系统框架;

2、调用画点的函数,分别用DDA、中点Bresenham算法和改进Bresenham算法绘制直线和中点算法绘制直线、用不同的算法绘制圆和椭圆 ,并各自比较算法精度与效率的差别 ; 3、实现二维图形的变换。(包括平移,放缩,旋转,错切以及复合变换);

4、运用所学的多边形扫描算法实现多边形的扫描转换;

5、运用所学的区域填充算法实现区域填充;

6、运用所学算法实现线段裁剪以及多边形裁剪(多边形裁剪为可选);

7、自己实现其它附加以及需要完善的功能模块;

2.程序算法及原理

2.1扫描转换直线段

2.1.1 DDA算法扫描转换直线段:

算法步骤:

已知过端点P0 (x0, y0), P1(x1, y1)的直线段L:y=kx+b,直线斜率为

计算机图形学基础课程设计

, 令x x0 x1;x x stepx y kx b

(y) x,round

这种方法直观,但效率太低,因为每一步需要一次浮点乘法和一次舍入运算。 计算yi+1= kxi+1+b= kxi+b+k x= yi+k x 当 x =1;yi+1 = yi+k

即:当x每递增1,y递增k(即直线斜率);

注意上述分析的算法仅适用于 k ≤1的情形。在这种情况下,x每增加1,y最多增加1。

当 k 1时,必须把x,y地位互换

2.1.2、中点算法扫描转换直线段:

算法步骤:

你可能喜欢

  • 计算机图形学大作业
  • 图形设计
  • 计算机图形学实验报告
  • 太阳系行星
  • 计算机图形学代码
  • 计算机基础课程
  • 计算机图形学实习报告

计算机图形学基础课程设计相关文档

最新文档

返回顶部