最近完成了计算机图形学的实验,实现了以halfedge(半边)数据结构为基础的Loop subdivision(循环细分) 和 modified butterfly subdivision(改进的蝴蝶细分)两种算法,并用OpenGL进行可视化。

模型为.wrl(虚拟现实文本格式)文件,可以对 #VRML V2.0 utf8 标准的模型进行读写和细分。

算法

细分算法主要参考了课程lecture以及两位CSDN博主[1,2]的博客

关于具体实现中的出入度计算、remesh的算法如下:(来自实验报告截图)

实现结果

详细实现可以参考GitHub上的工程,以下是部分结果截图:

(1) tetrahedron

Loop subdivision

Modified-butterfly subdivision

(2)Cube

Loop subdivision

Modified-butterfly subdivision

(3)T-Shape

Loop subdivision

Modified-butterfly subdivision

欢迎交流指正。

Loop subdivision(循环细分) modify butterfly subdivision(改进的蝴蝶细分)算法实现相关推荐

  1. 图形学论文:《A subdivision algorithm for computer display of curved surfaces》细分曲面的计算方法

    <A subdivision algorithm for computer display of curved surfaces> 细分曲面的计算方法 PDF下载地址 该报告提出了一种用于 ...

  2. 为什么JS是单线程?JS中的Event Loop(事件循环)?JS如何实现异步?setimeout?

    https://segmentfault.com/a/1190000012806637 https://www.jianshu.com/p/93d756db8c81 首先,请牢记2点: (1) JS是 ...

  3. node.js中对Event Loop事件循环的理解

    javascript是单线程的,所以任务的执行都需要排队,任务分为两种,一种是同步任务,一种是异步任务. 同步任务是进入主线程上排队执行的任务,上一个任务执行完了,下一个任务才会执行. 异步任务是不进 ...

  4. JVM safe point 安全点和 counted loop 可数循环

    JVM safe point 安全点和 counted loop 可数循环 前言 @author JellyfishMIX - github / blog.jellyfishmix.com LICEN ...

  5. Event Loop 事件循环简介

    1.Event Loop? Event Loop 其实也是在面试中经常会出现的一个题,前端程序员回答不上来是正常的,因为 Event Loop 是 C++ 实现的,实现原理和 JavaScript 没 ...

  6. Even Loop(事件循环机制)

    1.什么是事件循环机制 Event Loop即事件循环,是解决javaScript单线程运行阻塞的一种机制. 2.为什么使用Even Loop 原因:JavaScript 是单线程的.单线程就意味着, ...

  7. 改进Zhang Suen细化算法的C#实现

    本文主要实现了改进Zhang Suen细化算法的C#实现,相关论文 :"牟少敏,杜海洋,苏平,查绪恒,陈光艺.一种改进的快速并行细化算法[J].微电子学与计算机,2013,(第1期)&quo ...

  8. 基于改进二进制粒子群算法的配电网重构(matlab实现)

    目录 一.引言 1.问题背景 2.二进制粒子群算法 2.1简介 2.2 S i g m o i d Sigmoid Sigmoid函数 2.3二进制粒子群算法 2.4算法的改进 二.配电网重构模型 1 ...

  9. 基于改进层次凝聚聚类算法的垃圾收运跨区域调度策略

    1引言: 垃圾收运的各个环节是控制垃圾回收成本的关键,当前分区域运营模式存在以下问题: 运营成本高:分区域运营模式限制了城市生活垃圾收集和运输的各个环节.从一个区域的特定街道收集的垃圾只能在该区域街道 ...

最新文章

  1. 记一次数据库崩溃的恢复
  2. conscience ['kɔnʃəns]
  3. 常用30种MySQL查询语句优化方法
  4. php适配模式实例,php适配器模式简单应用示例
  5. 西铁院云计算机室与应用,关于开展“云桌面应用”技术服务的通知
  6. opa847方波放大电路_比例阀伺服放大器设计(一)
  7. redhat 6.8 配置 centos6 163 的 yum 源
  8. 从myspace数据库看分布式系统数据结构变迁(转)
  9. java service 初始化_【Java】Nacos – NacosNamingService初始化
  10. 两种include方式及filter中的dispatcher解析
  11. textarea光标处插入文字
  12. 软件著作权申请教程模板材料下载
  13. 键盘映射keybmap工具使用
  14. gridview的sort_GridView中排序问题
  15. 文件存储-CephFS
  16. 单片机c语言msb全称,51单片机英文缩写全称(整理最全)
  17. 8款国内外主流商业智能BI工具分析,助你轻松选型!
  18. 深刻解读Deeper是Substrate Builders Program中的头部项目
  19. MySQL数据库在Windows系统上安装和基本使用
  20. 【Tableau】如何使用tableau进行两列数据的运算

热门文章

  1. 02-mysql多表查询
  2. 综述 | GNN金融风控领域业界进展调研
  3. 奇热电影年入千万盈利解剖
  4. 推一篇关于网络的好文章
  5. 微信网页开发之video标签[HTML5微信播放器video]
  6. .net core win7和win10发布的dll不同以及缺少相关dll文件
  7. 金山安全和可牛合并仪式明日举行 雷军将出席
  8. 金山快盘显示服务器维护中,金山快盘总是显示“正在查找文件变化”无法同步的终极解决方法...
  9. 【报告分享】中国数字经济全景白皮书-易观智库(附下载)
  10. Python玩网易阴阳师百鬼夜行