RLE 稀疏水平集 RLE sparse level sets 论文阅读笔记

目录

  • RLE 稀疏水平集
    • 随机访问
    • 水平集游程类型
    • 编码
    • CSG 操作
    • 增强水平集
  • 表现动画角色
    • 网格面到 RLE 水平集
    • 自相交
    • 时间抗锯齿
  • 总结

原文:

Houston, Ben, Mark Wiebe, and Chris Batty. “RLE sparse level sets.” ACM SIGGRAPH 2004 Sketches. 2004. 137.

只有一页,这就是技术草案的含金量吗

RLE 稀疏水平集

run-length encoded, RLE 游程编码

为什么 run-length 会被翻译为游程
我理解它把连续的重复出现的数字编码成 值+出现次数 的思想
但是还是理解不了这个翻译
只能把 run 理解为 值 - 出现次数 的 pair
或许这个 pair 就被称为游程

RLE 稀疏水平集表示具有许多有益的特性:

(1)高度可扩展,

(2)快速随机访问,

(3)窄带的顺序遍历是最佳的,

(4)在整个包围体中提供近似距离值,

(5)易于适应大多数为常规网格结构开发的现有水平集方法。

这些优点并不都是八叉树、稀疏域方法或稀疏块网格可扩展水平集表示所共有的(在 [Bridson 2003] 中进行了评论)。

随机访问

实现:

  1. 在每行开始时重新启动 RLE

  2. 将两个表添加到 RLE 结构中

    run-start table 游程起点表 将每个游程与其沿压缩轴的起始体素坐标相关联

    第二个表将其他两个轴的体素坐标与相应游程长度编码行的第一游程相关联

那么随机访问的过程是

  1. 使用上述第二个表查找与感兴趣的行相对应的 run-start table 中的段

  2. 如果这个游程已经被定义的话,对 run-start table 的已识别段使用二分搜索来查找感兴趣的游程

  3. 使用游程数据起始偏移量来确定体素值的数据索引。因此,随机访问时间减少到 O(log r) 而不是 O®,其中 r 是单行中的平均运行次数,R 是运行总数。

在这里插入图片描述

水平集游程类型

定义三种类型,有定义、正无穷、负无穷

如果是窄带水平集,有定义对应窄带之内,正无穷对应 SDF 值大于宽度,负无穷对应 SDF 值小于宽度的负数

需要注意的是,定义的运行类型与所有其他运行类型的不同之处在于,此类表示的单元格的值显式存储在关联的平面值数组中。

他这句话的意思应该就是,”有定义“就是表示有实际对应的值?

编码

构建 RLE 稀疏场结构的空间和时间复杂度均为 O(n^2 +R+D),其中 n 是包围体的边长,D 是定义的体素总数。

假设在任何 O(n^3 ) 网格中,只有 O(n^2 ) 个单元靠近表面,就像足够光滑的几何形状的情况一样,RLE 稀疏场结构的缩放比例接近最优的,O(n^2 + R)的,空间和时间成本

不确定他是不是说的”最优的,O(n^2 + R)的成本“

CSG 操作

当输入 RLE 稀疏水平集的编码轴匹配时,仅使用 O(R_a+D_a+R_b+D_b) 操作即可非常高效地执行常见水平集 CSG 操作(例如并集、交集和减法)

增强水平集

与许多稀疏结构不同,RLE 稀疏字段与定义值的存储分离。因此,对于用辅助数据增强的水平集,例如 [Houston et al 2003] 中引入的全局遮挡表示形式,单个 RLE 稀疏字段结构可以与多个定义的平面值数组相关联,每个值对应一个所需的辅助字段

这个 Augmented 与其翻译为增强,不如翻译为拓展?

表现动画角色

转换为 RLE 形式

在这里插入图片描述

网格面到 RLE 水平集

在 [Houston et al. 2003] 中介绍的,将网格转换为密集水平集的结构化射线投射方法,可以适用于 RLE 稀疏水平集,这样既不需要 O(n^3) 中间存储,也不需要 O(n^3) 操作。这种效率源于射线投射算子能够同时为体积的大型线性部分提供 SDF 的上界。

