当前位置: 首页 > java >正文

总结【过往部分项目经历一(计算机图形学方向)】

总结【过往部分项目经历】

      • 1.蜂窝填充算法
      • 2.孔洞识别算法
      • 3.扫掠轮廓计算
      • 4.二维排料算法
      • 5.最大内接圆算法

1.蜂窝填充算法

介绍: 主要从二维六角网格基本算法出发,基于自定义数据结构和拓扑关系,从二维到三维进行拓展,六角网格->六棱柱->带孔六棱柱->基于空间关系的蜂窝。
二维六角网格算法原理,参考博客六角网格大观,借助到里面的三轴坐标系统。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
从二维到三维的延拓,使用自定义数据结构和拓扑关系(技术细节不便展示)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.孔洞识别算法

介绍: 对于破损的网格表面,有时需要精准找到对应孔洞进行修复和网格重建。所以实现孔洞识别算法是后续过程的必经之路。
结果显示:自定义算法识别准确率达到工业级软件Materialise Magics官网同等效果。
在这里插入图片描述
整体效果,找到所有的孔洞,每个孔洞都为一个闭环链路,且环与环之间不存在相交,但可共顶点或共边。
在这里插入图片描述
对于复杂的孔洞边界也能精准识别,而且算法复杂度为 O ( l o g N ) O(logN) O(logN),也是比较低的。
在这里插入图片描述
在这里插入图片描述
找到第3个孔洞,第4个孔洞情形:
在这里插入图片描述
在这里插入图片描述
第5个孔洞,第6个孔洞情形:
在这里插入图片描述
在这里插入图片描述

3.扫掠轮廓计算

介绍: 空间一固定多边形PFA(红色表示),和一个只做平移运动的多边形PMB(绿色表示),还有一动点p,p和多边形PMB相对位置保持不变。当p在多边形PFA边界运动一周后,连动的多边形PMB扫掠出一个外围多边形(蓝色多边形即为最终结果)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将运动多边形拓展为更一般的凹多边形,算法也更具备一般性。
在这里插入图片描述
在这里插入图片描述

4.二维排料算法

介绍: 在特定空间(可以为矩形或任意多边形轮廓内),将多个多边形作为待摆放样件,使两两之间不重叠,同时尽可能紧凑,空间利用率尽可能较高。
在这里插入图片描述
排样时是用到一种NFP算法,当时参考的是知网这篇博士基于临界多边形的二维排样算法研究,这个算法实现比较复杂。自己测试中发现了部分解退化解特殊情形,虽然项目落地后不容易测到,也算是该算法一个小缺陷吧。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
和行业标杆软件VoxelDance对比:
在旋转步长为20度的情况下,和tango对比情况。
在这里插入图片描述
在这里插入图片描述
在旋转步长为20度的情况下,和tango对比情况。
在这里插入图片描述
在这里插入图片描述

5.最大内接圆算法

介绍: 任意多边形轮廓(可以是凹的,带多个孔洞的),计算其内部最大内接圆。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
相比较于泊松采样,条件采样,以及四分法,计算效率明显出现几十倍地提升。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/30.html

相关文章:

  • 一路磕磕绊绊解决flutter doctor 报错CocoaPods not installed
  • 鸿蒙API15 “一多开发”适配:解锁黄金三角法则,开启高效开发新旅程
  • Gateway
  • 【HDFS入门】HDFS高可用性与容错机制深度解析
  • XC7K410T‑2FFG900I 赛灵思XilinxFPGA Kintex‑7
  • 5.VTK 相机
  • 智能体开发范式革命:Cangjie Magic的颠覆性创新与行业重塑
  • 电控---printf重定向输出
  • BFC详解
  • 4.16 AT好题选做
  • 2026《数据结构》考研复习笔记二(C++面向对象)
  • QML 信号与槽
  • 微信小程序文字混合、填充动画有效果图
  • 全自动驾驶(FSD,Full Self-Driving)自动驾驶热点技术的成熟之处就是能判断道路修复修路,能自动利用类似“人眼”的摄像头进行驾驶!值得学习!
  • SpringBoot项目动态加载jar 实战级别
  • 探索鸡养殖虚拟仿真实验:科技赋能养殖新体验
  • 新型多机器人协作运输系统,轻松应对复杂路面
  • 黑马商城项目(三)微服务
  • IDEA 中 Scala 项目远程连接虚拟机 Spark 环境
  • ubuntu 向右拖动窗口后消失了、找不到了
  • Nodemon vs. PM2:开发与生产环境的 Node.js 部署最佳实践
  • 【FFmpeg从入门到精通】第二章-FFmpeg工具使用基础
  • 数据通信学习笔记之OSPF路由汇总
  • ThingsBoard3.9.1 MQTT Topic(2)
  • iptables防火墙
  • NO.96十六届蓝桥杯备战|图论基础-多源最短路|Floyd|Clear And Present Danger|灾后重建|无向图的最小环问题(C++)
  • Doris FE 常见问题与处理指南
  • 告别昂贵语音合成服务!用GPT-SoVITS生成你的个性化AI语音