简介

本文提出了一种六面体体细分的方案,可以将六面体分成比较光顺的六面体。同时增加六面体的数量且不改变六面体的拓扑。

本文作者 Bajaj =.=

论文方案

主要由两个步骤组成 split & average

将CC四边形细分变为简单的方案可以通过 bi-linear subdivision followed by a simple averaging operation.

一个双线性细分然后跟着一个均值的操作。

split

就是插入中心边点

插入cell的(中心)点

average

作者提出了一种mask的思想。

找到一篇文章讲mask的思想。就是新产生的点的权重的确定的矩阵

More precisely:

• What are good averaging masks?

• The averaging mask determines the weights by which the new point positions are computed



对于一个面来说,mask矩阵就是中心点和它四个角的加权平均

不知道能否这么解释。



上面的图可以更好的解释。mask 其实就是关于某个点生成对应点的权重矩阵。

核心语句 reposition a vertex at the centroid of the centroids of the eight hexahedra that contain the vertex.

对于在中心点来说,一个点连接着8个cell(六面体),如何移动这个顶点的坐标呢?首先求这8个cell的重心(每个cell8个顶点的均值),

求出8个cell均值,然后8个cell均值的均值,也就是这个点应在存在的位置了。 下图的公式就是对于这个思想的简单解释了



但是核心的是如何确定边缘的点,边缘的点只连接了4个cell,如果采用上述方法,那么将导致急剧的收缩。

所以作者在2.3节提出了复合细分规则。

\(ring[v1, v2..]\) 表示一些列顶点的多面体

\(val[v1,v2..]\) 表示这一系列点含有的多面体的个数。

\(dim[v1, v2..]\) 表示最小的维度 0 表示他们重合在了一起,1表示他们在边上,2表示他们在公共面上。

对于一个旧顶点,他的新坐标表示在周围一圈旧多面体的加权求和上。

作者提出了这个公式

\[\frac{1}{4^{\mathrm{d}} \operatorname{val}[\mathrm{v}]} 3^{\mathrm{d}-\mathrm{dim}[\mathrm{u}, \mathrm{v}]} \operatorname{val}[\mathrm{u}, \mathrm{v}]
\]



这个图就是对于公式的应用。

n表示中心黑点的度,也就是中心黑点和几个四边形相互连接。

如果只有一个四边形的话,那么 n = 1, val[v] = 1

\(\frac{1}{16} = \frac{1}{4^2 * 1} * 3^{2-2} * 1\) 因为共面所以dim=2, val[u,v] = 1 是因为包含u,v的顶点的面只有一个面。

文章公式思考

  1. \(P_i = S_{i-1} P_{i-1}\)

    \(P_i\) 细分之后的举证

    \(S_{i-1}\) 细分矩阵(简单来说,可以使用细分方案)

    \(P_{i-1}\) 细分之前的矩阵。

对于数学没有太敏感的我,没什么软用。

  1. \(T_i\) 表示连接关系的拓扑矩阵。

文章图片思考



演示了对于面进行split & average 之后的结果。然后作者依据这种现象构建了新的六面体细分方案。



可以通过上面的图看出来有两个操作,一个是简单的差值,另一个是average。中间的图是差值的操作。



上面一行是差值,下面一行是average的效果图。

TIPS

Unfortunately, these rules only apply to quadrilateral meshes with tensor product topology (i.e. each

interior vertex is shared by four quadrilaterals). 作者说,简单的四边形细分规则,只能应用于张量积形式的拓扑(作者举了一个例子,就是内部点,周围有四个顶点。)

文章优点

可以应用于非流形拓扑,证明了这种方案生成的六面体网络的连续性。

猜想

文章的难点 均分可以解决内部点的问题如何将表面的点进行均分???

Question

  1. 嵌入折痕表示为CC曲面和样条曲线。嵌入折痕(embedded creases)就很由灵性了。真不懂,如果谁知道可以写一篇博客然后留一个评论。
  2. 张量积 是什么鬼?

参考链接 https://www.cnblogs.com/sybil-hxl/p/12804765.html

https://img2020.cnblogs.com/blog/968024/202005/968024-20200515231824101-870579029.png

  1. 双线性细分?

猜测 应该是沿着两个维度进行细分

类比3线性细分 应该是沿着三个维度进行细分

result





做是做出来了,但是我无法解释MLCA对于边缘的处理。参考的是师兄的代码,我也不方便将代码放上来。只能说,对于中心点的处理确实是使用 \(P_{new[v]} += \frac{cent}{val[v]}\)

对于边缘点的处理,该怎么整呢?

边缘点使用复合细分规则感觉也不太对。至少和师兄的代码不对应。

对于边缘点处理的想法(合理但感觉少了点什么)

由谢大佬提供

边缘的点的细分可以直接用面的细分,因为,样子是一样的。

友情赠送

http://resources.mpi-inf.mpg.de/departments/d4/teaching/ss2012/geomod/slides_public/14_Subdivision_Surfaces.pdf

这是某个大学关于细分很好的材料,对于mask的理解很大一部分参照了上面说的内容。

