细分曲线曲面
拉风小宇
本人目前在做银行做软件开发工程师,有浙江大学应用数学以及阿姆斯特丹自由大学人工智能的双硕士学位。
欢迎各位参与探讨关于后端开发,图形学和人工智能的问题,也感谢各位帮我点赞收藏转发我的博客(*^▽^*) Many Thanks
展开
-
Chaikin细分曲线
进去初步学习细分曲线曲面阶段,最简单的就是细分曲线,其中又是最简单的就是Chaikin细分,其计算规则非常简单,就是最简单的四点插值简单来说就是一个割角过程,其最终收敛到2次B样条曲线原创 2016-05-01 16:32:09 · 3537 阅读 · 0 评论 -
细分曲面简介(subdivision surface)
转载自:https://segmentfault.com/a/1190000002925331在三维建模领域里,细分曲面算是一个比较常见的术语了,经常用于动画角色的原型设计,甚至在工业设计领域,也开始流行用细分建模来进行原型设计。教科书里一讲到细分曲面,必然提一下《Geri's Game》,这部动画片里人物造型应用的就是细分曲面技术。那么究竟什么是细分曲面呢?小时候转载 2016-06-02 16:56:16 · 12250 阅读 · 0 评论 -
Doo-Sabin细分算法
Doo-Sabin细分算法是二次均匀B样条曲面二分技术的推广。不同于Loop细分算法,Doo一Sabin细分算法是一种基于四边形控制网格的细分算法。原创 2017-08-11 21:35:46 · 4897 阅读 · 2 评论 -
MATLAB实现Catmull-Clark细分(CC细分)
对于任意四边形网格利用Catmull-Clark细分(CC细分)对其进行处理,得到新的四边形网格,编程语言为MATLAB原创 2017-08-11 13:38:48 · 5410 阅读 · 24 评论 -
网格细分算法(Catmull-Clark subdivision & Loop subdivision)附源码
转载自:http://www.cnblogs.com/shushen/p/5251070.html下图描述了细分的基本思想,每次细分都是在每条边上插入一个新的顶点,可以看到随着细分次数的增加,折线逐渐变成一条光滑的曲线。曲面细分需要有几何规则和拓扑规则,几何规则用于计算新顶点的位置,拓扑规则用于确定新顶点的连接关系。下面介绍两种网格细分方法:Catmull-Clark细分和Loop细分转载 2016-05-28 12:21:25 · 20977 阅读 · 8 评论 -
二面角自适应的线性细分
本来是想做自适应的loop细分的,参考:Adaptive Subdivision Schemes for Triangular Meshes这篇文章但是始终有一个问题没有办法攻克,就是旧顶点的位置不知道怎样确定,于是先按照上面的方法做了线性细分,看起来并没有什么问题,下面详细介绍一下是怎么做的这篇文章是相当经典的一篇文章,基本上是三角网格自适应细分的先驱,我看到由非常高的引用,该方法主要是基于计算二面角得到的,主要计算一个面和周围的面的夹角来确定这个面是不是应该细分。原创 2017-06-11 21:51:04 · 1147 阅读 · 1 评论 -
matlab实现封闭四边形网格的Catmull-Clark细分(CC细分)
matlab实现封闭四边形网格的Catmull-Clark细分(CC细分)原创 2017-07-04 20:02:39 · 3856 阅读 · 4 评论 -
matlab实现loop细分
可能利用opengl实现loop细分的工作还要再搁置一段时间,先放matlab写好的程序作者是Jesus Mena具体的细分规则在我的http://blog.csdn.net/lafengxiaoyu/article/details/51524302这篇文章的下半篇里有很明确的简介,这里主要讲的是实现方法首先是以loopSubdivision命名的.m文件function [n原创 2016-06-03 21:48:40 · 10737 阅读 · 11 评论 -
MATLAB Catmull-Clark细分正方体
在MATLAB技术论坛中找到了一段Catmull-Clark正方体的代码,原来的出处已经找不到了。。等我下次找到了一定补上来,那么先上代码function demo_catmull_clark% graphical interface for modified% catmull-clark subdivision% Initialize dataglobal AMB_Data;AM原创 2017-04-29 21:15:41 · 2258 阅读 · 0 评论 -
几个loop细分的例子
之前的博文里用MATLAB实现了loop细分,在这里举几个例子展示一下效果loop细分的代码在之前的那篇文章中,还有一个绘制的代码function plotMesh(vertices, faces) hold on; trimesh(faces', vertices(1,:), vertices(2,:), vertices(3,:)); colormap h原创 2017-03-16 16:06:29 · 3220 阅读 · 10 评论 -
渐进插值的LOOP 曲面细分
目前很多细分方法都存在不能用同一种方法处理封闭网格和开放网格的问题。对此,一种新的基于插值技术的LOOP 曲面细分方法,其主要思想就是给定一个初始三角网格$M$,反复生成新的顶点,新顶点是通过其相邻顶点的约束求解得到的,从而构造一个新的控制网格$\bar{M}$,在取极限的情况下,可以证明插值过程是收敛的;因为生成新顶点使用的是与其相连顶点的约束求解得到的,本质上是一种局部方法,所以,该方法很容易定义。原创 2017-03-22 10:49:51 · 3942 阅读 · 16 评论 -
MATLAB对三角网格进行线性细分
这是除去三角网格的LOOP细分外, Jesus Mena的另一篇代码,是对三角网格进行线性细分,先贴代码function [newVertices, newFaces] = linearSubdivision(vertices, faces)% Linear subdivision for triangle meshes%% Dimensions:% vertices: 3x原创 2017-03-01 21:12:44 · 5069 阅读 · 5 评论 -
LOOP 细分四面体(编辑中)
通过之前的matlab实现了loop细分仅仅用了一点点代码,我收到了极大的启发,打算在这学期结束之前一定搞定LOOP细分,哦也!原创 2016-06-05 18:53:29 · 1335 阅读 · 0 评论 -
DOO-SABIN 细分正方体(2)利用半边数据结构表示(一次和两次细分)
之前做过一次细分,可是效果相当不好、也不是效果不好,就是效率特别低,之后我自学了半边数据结构,这篇博文就要对半边数据结构表示的正方体进行细分,希望可以在这篇博文搞定之后就可以实现对任意的立方体进行细分了。。期待已久了真是。。原创 2016-05-17 15:28:55 · 2416 阅读 · 2 评论 -
DOO-SABIN 细分曲面(编辑中)
之前实现了简单的细分曲线,即Chaikin细分算法,现在准备实现DooSabine细分曲面我这里借助http://www.idav.ucdavis.edu/education/CAGDNotes/CAGDNotes/Doo-Sabin/Doo-Sabin.html这篇文章中的例子,首先需要先绘制出实例中的这个图原创 2016-05-04 19:38:02 · 1845 阅读 · 0 评论 -
DOO-SABIN 细分正方体(1)利用邻接矩阵表示
做好了CHAIKIN细分曲线之后,我着手做DOO-SABIN细分曲面,这是细分曲面中最简单的例子,本来以为很容易就能实现,后来发现自己真的是弱的可以,另外补充一下,充分意识到数据结构的用处,比如利用点边面表储存信息的时候,才可以知道哪些边组成了面,哪个面由哪几个边组成#include #include #include #include原创 2016-05-08 11:14:32 · 2303 阅读 · 0 评论 -
矩阵权(Matrix weighted)的LOOP细分实现
之前 MATLAB绘制矩阵权(Matrix weighted)有理Bezier曲线提到了矩阵权的方法,其中的算法是论文中的方法,现在我将其用到loop细分上,实现矩阵权的loop细分 loop细分的算法在我之前的博客中已经多次提到了,下面将其推广到矩阵权的loop细分上loop细分规则1.网格内部V-顶点位置: 设内部顶点v0v_0的相邻点为v1、v2,⋯,vnv_1、v_2,\cdots ,v原创 2017-05-24 11:31:34 · 2773 阅读 · 5 评论