box的符号距离函数

文章介绍了符号距离函数和距离场的概念,特别讨论了向量的二范数在计算中的应用。通过一个在线交互式网页示例,读者可以探索这些概念。计算方法部分详细阐述了如何处理不同区域,以及如何在GPU计算中避免使用if语句,提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

能用解析的方法算的,叫符号距离函数。只能数值解的,叫符号距离场。

它就是横平竖直的几个平面,点到平面的距离是很好算的。

初步认识

有个网页,可以玩一玩:

About | Physics Simulation in Visual Computing (interactivecomputergraphics.github.io)

Signed Distance Function - Box (interactivecomputergraphics.github.io)

计算方法

理论公式

底下还有计算公式的。关于这个公式,有两点要说的,都用红线标出来了:

向量的二范数

向量外面加两个竖线,乍一看,比较生疏;但是,仔细看看,也还行。

这是向量的范数。【不是矩阵的范数,矩阵的范数是另外的定义】然后由于2范数很常用,所以写2范数的时候可以省略下标2,最后就成了向量外面加两个竖线,也就是上图里的样子。

关于向量范数:【数值分析】【纯干货】三分钟速成向量范数_哔哩哔哩_bilibili

blue point

那个blue point,是在box中心的;它周围也是蓝色的,混在一起了,不仔细看还真看不出来……

用白色画笔圈起来的,就是所谓的"bule point"

实际计算

代点实际的数字进去算一算

关于d的含义

关于公式的使用

box,是对称的,所以只要考虑第一象限的就行了。

而第一象限,可以分成4个部分,如下图的1,2,3,4四个区域所示。

φx的公式,被加号分成了两个部分,在不同的区域,起作用的是不同的部分。

在区域1,起作用的是公式的第一部分,公式的第二部分在这种情况下恒为0。

在区域2,3,4,起作用的是公式的第二部分,公式的第一部分在这种情况下恒为0。

一个形式,兼容不同情况;在GPU里省略if,好像也是这么个思路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值