【Lp-CVT and Applications】

news2024/11/25 14:28:15

Lp-CVT and Applications 论文笔记

本文是论文 Lp Centroidal Voronoi Tessellation and its Applications 的学习笔记。有不足之处,请指出!非常感谢!

1 主要工作

  1. 解决问题:推广CVT以适用各向异性和六面体网格划分。
  2. 推广 CVT ,提出 Lp-CVT,即最小化 Voronoi cell 上的坐标高阶矩,即提出新的目标函数 F L p F_{L_p} FLp
  3. 可以使Voronoi cell的轴和预定义背景张量场(各向异性)对齐。
  4. 使用 准牛顿(quasi-Newton)优化框架,基于目标函数及其梯度的闭式推导计算。
  5. 可用于曲面网格划分(各面各向异性三角网格)和体网格划分(3D各向异性场的封闭三角网格内部)。
  6. 应用:四边形占优曲面网格重划分、六面体占优体网格划分。

2 结构

  1. 介绍Lp-CVT定义、目标函数、导数。
  2. 将受限L2-CVT应用到曲面网格重划分。
  3. 将受限Lp-CVT应用到四边形占优曲面网格重划分,3D Lp-CVT应用到六面体占优体网格划分。

3 定义

  1. Lp-CVT:目标函数 F L p F_{L_p} FLp的最小值。
  2. 目标函数,即CVT能量,注入各向异性项(My)和LP范数,定义如下:
  1. 上述式子的 Ω \Omega Ω 要么是曲面 S,要么是封闭曲面 S的内部。在最小化 F L p F_{L_p} FLp的算法中,S被定义为分段线性复合体(PLC)。

4 计算 F L p F_{L_p} FLp

  1. 给出域 Ω \Omega Ω,和一组点 X X X。使用BFGS(一种准牛顿算法)最小化 F L p F_{L_p} FLp,每次迭代需要计算 F L p F_{L_p} FLp及其梯度。每次迭代的操作:
    • Ω \Omega Ω 分解为一组单纯形胞体,由一组整数表示。
    • 根据组合结构表示,计算 F L p F_{L_p} FLp及其梯度(闭式形式?)。

4.1 F L p ( X ) F_{L_p}(X) FLp(X)组合结构

  1. PLC(Piecewise Linear Complex)是一组多边形面(可能非凸),由顶点 pj N f x + b f = 0 N_f x+b_f=0 Nfx+bf=0决定的平面(Nf,bf)表示。
  2. 曲面网格划分(重新划分一个PLC),体网格划分(划分一个封闭PLC的内部)。
  3. Ω \Omega Ω 分解为单纯形胞体,称为 integration simplices,这样 F L p ( X ) F_{L_p}(X) FLp(X)可以表示为 x i , p j , ( N f , b f ) x_i,p_j,(N_f,b_f) xi,pj,(Nf,bf)的函数。
曲面网格划分
  1. RVD(restricted Voronoi diagram)决定 F L p ( X ) F_{L_p}(X) FLp(X)的组合结构。
    • RVD:3D Voronoi 单元和曲面S的交集。
    • RVD可以由一种提取算法(an exact algorithm[Yan et al.2009])计算得到。
  2. 将每个RVD单元分解为一组三角形面片,对于三角形面片的顶点 C i C_i Ci 有三种类型:
    • A(蓝色):曲面S的一个顶点 p j p_j pj
    • B(绿色):两个RVD单元中心点连线的平分线 [ x 0 , x i ] [x_0,x_i] [x0,xi]和S两个面 ( N f , b f ) , ( N g , b g ) (N_f,b_f),(N_g,b_g) (Nf,bf),(Ng,bg)的共线的交点。
    • C(红色):两条平分线 [ x 0 , x i ] , [ x 0 , x j ] [x_0,x_i],[x_0,x_j] [x0,xi],[x0,xj]和S的一个面 ( N f , b f ) (N_f,b_f) (Nf,bf)的交点。
