高斯泼溅中的圆锥曲线不透明度?

问题描述 投票:0回答:1

在高斯泼溅作者代码的这一行中,它谈到了“圆锥曲线不透明度”。该代码引用了“Surface Splatting”论文中关于圆锥曲线不透明度的想法。然而,当我在 Surface Splatting 中搜索“圆锥曲线”一词时,我什么也没找到。我理解“圆锥形”(圆锥体)和“不透明度”(可以通过多少光),但是将这两个词放在一起,我不明白“圆锥形不透明度”是什么。请问有人愿意帮我理解吗? 这是我试图理解的代码块:

// Resample using conic matrix (cf. "Surface // Splatting" by Zwicker et al., 2001) float2 xy = collected_xy[j]; float2 d = { xy.x - pixf.x, xy.y - pixf.y }; float4 con_o = collected_conic_opacity[j]; float power = -0.5f * (con_o.x * d.x * d.x + con_o.z * d.y * d.y) - con_o.y * d.x * d.y; if (power > 0.0f) continue;```

	
graphics 3d computer-vision
1个回答
0
投票
conic_opacity

包含协方差矩阵的逆矩阵和相应高斯密度的值。此外,由于对称性,该变量中并非存储整个 2x2 矩阵,而是仅存储 3 个值。因此

conic_opacity = [S_11, S_12, S_22, alpha_gaussian]
您可以通过进一步查看它的使用方式来验证这一点:

float4 con_o = collected_conic_opacity[j]; float power = -0.5f * (con_o.x * d.x * d.x + con_o.z * d.y * d.y) - con_o.y * d.x * d.y; float alpha = min(0.99f, con_o.w * exp(power));

alpha

与原始高斯泼溅纸中方程 2,3 中使用的 alpha 完全相同

    

© www.soinside.com 2019 - 2024. All rights reserved.