MATLAB
拉风小宇
本人目前在做银行做软件开发工程师,有浙江大学应用数学以及阿姆斯特丹自由大学人工智能的双硕士学位。
欢迎各位参与探讨关于后端开发,图形学和人工智能的问题,也感谢各位帮我点赞收藏转发我的博客(*^▽^*) Many Thanks
展开
-
利用MATLAB绘制Bezier曲线
暂时放弃了用opengl绘图。因为数据结构略复杂,暂时投奔了MATLAB的怀抱,下面利用MATLAB改写绘制Bezier曲线的代码直接上代码,首先是直接利用基函数的绘制function bezier( vertices )%BEZIER 绘制Bezier曲线Dim=size(vertices,1);%二位或者三维空间NumPoint=size(vertices,2)-1;%点的个数原创 2017-02-20 20:43:40 · 27005 阅读 · 32 评论 -
网格离散曲率算法(二次曲面拟合)
很多情况下离散网格计算曲率是必要的,在浙江大学方惠兰学姐的硕士论文网格曲面上离散曲率计算方法的比较与研究中,对各种不同计算网格曲率的方法做了总结,我这里是借鉴MATLAB论坛中的一篇利用二次曲面Patch Curvature拟合局部曲面,用二次曲面的曲率近似计算离散曲面曲率的一种方法原创 2017-06-17 21:30:27 · 7639 阅读 · 2 评论 -
一种网格去噪算法(基于平均面法向的均值滤波)
算法原文来自 Mesh smoothing via mean and median filtering applied to face normals——H. Yagou, Y. Ohtake, and A. BelyaevMathWorks论坛中有Two functions for smoothing/denoising of triangular meshes给出了这种算法的Matlab代原创 2017-06-25 20:08:07 · 3417 阅读 · 12 评论 -
MATLAB颜色的使用
MATLAB提供了许多在二维和三维空间内显示可视信息的工具。例如,看一条sin函数的曲线图就会比一堆数据提供更多的信息。这种用图表和图形来表示数据的技术叫做数据可视化。MATLAB不仅是一个强大的计算工具,并且在以引人入胜和直观方式可视地表示数据方面也很有特色。但是很多时候,一个简单的二维或三维图形不能一次显示出想要提供的全部信息。这时,颜色可以对图形提供一个附加的维数。前面章节讨论的许多绘图函数都可以接受一个可用的颜色参量,来增加这附加的维数。转载 2017-06-19 12:37:31 · 31573 阅读 · 0 评论 -
网格去噪的几种算法(利用Laplacian矩阵)
最近在做网格去噪的东西,看了几篇文章,值得推荐的是“Vertex-Based Diffusion for 3-D Mesh Denoising”这篇文章,基本讲清楚了几种去噪方式的理论。在Toolbox graph工具箱中提供了三种去除噪声的算法,都是利用离散的Laplacian算子和Laplacian矩阵,下面分别介绍原创 2017-06-23 21:44:15 · 7012 阅读 · 9 评论 -
matlab实现封闭四边形网格的Catmull-Clark细分(CC细分)
matlab实现封闭四边形网格的Catmull-Clark细分(CC细分)原创 2017-07-04 20:02:39 · 3833 阅读 · 4 评论 -
二面角自适应的线性细分
本来是想做自适应的loop细分的,参考:Adaptive Subdivision Schemes for Triangular Meshes这篇文章但是始终有一个问题没有办法攻克,就是旧顶点的位置不知道怎样确定,于是先按照上面的方法做了线性细分,看起来并没有什么问题,下面详细介绍一下是怎么做的这篇文章是相当经典的一篇文章,基本上是三角网格自适应细分的先驱,我看到由非常高的引用,该方法主要是基于计算二面角得到的,主要计算一个面和周围的面的夹角来确定这个面是不是应该细分。原创 2017-06-11 21:51:04 · 1133 阅读 · 1 评论 -
MATLAB 绘制有理Biezier曲线
这里有一篇来自tue的课程资料,叫做A gentle introduction to rational Bezier curves and NURBS,具体的文档我已经放在我的下载里了,因为翻译的工作量过大,我就不翻译了,应该看得懂的下面主要是把文章中的代码摘出来给大家演示一下Quadratic Bezier curve(二次Bezier曲线) % Initialiseclear转载 2017-05-09 22:28:29 · 1379 阅读 · 0 评论 -
一种快速得到点云近似边界球的方法
这个方法的目的是对于3维空间中的有N个点的集合找到一个接近最优边界球。它是Order(N),并且非常快。该计算的球体比理想的最小半径大约5%。原创 2017-06-27 21:55:32 · 1507 阅读 · 0 评论 -
利用各向异性平滑图像
转载自:matlab练习程序(各向异性扩散)主要是用来平滑图像的,克服了高斯模糊的缺陷,各向异性扩散在平滑图像时是保留图像边缘的(和双边滤波很像)。 通常我们有将图像看作矩阵的,看作图的,看作随机过程的,记得过去还有看作力场的。 这次新鲜,将图像看作热量场了。每个像素看作热流,根据当前像素和周围像素的关系,来确定是否要向周围扩散。比如某个邻域像素和当前像素差别较大,则代表这个邻域像素很转载 2017-07-27 05:00:48 · 1589 阅读 · 0 评论 -
MATLAB实现Catmull-Clark细分(CC细分)
对于任意四边形网格利用Catmull-Clark细分(CC细分)对其进行处理,得到新的四边形网格,编程语言为MATLAB原创 2017-08-11 13:38:48 · 5392 阅读 · 24 评论 -
矩阵权(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 · 2754 阅读 · 5 评论 -
网格离散曲率算法(利用Normal cycle 理论计算)
文章理论来自于 Restricted Delaunay Triangulations and Normal Cycle——by David Cohen-Steiner, Jean-Marie Morvan理论基础大致是根据利用Normal cycle理论计算曲面的第二基本形式,在给定顶点的周围选取一个小的邻域求平均值。算法过程对于网格上的每个顶点pip_i,取点pip_i周围的一个测地邻域B,原创 2017-06-18 15:16:11 · 6232 阅读 · 44 评论 -
网格顶点法向的计算(基于面平均方法)
最近做矩阵权有理细分要用到顶点法向量,但是网格上顶点是没有办法直接计算法向的,只能借助于一些离散的方法去计算,在此不得不佩服一下维基。。确实是厉害,我的算法主要是借助于Vertex normal这个词条计算的,有些好东西还确实是得看英文的原创 2017-05-18 19:17:23 · 7028 阅读 · 25 评论 -
MATLAB对三角网格进行线性细分
这是除去三角网格的LOOP细分外, Jesus Mena的另一篇代码,是对三角网格进行线性细分,先贴代码function [newVertices, newFaces] = linearSubdivision(vertices, faces)% Linear subdivision for triangle meshes%% Dimensions:% vertices: 3x原创 2017-03-01 21:12:44 · 5059 阅读 · 5 评论 -
MATLAB将数据写入obj文件
我这里只考虑拥有点和面信息的obj文件,在我关于obj文件格式详解的文章中提到了obj文件的组成形式,我只用到了最简单的一部分简单的OBJ格式写法。# Simple Wavefront file v 0.0 0.0 0.0 v 0.0 1.0 0.0 v 1.0 0.0 0.0 f 1 2 3 其中v表示三点坐标,f表示面索引点的值程序借鉴了浙大学姐的“matlab原创 2017-03-18 21:43:45 · 11859 阅读 · 25 评论 -
MATLAB读取和显示obj文件的数据
主要代码来源于http://people.sc.fsu.edu/~jburkardt/data/obj/obj.html,我对其进行了一些修改,只读取点信息和面的索引值,代码如下function [node_xyz, face_node ]= obj__read( input_file_name )%*********************************************原创 2017-03-19 16:23:29 · 20571 阅读 · 54 评论 -
MATLAB对ply文件格式的读取和显示
在网上搜索这个题目可以找到一些类似的文章,其来源大致都是http://people.sc.fsu.edu/~jburkardt/m_src/ply_io/ply_io.html。但是并没有说明怎样运行和显示,因此我做这篇博客详细讲解一下。首先是这个ply_read.m文件function [ Elements, varargout ] = PLY_READ ( Path, Str )%**原创 2017-03-06 13:53:18 · 15314 阅读 · 4 评论 -
MATLAB绘制B样条曲线
转载自:http://blog.csdn.net/Mr_Grit/article/details/456036271 B样条曲线1.1 B样条曲线定义B样条方法具有表示与设计自由型曲线曲面的强大功能,是形状数学描述的主流方法之一,另外B样条方法是目前工业产品几何定义国际标准——有理B样条方法(NURBS)的基础。B样条方法兼备了Bezier方法的一切优点,包括几何不转载 2017-03-09 23:38:02 · 25457 阅读 · 11 评论 -
渐进插值的LOOP 曲面细分
目前很多细分方法都存在不能用同一种方法处理封闭网格和开放网格的问题。对此,一种新的基于插值技术的LOOP 曲面细分方法,其主要思想就是给定一个初始三角网格$M$,反复生成新的顶点,新顶点是通过其相邻顶点的约束求解得到的,从而构造一个新的控制网格$\bar{M}$,在取极限的情况下,可以证明插值过程是收敛的;因为生成新顶点使用的是与其相连顶点的约束求解得到的,本质上是一种局部方法,所以,该方法很容易定义。原创 2017-03-22 10:49:51 · 3920 阅读 · 16 评论 -
几个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 · 3203 阅读 · 10 评论 -
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 · 2243 阅读 · 0 评论 -
MATLAB绘制矩阵权(Matrix weighted)有理Bezier曲线
是根据浙江大学杨勋年老师15年发表的文章Matrix weighted rational curves and surfaces写的博文,这一篇主要是绘制矩阵权(Matrix weighted)有理Bezier曲线。 在上一篇博文讲述了有理Bezier曲线之后,杨老师对其进行了扩展,并赋予其几何意义,将法向信息加以考虑得到矩阵权的有理Bezier曲线,定义为 Q(t)=[∑i=0nMiBi,n]原创 2017-05-12 21:12:39 · 2080 阅读 · 0 评论 -
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 · 10715 阅读 · 11 评论 -
MATLAB编辑器风格定制
此文借鉴了:matlab编辑器颜色风格设置一文因为经常用到MATLAB,之前也是想把MATLAB编辑器弄得好看一点,发现从preferences修改确实是有点麻烦,而且经常自己都不知道修改的是啥,今天搜到了一些有用的模板可以直接用的,小伙伴们可以借鉴一下。在mathworks网站上找得到一篇文章:MATLAB Schemer 里面提供了几组方案确实是好看实现方法为:原创 2017-06-05 14:42:55 · 12694 阅读 · 9 评论 -
三维网格精简算法(Quadric Error Metrics)附源码(一)
本文转自:http://www.cnblogs.com/shushen/p/5311828.html 我发现他的一系列文章都挺好,就是总缺点东西,所以没法执行 本文的算法来源于 Michael Garland在97年的文章 Surface simplification using quadric error metrics算法介绍在计算机图形应用中,为了尽可能真实呈现虚拟物体,往往转载 2017-05-30 22:26:10 · 23703 阅读 · 82 评论