C 从2D函数生成3D柏林噪波函数
所以,我尝试使用openGL绘制随时间变化的抽象形状。为此,我想使用柏林噪声函数。这段代码()对我来说是一个完美的开始,除了这里找到的函数只需要两个坐标。我想要一个带两个空间坐标的,第三个,随时间变化C 从2D函数生成3D柏林噪波函数,c,opengl,noise,perlin-noise,C,Opengl,Noise,Perlin Noise,所以,我尝试使用openGL绘制随时间变化的抽象形状。为此,我想使用柏林噪声函数。这段代码()对我来说是一个完美的开始,除了这里找到的函数只需要两个坐标。我想要一个带两个空间坐标的,第三个,随时间变化 我的问题是:是否可以调整此函数以使用一个或多个坐标?3d柏林噪声如何? 为几何体使用两个坐标,一个用于时间。是的,这是可能的 您可以将时间维度视为空间维度而不存在任何问题 对于2D噪波,您将使用如下2D插值,以双线性为例,但该想法应适用于双三次插值等: 第一步: 您有4个外部值,其中一个点用于获
我的问题是:是否可以调整此函数以使用一个或多个坐标?3d柏林噪声如何? 为几何体使用两个坐标,一个用于时间。是的,这是可能的 您可以将时间维度视为空间维度而不存在任何问题 对于2D噪波,您将使用如下2D插值,以双线性为例,但该想法应适用于双三次插值等: 第一步: 您有4个外部值,其中一个点用于获取的值
+ +
x
+ +
第二步:
在Y轴上插值
+-+--+
x
+-+--+
+-+--+
|
x
|
|
+-+--+
第三步:
在Y轴上插值
+-+--+
x
+-+--+
+-+--+
|
x
|
|
+-+--+
现在我们有了插值
现在,要添加第三个维度,我们从8个值开始,并添加一个额外的步骤:在Z轴上插值。这将扩展到任意多个维度。此方法比单纯形噪声慢,并产生更多(大多数情况下较小)伪影;)@猴子:是的,但是OP要求柏林噪音,所以我不想把他弄糊涂。