algorithm - 计算体射线转换中的梯度

标签 algorithm graphics 3d raycasting volume-rendering

请帮我解决这个关于体积射线转换算法的问题:

在维基百科文章 ( link ) 中,它说“对于每个采样点,计算照明值的梯度。它们代表体积内局部表面的方向。

我的问题是:为什么光照值有梯度?为什么不透明度值?从“有东西”到“没有东西”的转变当然可以用不透明度的变化来更准确地描述。

例如,考虑两个体素:[1][2]。 1 明亮透明,2 暗淡不透明。在我看来,这对应于一个面向左的表面。我错过了什么吗?

最佳答案

梯度向量指向增加最大的方向。在这种情况下,这意味着它指向光照增加最快的方向,因此在您的 [1][2] 示例中,2 处的梯度确实指向左侧.

相反,如果你采用不透明度的梯度,你会得到一个指向不透明度增加方向的向量,即“向内”。您可以取反以获得指向外的矢量,但仍然存在不透明度局部的问题。它只告诉您周围环境中物体的结构。当你对某物进行着色时,你想知道的是当你从点到点移动时表面的光照情况。了解恒定照明的表面可以让您推断出这一点,但是从恒定不透明度的表面,您只能推断出如果表面和光源之间没有任何东西,它的照明度会如何。

关于algorithm - 计算体射线转换中的梯度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20249900/

相关文章:

c++ - 大输入(64 位)在计算 C++ 中的 64 位整数中的位数时给出意想不到的结果

android - 如何在 Android 上的相机预览中粘贴内容?

highcharts - 3D 圆环图点击图表边缘的事件问题

c++ - 将 3D 模型导入 OpenGL/C++ 项目的推荐文件格式和图形库?

optimization - 优化随机访问双线性采样

math - 在 3d 中连接两个平面

c# - 简单的光线追踪教程?

java - 在句子中寻找关键词

algorithm - 2^n 可以用少于 n-1 次的连续乘法计算吗?

javascript - 有人可以用外行的术语解释这个功能是如何工作的吗?