直线插补和圆弧插补 比较积分法和DDA法 interplotion.c是纯算法 run.c里的函数被上面那个文件调用且为外部提供访问接口
2021-06-25 22:49:51 3KB 数控算法
1
本程序用C++ Glut/OpenGL实现DDA与Bresenham的直线画法,鼠标点击画直线,多边形。扫描线算法填充复杂多边形,Cohen-Sutherland直线裁剪以及Sutherland-Hodgeman多边形裁剪。内附英文READEME文件。运行程序后右键点击显示菜单,界面友好。
2021-06-21 10:38:41 538KB OpenGL Glut c++ 计算机图形学
1
Vc++6.0中,直线算法(DDA算法,中点算法),基于图形学的小练习
2021-06-16 16:54:20 1.82MB DDA算法
1
里面包含大多数计算机图形学的实现算法 (1)画直线、画多边形、画圆、画字符 (2)对多边形进行填充 (3)图形裁剪 (4)图形的几何变换 (5)三维图形的消隐及着色 1、 界面要求 (1) 系统采用Windows通用的界面式样; (2) 所有功能必须集成在一个界面下; (3) 不同的功能采用不同的菜单; (4) 所有的功能必须具有菜单和图标两种操作方式; 2、 画直线 (1) 可以任意指定直线的起止点位置; (2) 可以任意设置直线的线宽; (3) 可以任意设定直线的颜色; 3、 画多边形 (1) 可以任意指定多边形的边数和多边形的节点位置; (2) 可以任意设置多边形边线的线宽; (3) 可以任意设定多边形边线的颜色; 4、 画圆 (1) 可以任意指定圆心和半径; (2) 可以任意设置圆弧边线的线宽; (3) 可以任意设定圆弧边线的颜色; 5、 画字符 (1) 可以任意指定字符的位置; (2) 可以任意设置字符的大小、颜色、方向、字体等; (3) 所画的字符对象可以是单个字符,也可以是具有多个字符的字符串; 6、 多边形填充 (1) 可以对任意形状的多边形进行填充; (2) 可以处理包含洞的多边形; (3) 可以通过选择多边形或在指定多边形内的一点(种子点)进行多边形填充; (4) 可以任意设定多边形填充的颜色; 7、 裁剪 (1) 以矩形为裁剪窗口; (2) 被裁剪的对象包括线段、多边形、圆、字符等,其数量不限; (3) 可以任意指定矩形窗口的位置; (4) 线段裁剪算法可以为逐点判断法、cohn-Sutherland算法等;其它算法不限; 8、 几何变换 (1) 图形变换包括对二维图形进行平移、旋转、缩放、对称等变换,以及对三维图形进行平移、旋转、缩放等变换; (2) 平移、旋转和缩放可以通过鼠标操作和输入变换参数两种方式进行; (3) 二维图形可以至少包括直线、多边形、圆、字符等; (4) 三维图形至少包括多面体; (5) 二维图形数据可以通过本系统的画图功能生成,也可以通过文件读入;三维图形数据采取文件读入方式; 9、 消隐 (1) 消隐对象为多面体,多面体的形状不限; (2) 消隐所采用的算法不限; (3) 多面体图形数据采取文件读入方式; (4) 三维图形的显示步骤必须是:在读入多面体数据后,首先显示没有经过消隐的三维图形,在输入消隐处理命令后,显示消隐后的三维图形;
2021-06-08 20:32:34 7.44MB DDA直线 种子填充 Bezier Bresenham
1
计算机图形学 dda_line DDA生成直线 VC++6.0实现
2021-05-30 20:18:14 353KB DDA VC
1
实验1 直线段的扫描转换 实验类型:设计性 实验类别:专业实验 实验目的 1. 通过实验,进一步理解直线段扫描转换的DDA算法、中点bresenham算法及bresenham算法的基本原理; 2. 掌握以上算法生成直线段的基本过程; 3. 通过编程,会在C/C++环境下完成用DDA算法、中点bresenham算法及bresenham算法对任意直线段的扫描转换。 实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用DDA算法中点bresenham算法及bresenham算法实现任意给定两点的直线段的绘制(直线宽度和线型可自定)。 实验步骤: 1、 复习有关算法的基本原理,明确实验目的和要求; 2、 依据算法思想,绘制程序流程图; 3、 设计程序界面,要求操作方便; 4、 用C/C++语言编写源程序并调试、执行; 5、 分析实验结果 6、 对程序设计过程中出现的问题进行分析与总结; 7、 打印源程序或把源程序以文件的形式提交; 8、 按格式要求完成实验报告。 实验报告要求: 1、 各种算法的基本原理; 2、 各算法的流程图 3、 实验结果及分析(比较三种算法的特点,界面插图并注明实验条件) 4、 实验总结(含问题分析及解决方法) 实验2 圆的扫描转换 实验类型:设计性 实验类别:专业实验 实验目的 1、 通过实验,进一步理解和掌握中点bresenham画圆算法的基本原理; 2、 掌握以上算法生成圆和圆弧的基本过程; 3、 掌握在C/C++环境下完成用中点bresenham算法圆或圆弧的绘制方法。 实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用中点(Besenham)算法实现圆或圆弧的绘制。 实验步骤 1. 复习有关圆的生成算法,明确实验目的和要求; 2. 依据算法思想,绘制程序流程图(注意圆弧生成时的输入条件); 3. 设计程序界面,要求操作方便; 4. 用C/C++语言编写源程序并调试、执行; 5. 分析实验结果 6. 对程序设计过程中出现的问题进行分析与总结; 7. 打印源程序或把源程序以文件的形式提交; 8. 按格式要求完成实验报告。 实验报告要求: 1. 分析算法的工作原理; 2. 画出算法的流程图 3. 实验结果及分析(比较圆与圆弧生成算法的不同) 4. 实验总结(含问题分析及解决方法) 实验3 多边形的区域填充 学时:2 实验类型:设计性 实验类别:专业实验 实验目的 1. 通过实验,进一步理解和掌握几种常用多边形填充算法的基本原理 2. 掌握多边形区域填充算法的基本过程 3. 掌握在C/C++环境下用多边形填充算法编程实现指定多边形的填充。 实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用种子填充算法和扫描线填充算法等任意两种算法实现指定多边形的区域填充。 实验步骤 1. 复习有关算法,明确实验目的和要求; 2. 依据算法思想,绘制程序流程图(指定填充多边形); 3. 设计程序界面,要求操作方便; 4. 用C/C++语言编写源程序并调试、执行(最好能用动画显示填充过程); 5. 分析实验结果 6. 对程序设计过程中出现的问题进行分析与总结; 7. 打印源程序或把源程序以文件的形式提交; 8. 按格式要求完成实验报告。 实验报告要求: 1. 分析算法的工作原理; 2. 画出算法的流程图 3. 实验结果及分析(比较两种算法的不同) 4. 实验总结(含问题分析及解决方法)
2021-05-30 16:00:36 5.83MB 计算机图形学实验 课程设计 DDA bresenham
1
DDA_直线_圆弧插补
2021-05-23 21:01:55 143KB DDA_直线_圆弧插补
1
本资源为计算机图形学基本算法的实现,包括直线DDA,中点画线,八分法画圆,四分法画椭圆,直线的裁剪,区域填充的扫描线算法,裁剪多边形算法等。基于vs2010MFC,有需要自取
1
DDA或中点算法实现直线段、椭圆或圆的绘制,内有完整的实验报告和代码
2021-05-12 20:39:52 9KB DDA 算法 中点算法 C
1