体网格划分
  1. CVD(clipped Voronoi diagram)决定 F L p ( X ) F_{L_p}(X) FLp(X)的组合结构。

    • CVD:3D Voronoi 单元和封闭曲面S的内部的交集。
    • CVD可以由RVD计算得到,然后计算 “walls”,即3D Voronoi 单元的裁剪面,如图B。
  2. 将每个CVD单元分解为一组四面体,每个四面体由 x 0 , C 1 , C 2 , C 3 x_0,C_1,C_2,C_3 x0,C1,C2,C3表示。多一种顶点 C i C_i Ci 的类型:

    • D(黄色):三条平分线 [ x 0 , x i ] , [ x 0 , x j ] , [ x 0 , x k ] [x_0,x_i],[x_0,x_j],[x_0,x_k] [x0,xi],[x0,xj],[x0,xk]的交点,即三个CVD cell的交点。
最后

组合结构:每个集成单形 x 0 , C 1 , C 2 , C 3 x_0,C_1,C_2,C_3 x0,C1,C2,C3 由10个整数表示。

  • x 0 x_0 x0 的下标
  • 每个顶点 C i C_i Ci 的类型由三个整数编码
  • 正数 k k k 表示平分线 [ x 0 , x k ] [x_0,x_k] [x0,xk],负数 k k k 表示边界平面 ( N − k , b − k ) (N_{-k},b_{-k}) (Nk,bk)

4.2 F L p ( X ) F_{L_p}(X) FLp(X)的代数结构

  1. F L p ( X ) F_{L_p}(X) FLp(X)及其梯度由组合结构:整数数组、顶点数组( x i x_i xi)、边界平面数组 ( N f , b f ) (N_f,b_f) (Nf,bf)算出。计算每个集成单形 T T T F L p T ( X ) F_{L_p}^T(X) FLpT(X)及其梯度的总和得到Lp-CVT能量和梯度。
  2. F L p ( X ) F_{L_p}(X) FLp(X)的表达式:
  3. ∇ F L p ( X ) \nabla F_{L_p}(X) FLp(X)的表达式:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/167630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何模拟实现一个“缓存”?

目录 前言 一、LRU Cache是什么 二、模拟实现 2.1、通过继承 LinkedHashMap 模拟实现 2.2、自主模拟实现LRU Cache 2.2.1、LRU Cache的定义 2.2.2、存放结点 2.2.3、访问结点 2.2.4、LRU Cache 完整模拟代码 小结 前言 这次主要实现一个类似缓存的一种数据结构&#xf…

day49 业务逻辑水平垂直越权访问控制脆弱验证

前言: #知识点: 1、水平越权-同级用户权限共享 2、垂直越权-低高用户权限共享 3、访问控制-验证丢失&取消验证 4、脆弱验证-Cookie&Token&Jwt等 #前置知识: 1、逻辑越权原理- -水平越权:用户信息获取时未对用户…

NTP(Network Time Protocol)协议详解

一、NTP的基本概念: NTP(Network Time Protocol)------网络时间协议-----应用层协议,用来在分布式时间服务器和客户端之间进行时间同步。 二、采用NTP的目的: 是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟…

JDY-06蓝牙透传无天线模块介绍

JDY-06蓝牙透传无天线模块简介JDY-06透传模块是基于蓝牙4.0协议标准,工作频段为2.4GHZ范围,调制方式为GFSK,最大发射功率为0db,最大发射距离60米,采用TICC2541芯片设计,支持用户通过AT命令修改设备名、服务…

Alkyne maleimide,Mal-Alkyne,炔烃-马来酰亚胺

中英文别名:CAS号:N/A | 英文名:Alkyne maleimide,Mal-Alkyne |中文名:炔烃-马来酰亚胺物理参数:CASNumber:N/AMolecular formula:C12H14N2O3Molecular weight:234.26Pur…

什么是前后端分离?

当前,数字化发展速度越来越快,前后端分离已经成为今后的发展趋势。在现代化办公管理中,不少企业倾向于使用低代码开发平台实现高效协作办公,那么,什么是前后端分离?都有哪些特点?本文就围绕这个…

【网络安全】渗透测试之linux信息收集

前言 在内网中linux的服务器是占大多数的,主要原因分为以下几点 1.便宜,linux大多为免费的,Windows Server是收费的,对于企业来说为了节约成本,大量采用linux服务器。 2.轻便,linux主要是对服务器进行服务的…

递归算法实例应用(三)

