作业题:
请参考课本教材和查阅图形学书籍资料。
1.
1)给定直线的起点坐标为 P0(x0,y0)、终点坐标为 P1(x1,y1),容易计算出直线斜率
k。假设 0≤k≤1,则 x 方向为主位移方向,绘制直线的递推公式为:
,这称为数值微分法( Digital Differential Analyzer ,DDA ),请编程实现之。提示: DDA 算
法实质上是对直线斜率进行了四舍五入计算。
2)圆的扫描转换和椭圆的扫描转换的编程实现。
2.
用鼠标在屏幕上绘制任意顶点数的封闭多边形并填充,填充效果如下图所示。编程要求:
⑴多边形的顶点数不受限制;
⑵按下鼠标左键,拖动鼠标绘制多边形,同时按下 Shift 键可以绘制水平边或垂直边;
⑶单击鼠标右键闭合多边形;
⑷使用边缘填充算法填充多边形。
3
请按照图所示,使用对话框输入直线的起点和终点坐标。在窗口左侧区域绘制输入直线和
“窗口”,