[论文学习笔记]01一种轮廓平行扫描算法【3D打印路径规划】
文章目录
- 零.论文来源
- 0.1 概述
- 一.算法描述
- 1.1 定义一些概念
- 1.2 域分区
- 1.3 偏移量的生成
- 1.4 自交问题
- 1.5 尖角
- 1.6 外部轮廓和内部轮廓相交
- 1.7 空隙
- 1.8 连续运动
- 二.评估
- 2.1 总路径长度
- 2.2 表面质量
- 三.我的问题
零.论文来源
Y. Yang,et al.Equidistant path generation for improving scanning efficiency in layered manufacturing[J].Rapid Prototyping Journa,2002,Volume 8 · Number 1:30-37.
0.1 概述
轮廓平行扫描是尺寸精度最佳的3D打印路径规划算法之一,这种算法沿着切片轮廓平行的方向逐层向内扫描,最大程度上保证了轮廓的精度,避免了台阶效应产生的失真等问题。这篇论文的作者把自己的方法称为“Equidistant path generation method”。
一.算法描述
1.1 定义一些概念
1.简单多边形:非相邻边彼此不相交的多边形。
图1
图1引用自 Y. Yang,et al.Equidistant path generation for improving scanning efficiency in layered manufacturing[J].Rapid Prototyping Journa,2002,Volume 8 · Number 1:30-37.
数学表示:ei∩ej=∅,∀j≠i+1e_i\cap e_j=\varnothing,\forall j\neq i+1ei∩ej=∅,∀j=i+1
其中ei、eje_i、e_jei、ej是多边形的边。
2.循环(cycle)和链(chain):
1)循环是闭合的边界曲线,由有序的、首尾相连的线段组成。
2)链是多边形边界曲线上的线段。
3.循环深度:循环深度指的是轮廓包围的循环层数,可以用来刻画轮廓的复杂程度,可以画出深度树(图2)来形象的表示。如图2、3所示。
图2
图3
图2、3引用自 Y. Yang,et al.Equidistant path generation for improving scanning efficiency in layered manufacturing[J].Rapid Prototyping Journa,2002,Volume 8 · Number 1:30-37.
4.内循环和外循环:循环数是偶数,则是外循环,否则是内循环。如图2、3所示。
5.链的方向:链的左侧为实体时,此时链的前进方向为正方向。
显然,对于外循环,逆时针为正方向;对于内循环,顺时针为正方向。
1.2 域分区
(文章中并没有提及怎样进行分区处理,需要后续进行学习)
这是生成算法的预处理步骤,需要识别出切片层的实体部分(如图3中的阴影部分),这些部分将被填充,可以视为深度树中偶数的循环和其下一层循环之间的部分。
1.3 偏移量的生成
(文章中只有简单多边形的偏移量生成方法,没有提及曲线偏移量的生成方法,且在SLM过程中,也许会为了提高加工质量而更改加工参数,可能需要变距、变激光功率)
该算法的主要思想是等距离偏移轮廓。
链的直线可以用以下式子表示:
相邻两条边产生外偏移量的直线时会产生一个交点,如图4所示,该交点的方程为:
内偏移的交点方程为:
图4
图4引用自 Y. Yang,et al.Equidistant path generation for improving scanning efficiency in layered manufacturing[J].Rapid Prototyping Journa,2002,Volume 8 · Number 1:30-37.
求解方程可得到交点坐标:
将得到的所有交点按顺序相连,可得到偏移的轮廓。
1.4 自交问题
如图5所示,某条轮廓偏移线可能出现自交的情况。
图5
图5引用自 Y. Yang,et al.Equidistant path generation for improving scanning efficiency in layered manufacturing[J].Rapid Prototyping Journa,2002,Volume 8 · Number 1:30-37.
可以检查某条偏移线的交点,看是否发生了非相邻边相交的情况,并记录下来。
当发生自交时,说明这条偏移线中有小于最小可制造尺寸的位置,应当划分为多条闭合曲线,如图5所示。
用记录下来的交点之外的链构成的简单多边形循环当作新的独立的循环,交点之间的部分丢弃。
1.5 尖角
(感觉用处不大,没有细研究)
有一些尖角特征太细小了就是打印不出来,而且还会影响到下一次轮廓偏移,需要处理成比较平滑的轮廓。如图6所示。
图6
图6引用自 Y. Yang,et al.Equidistant path generation for improving scanning efficiency in layered manufacturing[J].Rapid Prototyping Journa,2002,Volume 8 · Number 1:30-37.
1.6 外部轮廓和内部轮廓相交
如图7所示,有时会出现外部轮廓和内部轮廓相交的情况。
图7
图7引用自 Y. Yang,et al.Equidistant path generation for improving scanning efficiency in layered manufacturing[J].Rapid Prototyping Journa,2002,Volume 8 · Number 1:30-37.
这两条循环将平面分为许多小区域,其中只有逆时针方向的封闭链是实体区域的边界,将这些链作为新的循环,最终可以形成如图8所示的效果。
图8
图8引用自 Y. Yang,et al.Equidistant path generation for improving scanning efficiency in layered manufacturing[J].Rapid Prototyping Journa,2002,Volume 8 · Number 1:30-37.
1.7 空隙
这种方法会产生空隙,采用不同层之间不同的偏移量来解决。
(在slm中,相邻轨道之间有一部分重叠,所以空隙问题可能并不明显,并且这篇论文中对于空隙处理的方式太落后了,后续需要学习新的方法)
1.8 连续运动
在材料喷射类方法中,喷嘴路径需要连续。
(但是在粉末床类的技术中不需要,所以这部分问题不是问题)
二.评估
2.1 总路径长度
(这篇论文中材料喷射的喷头速度恒定,所以计算方法并不适用)
结论:由于这种算法有路径重叠的问题,所以总路径比平行扫描方式略长。但是由于本方法的曲率和拐角较少,不需要喷嘴减速到静止再加速运动,整体速度略快于平行扫描方式。
2.2 表面质量
由于平行扫描方式的所有扫描末端都集中在表面部分,导致表面质量要比本方法差。
三.我的问题
1.粉末床类的工艺和材料喷射类工艺有相似之处,也有不同之处,那么在算法上需要怎样改进以适应粉末床类的工艺?
2.每种规划路径都需要有一些优化目标,我的优化目标是什么呢?
[论文学习笔记]01一种轮廓平行扫描算法【3D打印路径规划】相关推荐
- Dual Graph Attention Networks for Deep Latent Representation of Multifaceted Social...》论文学习笔记
Dual Graph Attention Networks for Deep Latent Representation of Multifaceted Social Effects in Recom ...
- 《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》论文学习笔记
<Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network>–<基于 ...
- 动态环境下的SLAM:DynaSLAM 论文学习笔记
动态环境下的SLAM:DynaSLAM 论文学习笔记 这篇文章 论文摘要 系统流程 相关环节的实现方法 神经网络检测图中动态物体(Mask R-CNN) Low-Cost Tracking 使用多视图 ...
- XML学习笔记01【xml_基础、xml_约束】
Java后端 学习路线 笔记汇总表[黑马程序员] XML学习笔记01[xml_基础.xml_约束][day01] XML学习笔记02[xml_解析][day01] 目录 01 xml_基础 今日内容 ...
- Bootstrap学习笔记01【快速入门、栅格布局】
Java后端 学习路线 笔记汇总表[黑马程序员] Bootstrap学习笔记01[快速入门.栅格布局][day01] Bootstrap学习笔记02[全局CSS样式.组件和插件.案例_黑马旅游网][d ...
- Activiti工作流学习笔记01
Activiti6工作流学习笔记01 activiti工作流目前官方最新版本是7.x,但....版本不重要了.这篇笔记只是我学习activiti6过程中的自我总结.如果笔记上有错误的话,欢迎赐教,谢谢 ...
- RN学习笔记01:概述、特点与环境搭建
RN学习笔记01:概述.特点与环境搭建 一.RN概述 React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 Reac ...
- C#设计模式(学习笔记[01])
C#设计模式(学习笔记[01])<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&quo ...
- django学习笔记01
原创博客地址:django学习笔记01 基于教程,刘江的博客教程Django教程:https://www.liujiangblog.com/course/django/87 第一章:模型层 1.1 模 ...
最新文章
- xmpp 服务器配置 open fire for windows 及 spark 测试
- ppt生成器_WPS又有新动作!发布新款PPT快速生成器,职场办公必备
- 3.type关键字.rs
- java的八种数据类型_JAVA 的8种基本数据类型
- [LeetCode-JAVA] The Skyline Problem
- oracle 执行java_oracle调用JAVA类的方法
- python中汉字与变量不可同时出现_Python语言应用培训课(选择练习)
- java多线程之ThreadLoal详解
- 谁说双非本科就一定无缘阿里?H哥粉丝6棉通过,喜提Offer!
- 使用Seaborn和Pandas进行数据可视化
- c语言调用自己编译的头文件,写自己的头文件 ——C语言的多文件编译
- 全球首发!惯性导航导论(剑桥大学)第四部分
- 怎么在WORD中输入10以上的带圈数字,看这里,10以上的带圈数字如何输入到WORD中
- 计算机网络技术蘑菇钉周记,2021年蘑菇钉第一周周记范文开学第一周周记精选范文.docx...
- QODBC查询Oracle中文乱码问题
- 计算机管理中打开移动硬盘磁盘必须格式化,Win10下移动硬盘无法打开提示需要格式化的三种解决方法...
- LabVIEW编程LabVIEW控制GPS例程与相关资料
- 2013、2014 U.S.NEWS美国大学排名榜
- for循环,for循环嵌套
- c语言怎么取字符串首字母,C语言 字符串首字母转换成大写简单实例
热门文章
- 王文彬:阿里云的下一步
- SD2.0大会上关于“大型网站架构技术”的讨论(笔记)
- 2021-11-29 vue移动端卖座电影项目(三) vue项目中使用Swiper插件,Film页面设置轮拨图,nowPlaying页面设置样式
- 自然辩证法课后思考题
- 牛客小白月赛21 J.Jelly
- raise ContentTooShortError(urllib.error.ContentTooShortError: <urlopen error retrieval incomplete:
- 石英晶体谐振器的功能有哪些
- CATT eCATT {转载}
- ramdisk“snmptraps”已满。因此,无法写入文件
- 支付退款流程设计_Niushop微信支付配置、微信退款配置、微信转账配置操作流程...