
CAGD/CG
文章平均质量分 94
拉风小宇
本人目前在做银行做软件开发工程师,有浙江大学应用数学以及阿姆斯特丹自由大学人工智能的双硕士学位。
欢迎各位参与探讨关于后端开发,图形学和人工智能的问题,也感谢各位帮我点赞收藏转发我的博客(*^▽^*) Many Thanks
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
开始学习opengl以及绘制三次Bezier曲线
开始学习opengl,借鉴一些代码用伯恩斯坦基函数绘制Bezier曲线原创 2016-04-23 14:54:08 · 7945 阅读 · 2 评论 -
二面角自适应的loop细分
是一种根据二面角判别的自适应loop细分方法。跟之前的博文二面角自适应的线性细分是同样的思路,其实和之前我介绍过的线性细分和loop细分之间的文章的差别是几乎一样的。原创 2017-06-26 22:09:33 · 960 阅读 · 0 评论 -
一种得到点云精确边界球的方法
>算法来自1991年EMO WELZL发表的一篇文章:[Smallest enclosing disks (balls and ellipsoids)]可以计算出三维点云的最小闭球,可以将所有的点都包含进去,同时也可以将其应用在n维空间内原创 2017-06-29 16:13:36 · 2173 阅读 · 2 评论 -
两个网格的近似误差估计
比较两个网格之间的误差,利用的是一个计算近似能量的公式原创 2017-08-14 22:32:24 · 1611 阅读 · 3 评论 -
矩阵权(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 · 2874 阅读 · 5 评论 -
三维网格精简算法(Quadric Error Metrics)附源码(二)
最近在研究网格简化,之前转载的一篇博文利用的是QEM度量误差进行网格简化,具体的算法在三维网格精简算法(Quadric Error Metrics)附源码(一)一文中说明的已经很清楚了。在上一篇博文中边收缩的方式是选取三个点,分别是边的端点和中点,计算其QEM,从中选择最小的,将边收缩为一点,即为上篇博文中策略一。本文将其扩展为策略二,即每条边都计算使其二次误差矩阵最小的点,如果得不到的话,再运用策略一,从端点和中点中选择二次误差最小的点。原创 2017-10-06 16:57:53 · 9774 阅读 · 5 评论 -
三维网格精简算法(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 · 25166 阅读 · 82 评论 -
利用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 · 4494 阅读 · 8 评论 -
绘制Bezier三角面片
将Bezier曲线曲面推广到三角域,得到三角曲面片,用matlab实现原创 2017-10-23 11:33:32 · 3723 阅读 · 4 评论 -
矩阵权(Matrix weighted)Bezier三角(曲面)片
参考文献仍然是杨老师的这篇 Matrix weighted rational curves and surfaces文章,结合上篇博文中的算法,再次将其引申到三角面片上原创 2017-10-25 10:36:54 · 1641 阅读 · 3 评论 -
点到点法式平面投影点的计算
算法概述平面由一点O(x0,y0,z0)O(x_0,y_0,z_0)和法向量n→=(n1,n2,n3)\overrightarrow{n}=(n_1,n_2,n_3)定义,平面外一点为Pout(xp,yp,zp)P_{out}(x_p,y_p,z_p),求PP到平面的投影点Q的坐标设点Q的坐标为(xQ,yQ,zQ)(x_Q,y_Q,z_Q),那么Q点应该同时满足点Q在平面内,满足平面方程(平面的点原创 2017-11-03 14:21:20 · 5884 阅读 · 3 评论 -
利用de Casteljau算法绘制Bezier曲线
在opengl版的de Casteljau算法http://blog.youkuaiyun.com/lafengxiaoyu/article/details/51296411的基础上进行代码的改写,看得出来在MATLAB之下代码还是比较简单的,直接放代码function decasteljau( vertices )Dim=size(vertices,1);%二位或者三维空间NumPoint=siz原创 2017-02-25 20:39:28 · 3681 阅读 · 0 评论 -
一种快速得到点云近似边界球的方法
这个方法的目的是对于3维空间中的有N个点的集合找到一个接近最优边界球。它是Order(N),并且非常快。该计算的球体比理想的最小半径大约5%。原创 2017-06-27 21:55:32 · 1640 阅读 · 0 评论 -
利用求值器绘制三次Bezier曲线
利用求值器重新绘制三次Bezier曲线原创 2016-04-23 21:56:18 · 2243 阅读 · 2 评论 -
利用求值器绘制双三次Bezier曲面
根据我的上一篇博客,已经可以利用求值器绘制三次Bezier曲线了,今天我要探索利用求值器绘制双三次的B曲面其实学会了之前的现在就简单很多了,这里利用的是glMap2 — 定义了一个二维求值器void glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloa原创 2016-04-25 09:57:52 · 4319 阅读 · 0 评论 -
绘制B样条曲线
学习完绘制Bezier曲线之后,我开始探索绘制B样条曲线,因为B样条曲线是之后好多东西的基础,所以一定得学会用opengl绘制B样条曲线这里我先只考虑均匀B样条先考虑二次均匀B样条,根据计算公式,其实然后把之前做Bezier曲线的例子挪过来即可,两段B样条一拼,OK上代码#include #include #include #include原创 2016-05-01 20:15:12 · 15820 阅读 · 1 评论 -
不用求值器绘制双二次及双三次Bezier曲面
之前在探索阶段,我曾经利用求值器获得过双三次Bezier曲面,今天我打算纯粹利用数学的方法计算出这两种曲面。。。本来以为很容易。。结果一不小心就搞了一上午,主要是变成二维之后感觉各种凌乱,那我索性先把点的数组变成了点的实际情况的排列实验证明这样会好很多,也就是酱GLfloat ctrlPoints[3][3][3] ={ { { -0.7f, -0.2f, 0.3f }, {原创 2016-05-02 10:44:24 · 4615 阅读 · 2 评论 -
利用de Casteljau算法绘制Bezier曲面
上次的博客中我利用de Casteljau绘制了Bezier曲线,那么为了之后绘制Bezier的三角曲面片,还是先铺垫一下,绘制双三次的Bezier曲面原创 2016-05-03 15:29:36 · 6387 阅读 · 1 评论 -
利用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 · 27538 阅读 · 32 评论 -
利用de Casteljau算法绘制Bezier曲线
之前直接用基计算的Bezier曲线,现在用de Casteljau再次对其进行实现,其主要原因是目前本人对递归的理解非常的不深。。然后之后在CAGD中又要用到大量的递归算法,那么还是从最简单的开始原创 2016-05-02 14:54:18 · 14794 阅读 · 5 评论 -
De Casteljau算法
题目 在Bezier曲线上找到点:De Casteljau算法翻译文章来自http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/de-casteljau.html在贝塞尔曲线绘制完成后,下一个重要的任务是选定特定u的情况下在曲线上找到点C(u)。一个简单的方法是把u插到每一个基函数上,计算每个其与基函数的乘积以及其相翻译 2017-02-21 19:51:08 · 13125 阅读 · 0 评论 -
MATLAB绘制B样条曲线
转载自:http://blog.youkuaiyun.com/Mr_Grit/article/details/456036271 B样条曲线1.1 B样条曲线定义B样条方法具有表示与设计自由型曲线曲面的强大功能,是形状数学描述的主流方法之一,另外B样条方法是目前工业产品几何定义国际标准——有理B样条方法(NURBS)的基础。B样条方法兼备了Bezier方法的一切优点,包括几何不转载 2017-03-09 23:38:02 · 25896 阅读 · 11 评论 -
网格顶点法向的计算(基于面平均方法)
最近做矩阵权有理细分要用到顶点法向量,但是网格上顶点是没有办法直接计算法向的,只能借助于一些离散的方法去计算,在此不得不佩服一下维基。。确实是厉害,我的算法主要是借助于Vertex normal这个词条计算的,有些好东西还确实是得看英文的原创 2017-05-18 19:17:23 · 7791 阅读 · 25 评论 -
meshlab调整平行光源
只需“Ctrl”+“Shift”+拖动鼠标即可这是最新的meshlab2016.12,之前的版本好像直接“Shift”+拖动鼠标即可另外貌似meshlab只能调整平行光,并不能增加点光源什么一类的,还得去Maya等软件中去显示原创 2017-12-21 12:14:33 · 3852 阅读 · 0 评论