递归算法实例应用(三) 四则运算表达式求值 Description 给你一个字符串表达式 str ,请你实现一个基本计算器来计算并返回它的值。 注意:不允许使用任何将字符串作为数学表达式计算的内置函数 。 Input 一行,一个四则运算表达…

编写设备驱动之i2c_client

编写设备驱动之i2c_client 文章目录编写设备驱动之i2c_client参考资料:一、I2C总线-设备-驱动模型二、 编译i2c_driver三、编写测试程序四、多种方法生成i2c_client并测试4.1 在用户态生成4.2 编写代码4.3 使用设备树生成2. IMX6ULL4.4 上机测试致谢参考资料&#x…

prometheus的remotewrite解析

特性 目的是为了向远端的存储写入数据。 为了提高写入效率,Prometheus在将采集到的samples写入远程存储之前,会先缓存在内存队列中,然后打包发送给远端存储。而这个内存队列的配置参数,对于Prometheus写入远程存储的效率影响较大…

《MySQL高级篇》十一、事务基础知识

文章目录1. 数据库事务概述1.1 存储引擎支持情况1.2 基本概念1.3 事务的ACID特性1.4 事务的状态2. 如何使用事务2.1 显式事务2.2 隐式事务2.3 隐式提交数据的情况2.4 使用举例1:提交与回滚2.5 使用举例2:测试不支持事务的Engine2.6 使用举例3&#xff1a…

STL中的队列用法整理

STL中的队列先进先出队列(FIFO)主要方法代码示例输出优先级队列模版原型主要对方法有代码示例int的大顶堆运行结果int的小顶堆运行结果使用自定义的比较函数的优先队列代码示例运行结果双端队列主要方法示例运行结果有关双端队列的题目先进先出队列&…

Vue生命周期,总也学不会,所以我详细整理了一下

今天,我和大家一起来对vue生命周期做一个整理和思考,希望有缘人看到我的年度整理和思考,如果觉得靠谱呢,就交个朋友,如果觉得我整理的不足,就请指出,让我们一起进步,让我们2023年能共…

单链表

插入: head 表示头结点的下标 e[i] 表示节点i的值 ne[i] 表示节点i的next指针是多少 idx 存储当前已经用到了哪个点 步骤:1.初始化head 2.将x插到头结点 3.插入:将x插到下标是k的点后面 4.将x插到下标是k的点后面 5.将下标是k的点后面…

springboot,vue影院订票系统

开发工具:IDEA服务器:Tomcat9.0, jdk1.8项目构建:maven数据库:mysql5.7系统用户前台和管理后台两部分,项目采用前后端分离前端技术:vue elementUI服务端技术:springbootmybatis项目功…

集合框架及背后的数据结构

集合框架及背后的数据结构1. 介绍2. 学习的意义2.1 Java 集合框架的优点及作用2.2 笔试及面试题3. 接口 interfaces3.1 基本关系说明3.2 Collection 接口说明3.3 Collection 常用方法说明3.4 Collection 示例3.5 Map 接口说明Map3.6 Map 常用方法说明3.7 Map 示例4. 实现 class…

免费AI改图神器,一个万能宝藏在线工具箱

说到工具箱,无论是在线工具,还是软件应用都非常多。 比如想要抠一张图片,如果专业处理,那么会使用到 Photoshop,需要一定的学习成本,想要更快捷处理,那么会直接使用在线工具,网络上…

Secret

目录 文章目录目录本节实战前言1、Opaque Secret1.创建Secret(1)通过data字段来创建secret资源对象(2)通过stringData字段来创建secret资源对象(3)通过kubectl create命令来创建Opaque类型的Secret资源2.使…

ROS2 基础概念 参数

ROS2 基础概念 参数1. Parameters2. 参数3. 参数查看4. 参数设置5. 参数保存6. 参数加载1. Parameters 指令功能ros2 param delete /node parameter删除参数值ros2 param describe /node parameter显示参数的相关描述ros2 param dump /file将参数保存到一个文件中ros2 param g…

LinuxDeployQT打包QT程序

系统:ubuntu20.04官网可直接下载使用https://github.com/probonopd/linuxdeployqt/releases,但是因为不支持ubuntu20所以本文通过下载源码编译的方式编译linuxdeployqt安装编译相关依赖sudo apt-get install git g libgl1-mesa-dev wget安装QTsudo apt-g…