GAMES301---曲面参数化---学习笔记
首先,真的很感谢刘利刚,陈仁杰,傅孝明,方清等各位老师开了GAMES 301课程:《曲面参数化》,让我们能更系统的了解这方面的知识!
一、曲面参数化及其应用
曲面参数化简单解释:3D曲面展开成2D平面
曲面参数化数学本质:3D曲面在2D平面的嵌入/映射(构建曲面到平面区域的一一对应,3D曲面本质是2D的:2D流形)
参数化应用:1、地图制作;2、曲面贴图;3、纹理地图;4、曲线拟合;5、曲面渲染...
二、曲面参数化的表达及度量
参数化基本方法:化繁为简
1. 函数的简化:假设映射函数为线性函数,将问题转化为基函数的线性组合系数的求解
2. 定义域的简化:将定义域简化为简单区域(比如三角形,分片三角形为线性的)的拼接,然后在三角形上定义简单函数(有限元方法)---即分片线性逼近
(1、线性函数:分片线性函数,光滑性低();2、高阶多项式函数:分片多项式函数,光滑性较高(
);)
雅克比(Jacobian)矩阵作用:度量局部的变形量
若雅克比行列式为1表示x点没有被拉扯,若大于1表示局部有拉伸,若小于1表示局部有收缩;
若雅可比行列式小于0则局部发生了翻转,若大于0则未翻转。
其他保持不同几何性质的映射:
1、保角映射(共形映射);(空间曲线在交点处的夹角的计算方法:切线之间的角度)
(共形因子作用:度量在保角映射下曲面局部的伸缩量;Yamabe方程:表示一个曲面高斯曲率的变化)
2、保面积映射(等积映射);
3、等级映射(即保持面积又保持角度;若一个曲面每个点均可等距映射则此曲面为可展曲面);
(经证明:可占曲面只有以上三种曲面)
几何形变的度量方法:(图中表示x点的雅克比矩阵行列式,L为对
进行SVD分解,
、
为
的奇异值)
(将
作为分母,可保证其不接近于0,避免翻转)
保持局部双射(即单射,即不发生翻转)的条件:雅克比行列式大于零。
此外注意全局双射等于局部双射,但局部双射并不能推导出全局双射。
“好”参数化的判断条件:1、扭曲小 ;2、无翻转(单射,甚至双射,无鬼影,无全局自交)
三、曲面参数化的主要计算方法
曲面参数化主要方法:
1、线性方法:Tutte’s method (高扭曲,无翻,边界为凸既可以实现无翻转) and its variants
2、优化方法:Geometry-based optimization methods
(ABF/ABF++:保角,不能保证无翻)
(ARAP:保持三角映射的旋转分量(刚性),但不能保证无翻转)
(SA:改用边作为基本单元,但不能保证无翻)
3、保证无翻转的优化方法:Foldover free guaranteed optimization methods
(得到保证无翻,且形变越大能量越大的能量函数,即原问题到此转化为了如何使优化能量函数更小的问题即转变为了单纯的优化问题)
(H为单位阵则为梯度下降方法,H为Heissian阵则为牛顿法(但计算慢))
1、线性优化方法:(收敛慢,但好算)
(AQP、SLIM:用拉普拉斯近似Heissian阵)
(AKVF:用向量场是算子近似Heissian阵)
2、拟牛顿法:
3、牛顿法:(两阶,收敛快,但计算慢)
(PP:给出参考三角形,使扭曲有上界,更改目标函数使目标函数更易解且目标函数不断逼近原本的目标函数)
四、广义参数化及数据降维
球面参数化(Spherical parameterization):构建封闭曲面与球面的映射(一一映射)
相容性网格(Compatible mesh): 构建两个曲面之间的映射(一一对应)
体参数化(Volumetric parameterization):(用四面体剖分整个实体模型,将三角形的仿射变换转变为四面体的仿射变换)
几何映射(Geometric mapping):
回顾:参数曲面(Parametric surfaces)概念:(高维数据可用本征维度表达,参数就是本征维度)
本征维度:相互独立的变量的个数(本征维度才是研究数据对象的本质上的处理手段)
参数化的本质:低维嵌入,降维映射一般会丢失一些信息,此信息无法恢复。
流形学习、降维:给定一个高维数据,去寻找它的本征维度。(高维数据的参数化)
寻找本征维度方法:
(最中间的latent code参数一定不能低于本征维度,如果低于会丢失很多信息)
小结
低维到高维的拟合要用到位置编码(使用傅里叶展开将低维信息编码到高维,再去做拟合) 可抓到原细节
GAMES301---曲面参数化---学习笔记相关推荐
- 计算机图形学 学习笔记(九):曲线曲面(一):参数曲线、参数几何代数形式
接上文 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影) 计算机图形学三大块内容:光栅图形显示(前面已经介绍完了 1-8).几何造型技术.真实感图形显示.光栅图 ...
- ggplot2学习笔记5:工具箱(一)基础图层、标签、注释、群组几何对象、曲面图
此博客作为自己的学习笔记,同时与大家交流分享! Toolbox 首先我们来明确一下使用图层的目的是什么 显示数据(data):绘图时的最底层(数据层),显示数据有助于我们改进模型: 显示数据的统计摘要 ...
- 计算机图形学 学习笔记(十一):曲线曲面(三):B样条 曲线与曲面
接上文 计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线与曲面 8.4 B样条曲线产生背景及定义 B样条产生的背景 Bezier 曲线曲面有很多优点,比如说可以用鼠标拖动控制顶点以改变 ...
- MATLAB学习笔记——二维和三维绘图
MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...
- Building Worlds In Unreal 学习笔记——03-06 地形贴图/地形材质/修正重复/近景位移
Building Worlds In Unreal 学习笔记--03-06 地形贴图/地形材质/修正重复/近景位移 Lec03 地形贴图 Landscape Textures 1 Quixel Bri ...
- 经典神经网络论文超详细解读(二)——VGGNet学习笔记(翻译+精读)
前言 上一篇我们介绍了经典神经网络的开山力作--AlexNet:经典神经网络论文超详细解读(一)--AlexNet学习笔记(翻译+精读) 在文章最后提及了深度对网络结果很重要.今天我们要读的这篇VGG ...
- SVO 学习笔记(深度滤波)
SVO 学习笔记(深度滤波) 这篇博客 论文中的深度滤波 深度滤波的代码流程 更新Seed对象 初始化Seed对象 结尾 这篇博客 这篇博客将介绍SVO论文中的Mapping部分,主要介绍深度滤波器 ...
- 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述
<繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...
- OpenGL_Qt学习笔记之_05(纹理映射)(转)
转自:http://www.cnblogs.com/tornadomeet/archive/2012/08/24/2654719.html 纹理映射基础知识 什么叫纹理映射,一开始我也不明白,感觉这个 ...
最新文章
- [攻防世界 pwn]——hello_pwn
- XMC-GAN:从文本到图像的跨模态对比学习
- iOS开发- 蓝牙后台接收数据(BLE4.0)
- 你可能不知道的10个Python Pandas的技巧和特性(下)
- IT工程师志强追剧《延禧攻略》后,竟然……
- 零基础学python难吗-零基础入门学习Python技术难不难?
- Sublime Merge for Mac(git客户端软件)2064
- C语言井字棋人人对战源代码,回忆儿时游戏-井字棋(完整代码)
- 505_TextWatcher可以重复添加
- CAD插件学习系列教程(四) 一款轻量级的CAD里程标注插件
- RIDE加载Selenium2Library总是显示红色的解决办法
- trans系列是sci几区_怎么确定SCI是几区的?
- matlab激光扩束总结,激光扩束系统设计(推荐).doc
- 小白一起学Android studio 创建项目
- Tivoli TSM产品功能详述
- 用dw 删除重复html文件,Dreamweaver怎么撤销重做,DW怎么返回上一步,看完就明白了...
- MVC4 jquery 样式 主题 用法(案例)
- 如何用闲置手机/电脑摄像头,搭建远程视频监控
- python读取excel文件代码封装_12行代码教会你用python读excel文件提取数据生成条形码...
- HTML常用的一些标签(推荐)