NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 40428|回复: 30
打印 上一主题 下一主题

[工作记录] Catmull-Clark细分算法突破

  [复制链接]
跳转到指定楼层
1m
发表于 2010-6-8 21:54:27 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 panhao1 于 2010-6-9 12:50 编辑

代码编写:潘浩
指导:李思前辈
除了wiki上的pdf 这里补充两个比较好的
基于区域分割的自适应Loop细分算法.pdf (357.22 KB, 下载次数: 153)

评分

参与人数 3强度 +17 照度 +50 收起 理由
syl1130 + 3 + 10
skywoolf + 10 精品文章
f(x) + 4 + 40

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2m
 楼主| 发表于 2010-6-8 21:57:49 | 显示全部楼层
本帖最后由 panhao1 于 2010-6-8 22:01 编辑

近期做了算法改进

自己的观点是
1既然写的是多边形网格细分就一定要突破4边mesh的限制
2尽量在不用犀牛SDK的情况下完成数据的处理,提高可移植性
3计算速度满足要求

第一点就是用线框作为输入物体 想必大家都知道线框很容易从网格或多重曲面获得

第二点是自己写类,尽量只涉及Point3d的调用

第三点是排去细分循环的loop,减少细分循环的代码

先看一下之前版本的计算时间
3m
 楼主| 发表于 2010-6-8 22:02:26 | 显示全部楼层
本帖最后由 panhao1 于 2010-6-8 22:27 编辑

处理1500左右个面需要10秒
这显然不符合要求

李思前辈的意见是采用OnMesh的结构来写
这里更优化 排除OnMesh中不需要的一些数据
除去细分次数循环
把其它循环减少为一个 的确,新版的代码中仅存在一个其它循环!
而且不是嵌套在细分循环中的

看一下对比图

评分

参与人数 1强度 +5 收起 理由
ping88 + 5

查看全部评分

4m
 楼主| 发表于 2010-6-9 12:42:54 | 显示全部楼层
我基本不用这个插件 其实细分插件有很多种 像t-spline  wavebird等
不过我更倾向于自己写
像三角面的loop细分等 目前还没有插件 但并不妨碍我们使用

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-5-12 11:49 , Processed in 0.119198 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表