【此系列文章基于熔融沉积( fused depostion modeling, FDM )成形工艺】
这一篇文章我说一下填充算法的同心填充(Concentric),同心填充Slice3r中有实现。但说实话,我还在那家公司的时候,公司并没有用它打印过模型,也不知道具体效果如何,但我在我的程序中实现它,是为了对其他的填充算法做一个补充,后来也发现它确实有价值。它的优势主要体现在它是完全依据模型的拓扑结构自然生成的,它不会对边界产生冲击,使得影响到最终的成型质量;沿着边界矢量环,环环向内推进,直到离散的填满整个层区。如下图(这是我在最初版本中做出的效果,虽然不是很理想,但是能反映出正确的趋势):

这里实现的话大致有两个思路:
A:利用前面讲的生成内边的技术类似的进行向内的填充;
B:先利用某一个映射把图形矢量离散化,然后利用图像处理技术进行填充,最后在把离散的图像逆映射回原来的矢量集合。
上面的图片显示的是B的效果。从理论上讲最佳方案应该是A方案,这是因为A非常规则,并且是零误差的。但是A的实现有难度。
A方案首先基于我在前面讲到的添加内边的技术,然后从外向内“层层推进”,这里要注意“裂变”,也就是在层层推进的过程中,环断开的情况,这时候需要依赖阈值自动裂开及闭合的算法,这里就不详述此算法。就如上图所展示的那样,最外层是一个环,里面就会出现多个环的情况。最终会收敛为很小的环(理论上是一个点),还要注意阈值,当环所围成的区域面积小于阈值时,需要把该环忽略。
B方案的特点是实现较为简单,易于维护。缺点是由于该算法是基于图像处理算法,要求对原图形进行离散化再插值拟合回去的两过程,会带来较大的误差。对一些含有较多直径很小的分支的切面矢量集合,会产生不可容忍的错误。原因是:

矢量集合→discretize位图→fit边界矢量集合

矢量集合\overset{discretize}{\rightarrow}位图\overset{fit}{\rightarrow}边界矢量集合
是一个依赖“逼近”的算法过程。
B方案也要实现这个“层层推进”,每一层都执行操作:

位图→erosion(mathematicalmorphology)位图→fit边界矢量集合

位图\overset{erosion(mathematical morphology)}{\rightarrow}位图\overset{fit}{\rightarrow}边界矢量集合
直到收敛到内部面积小于 A(阈值)A(阈值)的矢量环,则停止迭代,算法结束。这里要用到图像处理中的数学形态学——腐蚀。每次做腐蚀操作的时候,也可以对膨胀腐蚀任意组合(先腐蚀后膨胀,类似于开运算),根据项目的具体需求可以选择相关的实现方式。描述数学形态学的资料很多,实现代码也很多,这里就不对这一块进行详述。
最后要做的前面几讲中反复强调的,就是把每层的边界矢量首尾相接,以最小“间断律”的输出所有的边界矢量。当然,这在同心填充中处理起来很简单,只需要把“每一圈”的矢量简单的组织成首尾相接矢量环就可以了。然后以“圈”为单位从外向内打印就可以了。

参考文献:
[1] 多连通曲面离散点集的 3D 三角划分算法研究 肖双九, 邱泽阳, 张树生, 杨海成(西北工业大学)

[2] 数字图像处理 冈萨雷斯著

转载请注明出处:http://blog.csdn.net/fourierfeng/article/details/49045401