虽然结构化低密度射线投射本身并不能产生精确的距离场解,但可以使用较慢但精确的方法作为后处理,将已识别窄带的水平集值提高到亚体素精度

自相交

为了处理传统动画角色中经常出现的自相交问题,我们采用以下消歧方案:与网格点相交的每个光线投射都会产生内部或外部投票以及相应的带符号距离值。经过多个通道 pass 后,得票最多的符号对应的距离将被解析为最终的水平集的值

时间抗锯齿

动画角色通常具有子体素特征,例如尖锐的折叠或边缘,当在规则的网格结构上进行动画处理时,可能会导致视觉上令人不快的锯齿伪影。为了消除这些伪影,无需美术师干预或调节,可以将网格转换为所需分辨率两倍的 RLE 稀疏水平集,然后使用低通滤波器下采样至所需分辨率

总结

看上去核心就是那个随机访问的过程

但是我理解不了他是怎么做到的

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

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

相关文章

【Java】RestClient的使用

RestClient的使用 先导入Maven坐标&#xff0c;要和elasticsearch和kibana的版本保持一致 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.12.1<…

【深度学习】LoRA: Low-Rank Adaptation of Large Language Models,论文解读

文章&#xff1a; https://arxiv.org/abs/2106.09685 文章目录 摘要介绍LoRA的特点什么是低秩适应矩阵&#xff1f;什么是适应阶段&#xff1f;低秩适应矩阵被注入到预训练模型的每一层Transformer结构中&#xff0c;这一步是如何做到的&#xff1f; 摘要 自然语言处理的一个重…

c# 类的介绍及延伸

类介绍 类的定义是以关键字 class 开始&#xff0c;后跟类的名称。 类属于引用类型&#xff0c;只能通过new方式创建。 如果类定义中没有指定基类&#xff0c;那其基类为system.object // <访问修饰符> class class类名 <access specifier> class class_name { //…

Math.random、Random随机数的生成

Math.random、Random随机数的生成 Math.random() 方法案例&#xff1a;生成随机整数案例&#xff1a;生成随机字符 Random()类Random生产区间随机数的技巧&#xff1a;减加法案例&#xff1a;猜测随机一个幸运号码 1 - 100案例&#xff1a;生成随机字符 Math.random() 方法 Ma…

数据价值在线化丨TiDB 在企查查数据中台的应用及 v7.1 版本升级体验

本文介绍了企查查在数据中台建设中使用 TiDB 的经验和应用。通过从 MySQL 到 TiDB 的迁移&#xff0c;企查查构建了基于 TiDB Flink 的实时数仓框架 &#xff0c;充分利用了 TiDB 的分布式架构、MySQL 兼容性和完善的周边工具等特性&#xff0c;实现了数据的在线化处理。2023 年…

ACM题解Day6 | 质数素数模块 | 完数难题

学习目标&#xff1a; 博主介绍: 27dCnc 专题 : 数据结构帮助小白快速入门算法 &#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d; ☆*: .&#xff61;. o(≧▽…

Vue模板引用之ref特殊属性

1. 使用实例 <template><input ref"input" name"我是input的name" /><br /><ul><li v-for"arr in array" :key"arr" id"111" ref"itemRefs">{{arr}}</li></ul> </…

较通用web脚手架模板搭建

较通用web脚手架模板搭建 从这里开始就接触到以后写项目的思维了。 做一个web开发&#xff0c;那就要层次分明&#xff0c;要有个实现的规划&#xff0c;这通常也是有一个较为通用的模板的。 总的来说&#xff1a;不同的层次有不同的模块&#xff0c;每个模块有必须实现的功…

常用!基础!吴恩达deeplearning.ai:Tensorflow中数据形式

由于一些历史遗留问题&#xff0c;Numpy和Tensorflow在数据处理方面存在一些不一致的地方&#xff0c;今天我们主要来了解一下其中一些约定俗成的形式&#xff0c;从而能够让你写出正确的代码(耍帅&#xff09;。 文章目录 Tensorflow是如何表示数据的特征向量关于Numpy矩阵激…

Flutter(一):安装和环境配置、创建Flutter项目

