gpt4 book ai didi

perlin-noise - 佩林噪声梯度函数

转载 作者:行者123 更新时间:2023-12-04 11:12:01 29 4
gpt4 key购买 nike

我正在尝试使3D Perlin噪声算法适应较低的尺寸,但是由于我不完全了解其原因,我在使用梯度函数时遇到了麻烦。

原始的Perlin梯度函数采用四个参数:hash和三维坐标(x, y, z)。该函数的结果根据hash mod 16的值返回,如下所示。

  • 0:x + y
  • 1:-x + y
  • 2:x - y
  • 3:-x - y
  • 4:x + z
  • 5:-x + z
  • 6:x - z
  • 7:-x - z
  • 8:y + z
  • 9:-y + z
  • 10:y - z
  • 11:-y - z
  • 12:y + x
  • 13:-y + z
  • 14:y - x
  • 15:-y - z

  • 011的返回值构成一种模式,因为每个组合都表示一次。但是,最后四个是重复项。为什么选择它们以适应最后四个返回值?那么具有两个 (x, y)和一个 (x)维度的类似情况又是什么呢?

    最佳答案

    ...迟来的回答总比没有好吗? ;-)
    “改进的噪声”实现中的grad函数计算向量x,y,z与伪随机梯度向量之间的点积。
    在该实现方式中,梯度向量是从12个选项中选择的。
    他们放弃选择的统一性,并添加数字12到15,因为执行hash & 15hash % 12更快
    对于二维Perlin噪声,我仅使用了4个梯度矢量,而没有这样的可见问题:

    return ((hash & 1) ? x : -x) + ((hash & 2) ? y : -y);

    关于perlin-noise - 佩林噪声梯度函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10729891/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com