3D打印技术之切片引擎(7)相关推荐

  1. 3D打印技术之切片引擎(1)

    3D打印技术之切片引擎(1) ​ 文章转自: http://blog.csdn.net/fourierFeng/article/details/43736393?locationNum=9&f ...

  2. dlp型3d打印机_【论文新萃】光聚合成型3D打印技术复制印章研究

    光聚合成型3D打印技术复制印章研究 冯明帅1  彭嘉俊2  马立2  (1.广东省公安厅刑事技术中心,广东广州,510050 2.广东警官学院刑事技术系,广东广州,510440) 摘  要:本项目研究 ...

  3. 3d打印技术与计算机,讲述3D打印技术是如何实现打印的,与普通的打印有何不同...

    原标题:讲述3D打印技术是如何实现打印的,与普通的打印有何不同 3D打印技术,自打上世纪80年代逐渐运用至今,就一直都备受关注,直至目前仍被大家所纷纷议论.那它是一种怎样的技术?能打印出哪些东西来呢? ...

  4. 计算机技术在文物修复中的应用,【3D打印技术在文物修复中的应用原稿材料】...

    3D打印技术在文物修复中的应用(原稿) <3D打印技术在文物修复中的应用(原稿).doc>由会员分享,可免费在线阅读全文,更多与<3D打印技术在文物修复中的应用(原稿)>相关文 ...

  5. 各类3D打印技术的制造工艺原理

    LOM LOM 3D打印技术简介 LOM工艺称为叠层实体制造.英文全称为:Laminated Object Manufacturing. 在我国也被称为分层实体制造SSM (slicing solid ...

  6. 还原光聚合3D打印技术知多点

    基于还原光聚合方法的3D打印机具有填充有光聚合物树脂的容器,然后用UV光源硬化.还原光聚合3D打印技术都有哪些?让3dlabstore告诉你! 立体光刻(SLA) 该过程中最常用的技术是Stereol ...

  7. 嵌入式ARM处理器与持续火热的3D打印技术有何关联

    4月17日,科技博主「@老师好我叫何同学」在停更73天后,更新了一条关于"3D打印机"的视频,让这个曾因科普5G技术而登上央视新闻的年轻UP主,再次登上了热搜榜首. 在大众的印象里 ...

  8. 科普:3D打印技术是怎么回事

    3D打印技术根据成型原理分为不同的类型,最常见的有熔融沉积成型技术(FDM)和立体光固化成型技术(SLA).创客的集结号已吹响,一起来了解下有关3D打印的知识吧. FDM技术是什么? FDM技术在桌面 ...

  9. 波音公司计划利用 3D 打印技术制作模块化卫星

    2019独角兽企业重金招聘Python工程师标准>>> 波音的大型高端卫星,成本都要 1.5 亿美元之高,但据华尔街日报的报道指,他们最新的计划却是希望藉 3D 打印技术和模块化设计 ...

最新文章

  1. sys.stderr.write(f“ERROR: {exc}“) SyntaxError: invalid syntax错误
  2. 面向对象设计使用语言选择
  3. php负载均衡慕课网,Nginx实现负载均衡
  4. Docker的Solomon Hykes在OSCON上的主题演讲的要点
  5. Stanford CS230深度学习(二)手动搭建DNN
  6. matlab malloc,[原创]Matlab 高性能代码编写(三)内存是要先分配再使用的
  7. skynet源码阅读4--定时器实现
  8. java app的强制更新吗_java – Spring JPA / Hibernate事务强制插入而不是更新
  9. 什么是强人工智能程序,需要具备哪些基本能力?
  10. 5个值得安利的PC软件,建议收藏转发
  11. 教你如何修复硬盘及恢复硬盘丢失数据
  12. java单线程刷功德程序
  13. 叶子的故事   作者:佚名
  14. RFID电子标签有哪些区
  15. java多表头导出excel表格_【每日一点】1. Java如何实现导出Excel单表头或多表头
  16. 订单超时未支付的解决方案
  17. 计算机更新并关机能关闭吗,win10关机不想更新并关机而是直接关机步骤设置
  18. STM32+ws2812灯条,点灯升级版
  19. SEO工作,不要三人成虎!
  20. emac接口与phy交互

热门文章

  1. java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成、解析、下载
  2. Apache JMeter压测工具
  3. GT-S7500 显示存储卡满解决办法
  4. java二叉树计算深度
  5. maple的Linux安装步骤,Linux下面如何安装maple,mathematica,matlab这类软件?
  6. 3GPP TS 23501-g51 中英文对照 | 5.2.3 Identification and authentication
  7. 推断统计学 假设检验 分布
  8. WPF学习之深入浅出话模板
  9. IOS14桌面布局图片怎么设置
  10. 2021年全球及中国集成电路销售及趋势分析