一般来说,我对 Perlin 噪声和 pv.sample_function 有一些疑问。
- 您将如何将 Perlin 噪声应用于球体?我想要一个有点变形的球体。
- 您可以多次将 Perlin 噪声应用于网格(球体/平面)吗?我想有一架飞机,上面有一些粗糙的“波浪”和高细节的噪音(因此有大波浪,里面有小波浪)。
- 频率中的第三个参数究竟是做什么的?在玩了一些值之后,我没有注意到它是如何影响噪音的。
这是我想应用于一架飞机的两种不同频率/柏林噪声。此外,它还显示了他们分别创建的平面。
def smooth_and_plot(sampled : pv.core.grid.UniformGrid):
mesh = sampled.warp_by_scalar('scalars')
mesh = mesh.extract_surface()
# clean and smooth a little to reduce perlin noise artifacts
mesh = mesh.smooth(n_iter=100, inplace=True, relaxation_factor=0.07)
mesh.plot()
def gravel_plane():
freq = [180, 180, 50]
noise = pv.perlin_noise(0.2, freq, (0, 0, 0))
sampled = pv.sample_function(noise,
bounds=(-10, 2, -10, 10, -10, 10),
dim=(500, 500, 1))
smooth_and_plot(sampled)
def bumpy_plane():
freq = [0.5, 0.7, 0]
noise = pv.perlin_noise(0.5, freq, (-10, -10, -10))
sampled = pv.sample_function(noise,
bounds=(-10, 2, -10, 10, -10, 10),
dim=(500, 500, 1))
smooth_and_plot(sampled)