图形学
拉风小宇
本人目前在做银行做软件开发工程师,有浙江大学应用数学以及阿姆斯特丹自由大学人工智能的双硕士学位。
欢迎各位参与探讨关于后端开发,图形学和人工智能的问题,也感谢各位帮我点赞收藏转发我的博客(*^▽^*) Many Thanks
展开
-
OBJ文件格式详解
转载自:http://www.cppblog.com/lovedday/archive/2008/06/13/53153.html OBJ文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模型之间的互导,也可以通过Maya读写。比如你在3dsMax或LightWa转载 2016-06-02 21:18:52 · 6479 阅读 · 1 评论 -
PN三角形(Curved PN Triangles)
文章来源于Curved PN Triangles 现在已经是一种很成熟的图形渲染方法了(在这之前我都不知道顶点法向有什么用23333),其大致思路是在已有的控制顶点和法向的基础上插入新的控制顶点和控制法向,利用bezier三角形分片绘制,加上顶点法向的效果将其做更好的渲染。原创 2017-11-15 10:53:05 · 1885 阅读 · 2 评论 -
利用de Casteljau算法绘制Bezier曲面
在之前绘制Bezier曲线的基础上绘制Bezier曲面,下面只是举了一类,其他的例子可以类似进行,下面直接贴代码~function decasteljau_surf(vertices)%DECASTELJAU_SURF Summary of this function goes here% Detailed explanation goes here NumPoin原创 2017-10-12 14:24:36 · 4409 阅读 · 8 评论 -
网格顶点方向的计算(一种新的面积加权方法)
对于网格曲面,顶点法矢计算的常用方法是将其一邻域内三角片的法矢进行面积加权平均。 这里参考下面文献 三角网格模型顶点法矢与离散曲率计算 ——神会存,李建华,周来水提出了一种新的面积加权方法。原创 2017-10-04 20:46:06 · 4113 阅读 · 12 评论 -
点到三维网格最近边的距离
之间写过点到三维网格最近顶点的距离,也写过点到三维网格上面点的最近距离,今天po一篇点到三维网格最近边的距离。其实在刚刚我提到的我的后面这篇博文里,已经有相关介绍了。在这里要感谢 Daniel Frisch在mathworks上的贡献point2trimesh( ) — Distance Between Point and Triangulated Surface,我这一系列博文的代码都是根据他的代码改写的。首先计算到点的距离的最小值,再计算到边距离的最小值,二者再取小者。(如果最短距离是到点的,其实也原创 2017-08-31 16:11:34 · 1575 阅读 · 0 评论 -
点到三维网格最近点距离
首先需要定义点到三维网格的距离,应该定义为这个点到三维网格的最近顶点之间的距离,因此需要遍历一遍三维网格上点的信息(在这里拓扑信息是没有用的),下面给出两种实现的方法。原创 2017-08-24 21:47:49 · 3230 阅读 · 0 评论 -
找到三角网格中的孔洞
大致上还是沿用了loop细分中寻找边界的思路,将其中的一部分代码截出来形成了新的算法,如果一条边只被索引了一次就是边界,而空洞一定是由这些边界组成的。所以目标就是找到边界,主要的函数如下find_holes_in_triangle_mesh.m,输入点和面的信息,输出的是一个n*n的数组(n表示点的个数),如果i行j列上的元素是1,表示ij连线是边界原创 2017-08-16 17:56:42 · 2325 阅读 · 1 评论 -
MATLAB 绘制有理Biezier曲线
这里有一篇来自tue的课程资料,叫做A gentle introduction to rational Bezier curves and NURBS,具体的文档我已经放在我的下载里了,因为翻译的工作量过大,我就不翻译了,应该看得懂的下面主要是把文章中的代码摘出来给大家演示一下Quadratic Bezier curve(二次Bezier曲线) % Initialiseclear转载 2017-05-09 22:28:29 · 1381 阅读 · 0 评论 -
网格去噪的几种算法(利用Laplacian矩阵)
最近在做网格去噪的东西,看了几篇文章,值得推荐的是“Vertex-Based Diffusion for 3-D Mesh Denoising”这篇文章,基本讲清楚了几种去噪方式的理论。在Toolbox graph工具箱中提供了三种去除噪声的算法,都是利用离散的Laplacian算子和Laplacian矩阵,下面分别介绍原创 2017-06-23 21:44:15 · 7034 阅读 · 9 评论 -
一种网格去噪算法(基于平均面法向的均值滤波)
算法原文来自 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 · 3421 阅读 · 12 评论 -
网格离散曲率算法(二次曲面拟合)
很多情况下离散网格计算曲率是必要的,在浙江大学方惠兰学姐的硕士论文网格曲面上离散曲率计算方法的比较与研究中,对各种不同计算网格曲率的方法做了总结,我这里是借鉴MATLAB论坛中的一篇利用二次曲面Patch Curvature拟合局部曲面,用二次曲面的曲率近似计算离散曲面曲率的一种方法原创 2017-06-17 21:30:27 · 7649 阅读 · 2 评论 -
网格离散曲率算法(利用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 · 6253 阅读 · 44 评论 -
PLY文件格式
翻译自:PLY - Polygon File Format本文档介绍了PLY多边形文件格式,用于存储被描述为多边形集合的图形对象的格式。我们的目标是提供一种简单易于实现的格式,但这种格式对于广泛的模型来说是非常有用的。文件格式有两种子格式:用于轻松启动的ASCII表示形式,以及用于紧凑存储和快速保存和加载的二进制版本。我们希望这种格式将促进程序之间以及人群之间的图形对象的交换。翻译 2017-06-05 21:33:34 · 24930 阅读 · 5 评论 -
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 评论 -
绘制带有颜色的模型
在这之前我的模型一直都是单一灰白颜色的,这篇博文中我将介绍带颜色的模型其实在obj文件中在每个点(v)的三个坐标后面再跟上三个数就可以表示模型的颜色啦~这三个数就是RGB的数,表示的是模型的颜色,关于RGB参考https://en.wikipedia.org/wiki/RGB_color_model那么下一个问题就是怎样把一个一维数组的大小按照颜色来表示出来呢用颜色表示数值大小...原创 2017-11-30 22:20:36 · 2890 阅读 · 7 评论