文献阅读 A Subdivision Scheme for Hexahedral Meshes的更多相关文章

  1. 文献阅读笔记——group sparsity and geometry constrained dictionary

    周五实验室有同学报告了ICCV2013的一篇论文group sparsity and geometry constrained dictionary learning for action recog ...

  2. 文献阅读 | The single-cell transcriptional landscape of mammalian organogenesis | 器官形成 | 单细胞转录组

    The single-cell transcriptional landscape of mammalian organogenesis 老板已经提了无数遍的文章,确实很nb,这个工作是之前我们无法想 ...

  3. 空间插值文献阅读(Geostatistical approaches for incorporating elevation into the spatial interpolation of rainfall)

    空间插值技术应用必读论文---P. Goovaerts, Geostatistical approaches for incorporating elevation into the spatial ...

  4. 文献阅读方法 & 如何阅读英文文献 - 施一公(转)

    附: 如何看懂英文文献?(好) 看需求,分层次 如何总结和整理学术文献? Mendeley & Everything 如何在pdf文献上做笔记?福晰阅读器 自己感悟: 一篇专业文献通常会有几页 ...

  5. phd文献阅读日志-博一上学期

    为了记住并提醒自己阅读文献,进行了记录(这些论文都是我看过理解的),论文一直在更新中. 博一上学期: 1.week 6,2017.10.16 2014-Automatic Semantic Model ...

  6. RTCM32编解码中的一些概念及相关文献阅读

    1. IODC和 IODE ——  导航电文相关.iode/iodc是在GPS系统的ICD2中定义的参数,iode指星历数据事件,iodc指星钟数据事件. IOD 是 issue of data ,数 ...

  7. AutoML文献阅读

    逐步会更新阅读过的AutoML文献(其实是NAS),以及自己的一些思考 Progressive Neural Architecture Search,2018ECCV的文章: 目的是:Speed up ...

  8. 文献阅读报告 - Social BiGAT + Cycle GAN

    原文文献 Social BiGAT : Kosaraju V, Sadeghian A, Martín-Martín R, et al. Social-BiGAT: Multimodal Trajec ...

  9. 文献阅读报告 - Social Ways: Learning Multi-Modal Distributions of Pedestrian Trajectories with GANs

    文献引用 Amirian J, Hayet J B, Pettre J. Social Ways: Learning Multi-Modal Distributions of Pedestrian T ...

  10. 文献阅读 - MonoLoco与关于Camera Matrix的笔记

    目录 概览 HighLights Camera Intrinsic Matrix 笔记 Intrinsic Matrix Task-Error - 不确定性任务下确界的计算 输出假设的Laplace分 ...

随机推荐

  1. php 常用bc函数

    bcadd - 加法,2个任意精度数字的加法计算bcsub - 减法bcmul - 乘法bcdiv - 除法bcpow - 乘方bcmod - 取模bcsqrt - 求二次方根bccomp - 比较两 ...

  2. Python3爬虫入门(一)

    Python3爬虫入门 ​网络爬虫,也叫网络蜘蛛(Web?Spider).它根据网页地址(URL)爬取网页内容,而网页地址(URL)就是我们在浏览器中输入的网站链接. 在浏览器的地址栏输入URL地址, ...

  3. 一行代码搞定防抖节流:JavaScript新特性解析

    防抖(Debounce)和节流(Throttle)是两种前端开发中常用的性能优化技术,尤其在处理高频触发事件如滚动.调整窗口大小.输入等场景中.传统实现这些功能需要编写复杂的函数,但随着JavaScr ...

  4. 代码随想录第二天 | Leecode 209. 长度最小的子数组、59. 螺旋矩阵II

    Leecode 209 长度最小的子数组 题目链接:https://leetcode.cn/problems/minimum-size-subarray-sum/ 题目描述 给定一个含有 n 个正整数 ...

  5. 【MOOC】华中科技大学计算机组成原理慕课答案-第三章-运算方法与运算器

    待整理. 单选 1 原码除法是指 A. 操作数用绝对值表示,加上符号位后相除 √B. 操作数取绝对值相除,符号位单独处理 C. 操作数用原码表示,然后相除 D. 操作数用补码表示并进行除法,但商用原码 ...

  6. 在鸿蒙NEXT中开发一个2048小游戏

    本项目是基于api12开发的2048游戏,游戏的逻辑是当用户向某个方向滑动时,将该方向相邻且相等的数字相加,同时在空白区域的随机位置生成一个随机数字.游戏中的数字越大,分数越高. 首先,游戏的界面布局 ...

  7. HMM (隐马尔可夫) 推导 (下) - 参数估计 (EM)

    HMM (隐马尔可夫) 推导 (下) - 参数估计 (EM) 回顾 HMM 上篇介绍了HMM这样的一种时序类模型, 即描述了一些观测现象的产生, 是由我们很难观测到的 "隐变量因子" ...

  8. 网络编程:使用poll单线程处理所有I/O事件

    事件驱动模型 事件驱动的好处:占用资源少,效率高,可扩展性强,是支持高性能高并发的不二之选. 事件驱动模型也叫作反应堆模型(reactor),或者是Event loop模型,该模型的核心有两点: 1. ...

  9. C#之Stream和IO

    C#之Stream和IO public class test { public int aa = 100; public string testStr = "test"; publ ...

  10. VS Code上配置python虚拟环境

    1.首先在Vs Code的terminal中输入: py -3 -m venv .venv .venv\scripts\activate 2.一般报错如下: 3.解决方法: 第一步:以管理员身份运行p ...