BMesh 逆收缩代码对应解释
构建标量场函数为了演化(逆收缩)
\left(1-\left(\frac{r}{R_{i}}\right)^{2}\right)^{2}, \quad r \leq R_{i} \\
0, \quad r>R_{i}
\end{array}\right.
\]
其中 r^2 就是球函数
\(r^{2}=\left(x-c_{x}^{i}\right)^{2}+\left(y-c_{y}^{i}\right)^{2}+\left(z-c_{z}^{i}\right)^{2}\)
\(R_i=\alpha r_i\) 其中\(r_i\)是球i的半径\((c_x^i, c_y^i, c_z^i)\)是球的中心坐标,\(\alpha\)是1.5应该就是一个系数。
标量场定义为满足下面公式的东西。
\(\mathcal{I}(\boldsymbol{x})=\sum_{i=1}^{n} f_{i}-T=0\)
其中\(T\)是门限参数,门限参数控制着演进网格多接近标量场。一个更大的T降维生成更瘦的结果。
初始的网格图2C,定义为要演化的网格。
具体而言点在表面移动的轨迹被认为时间t的函数x(t)
\]
其中 \(d \boldsymbol{x} / d t\) 认为是速率。\(\boldsymbol{n}=-\nabla \mathcal{I} /|\nabla \mathcal{I}|\)
被认为是法向量,\(\mathcal{I}\) 被认为是标量场。\(\mathcal{F}(\boldsymbol{x}, \boldsymbol{n}, \mathfrak{K}, \mathcal{I}, \cdots)\) 是一个带符号的标量函数(运动速度函数)依赖于标量的属性包括位置和法向量曲率和标量场等等。典型的S(0)是初始化网格。
运动速度函数\(\mathcal{F}\) 被标量场和一个切线水平集决定。公式如下
\]
这公式意味着顶点演化的更快如果它原理切线水平集。区域函数在这个公式中控制着演化速度对不同区域的自适应。
标量场靠近小球会比靠近打球更加密集。在当前的系统中。\(f(\kappa)=1/\left(1+\left|\kappa_{1}\right|+\left|\kappa_{2}\right|\right)\)表现的很好\(\kappa_{1}\) 和 \(\kappa_{2}\)是顶点 \(x\) 的主曲率。
一个顶点\(\boldsymbol{x}(t)\)在当前的网格面S(t)演进如下所示
\]
\(\Delta t\) 是时间间隔防止出现震荡情况,我们限制的迭代的次数。公式从另一篇论文CFL中导出
同时我们限制\(\Delta t\)的最小值
\]
step 定义为
\(step =\min \left\{r_{i}\right\} / 2^{k}\) k是细分次数。最小的step定义为最小的球面半径
即
double step = getMinRadius(root, root->getValue()->radius) / pow(2, subdivisionLevel);
网格演进终止与表面接近标量场。演化工程在接近表面的时候很快。
BMesh 逆收缩代码对应解释的更多相关文章
- 编程算法 - 数组中的逆序对 代码(C)
数组中的逆序对 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 在数组中的两个数字假设前面一个数字大于后面的数字, 则这两个数字组成一个逆序对. ...
- java动态代理实现与原理详细分析(代码层面解释了AOP的实现)
关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 一.代理模式 代理模式是常用的java设计模式, ...
- [js]js栈内存的全局/私有作用域,代码预解释
js代码如何执行的 浏览器提供执行环境: 全局作用域(提供js执行环境, 栈内存) --> 执行js需要预解释 - 带var : 提前声明 - 带function关键字的: 提前声明+定义 js ...
- C++卷积神经网络实例:tiny_cnn代码具体解释(7)——fully_connected_layer层结构类分析
之前的博文中已经将卷积层.下採样层进行了分析.在这篇博文中我们对最后一个顶层层结构fully_connected_layer类(全连接层)进行分析: 一.卷积神经网路中的全连接层 在卷积神经网络中全连 ...
- 动手动脑之查看String.equals()方法的实现代码及解释
动手动脑 请查看String.equals()方法的实现代码,注意学习其实现方法. 第一个是false,后三个是true. package stringtest; public class Strin ...
- jQuery源代码学习笔记:jQuery.fn.init(selector,context,rootjQuery)代码具体解释
3.1 源代码 init: function( selector, context, rootjQuery ) { var match, elem, ret, doc; // Handle $(&qu ...
- 原代码,反码,解释和具体的补充 Java在>>和>>>差异
前两天分析 HashMap 的 hash 算法的时间,会见 >> 和 >>> 这两个符号.然后检查以下信息,我脑子里在某一时刻.今天遇到,我没想到居然忘 0-0.... ...
- Java实现八种排序算法(代码详细解释)
经过一个多星期的学习.收集.整理,又对数据结构的八大排序算法进行了一个回顾,在测试过程中也遇到了很多问题,解决了很多问题.代码全都是经过小弟运行的,如果有问题,希望能给小弟提出来,共同进步. 参考:数 ...
- 逆卷积的详细解释ConvTranspose2d(fractionally-strided convolutions)
1.首先先定义进行卷积的参数: 输入特征图为高宽一样的Hin*Hin大小的x 卷积核大小kernel_size 步长stride padding填充数(填充0) 输出特征图为Hout*Hout大小的y ...
- HTTP 返回状态代码详细解释
一:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100(继续)请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分:101(切换协议)请求者已要 ...
随机推荐
- SpringBoot整合Redis日志反复提示Redis重连问题
1. 报错信息如图: 2. 原因: spring boot 2.0之后spring-boot-starter-data-redis默认不再使用jedis连接redis,而是lettuce 这是lett ...
- Java单例模式:从实战到面试的深度解析
结论先行 饿汉式:线程安全但可能造成资源浪费,推荐在初始化成本低的场景使用 懒汉式:需要解决线程安全问题,推荐使用双重检查锁+volatile优化 静态内部类:最佳实践方案,完美平衡延迟加载与线程安全 ...
- 我的C/C++开发环境
我的C/C++开发环境 OS: WSL Ubuntu Compiler: gcc Editor: VS Code Extensions: C/C++ Extenion Pack Settings: 时 ...
- 【经验】VMware|虚拟机只能使用鼠标无法使用键盘、装不了或装了VMware-Tools无法复制粘贴的可能解决办法
2024/04/24说明:这篇暂时修改为粉丝可见,因为正在冲粉丝量,等到我弄完了粉丝量的要求,我就改回来!不方便看到全文的小伙伴不好意思!! VMware Workstation Pro版本:16.2 ...
- 信息资源管理综合题之“绘制利用RSA进行数字签名的过程图并进行简要说明”
一.李三在上课中听不懂利用RSA进行数字签名的过程,老师便在黑板上清晰地画出了利用RSA进行数字签名过程图,李三方才明白是什么一回事.假设数字签名的原文方为A,按收方为B,A的公钥为(e,n),私钥为 ...
- 在鸿蒙NEXT开发中实现一个语音识别组件
鸿蒙系统发布以后都不知道叫它5.0版本还是NEXT版本了,哈哈,反正是最新版本就对了.对于语音转换文字,鸿蒙系统提供了离线语音识别模型speechRecognizer,语种目前支持中文,识别效果非常不 ...
- 将数据导出 Excel 并异步发送到指定邮箱:一次性能优化实战
使用 Spring Boot 实现 Excel 导出 + 邮件异步发送功能,解决接口阻塞问题 一.背景介绍最近我在开发一个跑团管理系统的数据导出功能,需求是将用户查询的成员信息.跑量统计等数据导出为 ...
- 深入浅出了解生成模型-1:GAN模型原理以及代码实战
更加好排版:https://www.big-yellow-j.top/posts/2025/05/08/GAN.html 日常使用比较多的生成模型比如GPT/Qwen等这些大多都是"文生文& ...
- Vite 3 来了!新增功能 + 如何迁移
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- Web前端入门第 55 问:JavaScript 严格模式与非严格模式区别
JavaScript 默认是非严格模式的,可以通过 "use strict"; 启用严格模式.此声明语句可以放在 JS 文件顶部,也可以放在函数内部. 启用严格模式 1.外部脚本在 ...