高档数控系统的螺旋线插补算法设计毕业论文(编辑修改稿)内容摘要:

更小了,这样就可以利用 1iY 近似代替 iY 参与计算,由此而引起的轮廓误差暂时可以忽略不计。 故可以改写成: )21(1)21c o s (111   iii YYRa  (35) 根据几何意义取消绝对值符号,可求得: )21(11   iii YYRLX (36) 南京工程学院康尼学院本科毕业设计(论文) 10 有根据其他公式可得: 212 )( iiii XXRYY   (37) 所以圆弧线插补如下表所示: 表 31 圆弧插补计算公式总汇 表 31 展示了各类型圆弧插补公式之间的内在联系 ,它们的变化有明显的规律: (1)所有的顺圆弧插补计算公式都是 SR1 的变形公式 ,只要对该象限的 ΔXi、 ΔYi赋方向数 ,该象限的插补计算公式就转变为 SR1 型计算公式。 (2)所有的逆圆弧插补计算公式都 是 NR1 的变形公式 ,当给出该象限的 ΔXi、 ΔYi赋方向数时 ,该象限的插补计算公式就转变为 NR1 型计算公式。 (3)当 X 与 Y 坐标交换后再赋方向数时 ,顺圆与逆圆的插补计算公式就可以互换。 由此可得 ,圆弧插补计算仅用 SR1 型计算公式即可。 在使用时根据需要作方向数及交换 X、 Y 坐标的处理。 注意: ΔXi、 ΔYi 的初值始终为绝对值。 粗插补可分为两步进行 :第一 ,计算常量 ,第二 ,计算进给量与动点坐标。 据此 ,可设计数据采样圆弧插补的计算程序 ,其流程框图如图2 所示。 螺旋线 Z轴插补算法 设插补周期为 T ,单位为 ms ,圆弧插补的进给速度为 F , 单位为 mm/ min ,进给的最小分辨率为 01001 mm ,在 X Y 平面上 ,从 p′i 到 p′i + 1 的步长为 : 60/_ FTar cstep  (38) 每个插补周期 Z 轴对应的步长为 step _ l i l i ne 对应的弧长为 : 南京工程学院康尼学院本科毕业设计(论文) 11 ))2/(_s in(2 Rar cs t e pRar adi an  (39) 将螺旋线展开 , 如图 2所示 , 每个插补周期的步长与总的插补长度有如下的关系 : a rcd is t zd is tra d ia nlin este p ___  (310) 从上式可以得到 : a r cd i s t Ra r cs t epRazd i s tlines t ep _ ))2/(_s i n (_2_  (311) step_line是每个插补周期 Z 轴的进给量 Δzi。 因此下一个插补点的坐标为 : iiiiiiZZiZYYiYXXiX111 (312) 因为 X Y 平面上的圆弧步长 step_arc 与 Z 轴的步长 step_line 保持严格的比例关系 ,所以当 Z 轴坐标达到插补终点时 , X 轴和 Y 轴也会同时达到终点 ,因此在程序中判断插补是否结束 ,只需要判断 Z轴是否达到终点 [1]. 本设计采用的算法 本文中所采用的的是数据采样法来计算螺旋曲线的插补。 因为螺旋曲线是三维坐标系,但是螺旋线 XY 轴相当于圆弧,所以可以采样直径函数法 ——内接弦线的方法计算 XY 轴。 Z轴的变化就是根据 XY 轴所运行的的次数来算 Z轴每个步长。 下图是螺旋线插补的流程图: 南京工程学院康尼学院本科毕业设计(论文) 12 图 32 数据采样插补计算螺旋线 XY轴程序流程图 插补开始计算 插补准备 mFTL 2)4( 22 LRK  LAnAKmRLA  ,2/ 2 是顺园。 第一象限。 第二象限。 第三象限。 交换 ii YX, 是终点。 跨象限。 粗插补结束 赋方向数并存 0,0  ii YX 保存插补点坐标 11,  ii YX 并修正存储区地址指针 计算步距增量及动点坐标: iii nXmyX  iiiiiiiii YYYXXXnYmxY   11 ,。 存储区地址指针 回拨至首地址 N Y Y N N N N Y Y Y N Y 赋方向数并存 0,0  ii YX 赋方向数并存 0,0  ii YX 赋方向数并存 0,0  ii YX 南京工程学院康尼学院本科毕业设计(论文) 13 第四章 仿真软件的设计 开发工具的选择 OpenGL 简介 OpenGL(全写 Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。 OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。 OpenGL适用于从普通 PC 到大型图形工作站等各种计算机,并可与各种主流操作系统兼容,从而成为占据主导地位的跨平台专业 3D 图形应用开发包,进而也成为该 领域的行业标准。 OpenGL 特点 OpenGL作为一个性能卓越的图形应用编程接口( API),适用于广泛的计算机环境,并已成为目前三维图形开发标准,是从事三维图形开发工作的技术人员所必须掌握的开发工具。 OpenGL的应用领域十分广泛,如军事、电视广播、 CAD/CAM/CAE、娱乐、艺术造型、医疗影像、虚拟现实等。 它具有以下特点 ,如图 41: 图 41 OpenGL 特点 图形 质量好、性能高:无论是三维动画、 CAD,还是可视化计算机、视觉模拟等,都利用了 OpenGL 高性能、高图形质量的特点。 这个特点使得程序员在医学图像、虚拟现实、 CAM/CAD/CAE、广播和等领域中创造和显示出超乎想象的图形。 行业标准: OpenGL ARB 作为独立的联合委员会,制定了 OpenGL的规范文档。 伴随硬件厂商对 OpenGL的硬件支持, OpenGL成为了是唯一独立于供应商的、真正特点 图形质量好 高性能 行业标准 稳定性 可靠性 可移植性 可适应性 易用性 南京工程学院康尼学院本科毕业设计(论文) 14 开放的跨平台图形标准。 稳定性:在任何平台上都能执行 OpenGL,而且它高版本兼容低版本,用来保证已经开发完成的应用程序不会 失效。 可靠性和可移植性:利用 OpenGL 技术开发的应用图形软件与硬件无关,只要硬件支持 OpenGL API 标准就可以了,也就是说, OpenGL 应用可以运行在支持OpenGL API 标准的任何硬件上。 可扩展性: OpenGL是低级的图形 APi,它具有充分的可扩展性。 只要厂商提供OpenGL扩展,就可以轻松实现硬件特有功能。 利用 OpenGL扩展, OpenGL实现者可以添加新的处理算法。 可适应性:基于 OpenGL API 的图形应用程序可以运行在许多系统上,有次,OpenGL应用程序可以适应开发人员选择的各种目 标平台。 易用性: OpenGL具有良好的结构、直观的设计和逻辑命令。 与其它的图形程序包相比, OpenGL应用程序只有很少的代码,因此执行速度快。 此外, OpenGL封装了有关基本硬件信息,使开发人员无须针对具体的硬件进行专门的设计。 OpenGL 功能 OpenGL是一个独立于操作系用和窗口系统开放的三维图形软件包,以 OpenGL为基础开发的应用程序可以十分方便地在各种平台间进行移植; OpenGL 还可以与VC++紧密接口,便于实现图形的有关计算和图形算法,可保证算法的正确性和可靠性; OpenGL使用 简便,效率高。 它具有以下功能: 、 图 42 OpenGL 功能 建模: OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面绘制函数。 功能 建模 变换 颜色模式设置 光照和材质设置 纹理映射 双缓存动画 位置显示 南京工程学院康尼学院本科毕业设计(论文) 15 变换: OpenGL图形库的变换包括基本变换和投影变换。 基本变换有平移、旋转、缩放、镜像四种变换,投影变换有平行投影(又称正射投影)和透视投 影两种变换。 其变换方法有利于减少算法的运行时间,提高三维图形的显示速度。 颜色模式设置: OpenGL颜色 模式有两种选择,即 RGBA 模式和颜色索引模式。 光照和材质设置: OpenGL自有自发光、环境光、漫反射光和高光。 材质是通过用光反射率来表示。 场景中的物体最终所反映到人的眼中颜色是光的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色。 纹理映射。 利用 OpenGL 纹理映射的功能可以十分形象逼真地表达出物体表面的细节。 位图显示和图象的增强图象功能除了通过基本的拷贝和像素读写外,还提供融合、抗锯齿(反走样)和雾的特殊图象效果的处理功能。 以上三条可使被仿真物更具真实感,增强图形显示的特殊效果。 双缓存动画双 缓存即前台缓存和后台缓存,简言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。 此外,利用 OpenGL 还能实现运动模糊、深度暗示等特殊效果,利用这些效果可以实现消隐算法。 VC 环境下 添加 OpenGL 的编程步骤 Visual C++是 Microsoft 公司推出的一个基于 Windows 系统平台、可视化的集成开发环境。 从 Visual C++ 开始,就 可以 内置了 OpenGL,使得 OpenGL可与 VC紧密接合,便于实现三维图形算法,使用简便,效率高,为 OpenGL在微机上应用创造了条件。 本课题的开发环境将选用 VC++,在 VC++ 环境下开发 OpenGL应用程序需解决 OpenGL与 VC++6. 0 窗口系统的接口问题,主要是为 OpenGL创建适当的图形操作描述表并设置正确的像素格式。 此外就是要将 OpenGL编程与 VC++ 事件编程相结合,在 VC++ 事件处理程序中利用 OpenGL进行图形绘制,从而真正地将 OpenGL融入到程序中,使之于程序的其他部分有机地结合成为一个整体。 下面是用 VC++ 编写 OpenGL程序的基本步骤: 1)利用 MFC AppWizard 建立一个单 文档应用程序框架。 在文档视图结构中,视图负责窗口中内容的显示,因此所有的 OpenGL绘制工作应放在视图类中进行。 2)打开资源编辑器对程序界面上的菜单、对话框等资源进行必要的修改。 3)对工程中的设置选项进行设置,主要是在弹出的工程设置窗口中的链接项的对象 /库模块一栏里加入 OpenGL32. 1 ib 和 g1u32. lib 这两项。 南京工程学院康尼学院本科毕业设计(论文) 16 4)在程序中包含进 OpenGL的头文件和库函数文件。 在视图类 CView 的头文件View. h中,添加有关 OpenGL的头文件,如下 : include include gl\gl .h” gl\glu. h” 其中 g1. h文件是 OpenGL必不可少的, glu. h文件表示要用到 OpenGL实用库函数。 5)利用 ClassWizard 进行 OpenGL所必须的初始化工作。 OpenGL的初始化工作包括 : 设置象素格式、建立绘制描述表以及初始化 OpenGL投影观察体系等工作。 通过象素格式的设置,规定了 OpenGL对象素进行操作的基本方式,绘制描述表指明了 Windows 进行图形显示的基本属性。 6)根据用户对程序的功能要求,利用 VC++6. 0 中的各种编辑工具,给视图类CView 或其它类, 添加具有相应功能的成员函数,以及进行相应的事件处理。 运用OpenGL建立实体几何模型以及实。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。