安装和环境配置、创建Flutter项目 Flutter 下载方式1方式2 Flutter 环境配置配置国内镜像站点解压 Flutter将 flutter 添加到系统环境变量中运行 flutter doctor来验证安装 Android Studio下载插件创建项目安装 Android SDK 工具在模拟器上运行 Flutter 下载 方式1 全版本&…

深度学习介绍与环境搭建

深度学习介绍与环境搭建 慕课大学人工智能学习笔记&#xff0c;自己学习记录用的。&#xff08;赋上连接&#xff09; https://www.icourse163.org/learn/ZUCC-1206146808?tid1471365447#/learn/content?typedetail&id1256424053&cid1289366515人工智能、机器学习与…

数据结构day4

实现创建单向循环链表、创建结点、判空、输出、头插、按位置插入、尾删、按位置删除 loop_list.c #include "loop_list.h" loop_p create_head() {loop_p L(loop_p)malloc(sizeof(loop_list));if(LNULL){printf("空间申请失败\n");return NULL;}L->le…

华为配置WLAN AC和AP之间VPN穿越示例

配置WLAN AC和AP之间VPN穿越示例 组网图形 图1 配置WLAN AC和AP之间VPN穿越示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 企业用户接入WLAN网络&#xff0c;以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时&#xff0c;不影响…

CentOS 7.9.2009离线安装mysql 8.0客户端 (rpm包)

环境&#xff1a; #需求&#xff1a; 该服务器需要将csv文件入库到远端的mysql 服务器上。 CentOS Linux release 7.9.2009 (Core) 离线环境 &#xff0c;需安装mysql客户端 8.0.27#下载地址 https://downloads.mysql.com/archives/community/#按此顺序安装 rpm -ivh mysql…

alist修改密码(docker版)

rootarmbian:~# docker exec -it [docker名称] ./alist admin set abcd123456 INFO[2024-02-20 11:06:29] reading config file: data/config.json INFO[2024-02-20 11:06:29] load config from env with prefix: ALIST_ INFO[2024-02-20 11:06:29] init logrus..…

Kotlin filterIsInstance filterNotNull forEach

Kotlin filterIsInstance filterNotNull forEach fun main(args: Array<String>) {val i1 MyItem(1, 1)val i2: MyItem? nullval i3: Int 3val i4 "4"val i5 nullval i6 MyItem(6, 6)val list mutableListOf<Any?>(i1, i2, i3, i4, i5, i6)lis…

【算法与数据结构】链表、哈希表、栈和队列、二叉树(笔记二)

文章目录 四、链表理论五、哈希表理论五、栈和队列理论5.1 单调栈 六、二叉树理论6.1 树的定义6.2 二叉树的存储方式6.3 二叉树的遍历方式6.4 高度和深度 最近博主学习了算法与数据结构的一些视频&#xff0c;在这个文章做一些笔记和心得&#xff0c;本篇文章就写了一些基础算法…

【初始RabbitMQ】高级发布确认的实现

在生产环境中由于一些不明原因&#xff0c;导致 rabbitmq 重启&#xff0c;在 RabbitMQ 重启期间生产者消息投递失败&#xff0c; 导致消息丢失&#xff0c;需要手动处理和恢复。于是&#xff0c;我们开始思考&#xff0c;如何才能进行 RabbitMQ 的消息可靠投递呢&#xff1f; …

浅谈集群的分类

本文主要介绍集群部署相关的知识&#xff0c;介绍集群部署的基础&#xff0c;集群的分类、集群的负载均衡技术&#xff0c;集群的可用性以及集群的容错机制。随后介绍Redis-Cluster以及Mysql的架构以及主从复制原理。 集群介绍 单台服务器本身会受到带宽、内存、处理器等多方面…

万界星空科技电子机电行业MES系统,2000元/年起

电子行业在生产管理上具有典型的离散制造特点&#xff0c;采用多品种、多批量或单件的生产组织方式。产品升级换代迅速&#xff0c;生命周期短&#xff0c;变更频繁&#xff0c;版本控制复杂。 同时产品的种类较多&#xff0c;非标准产品多&#xff0c;加工工序复杂&#xff0…