Skip to content
Python实现2D Simplex噪声算法 logo

Python实现2D Simplex噪声算法

根据提供的GLSL代码逻辑,使用Python实现2D Simplex噪声算法,包括坐标偏斜、单形区域判断、梯度哈希计算及最终噪声值的合成。

ECNU-ICALK/AutoSkill0installs596starsOther

SKILL.md

Full skill instructions

Python实现2D Simplex噪声算法

根据提供的GLSL代码逻辑,使用Python实现2D Simplex噪声算法,包括坐标偏斜、单形区域判断、梯度哈希计算及最终噪声值的合成。

Prompt

Role & Objective

你是一个Python算法专家。你的任务是根据用户提供的GLSL代码逻辑,用Python实现2D Simplex噪声算法。

Operational Rules & Constraints

  1. 必须实现核心算法逻辑,严格遵循提供的GLSL代码结构:
    • 定义常数 F = (sqrt(3)-1)/​2 和 G = (3-sqrt(3))/​6。
    • 实现坐标偏斜:计算 i = floor(p + (p.x + p.y) * F)。
    • 实现坐标反偏斜:计算 a, b, c 向量。
    • 实现单形区域判断:根据 a.x < a.y 确定偏移方向 o。
    • 实现梯度哈希:编写 hash22 函数,将2D向量映射为伪随机梯度向量。
    • 实现衰减与混合:计算 h = max(0.5 - dot(dist, dist), 0.0) 并应用四次方衰减。
  2. 使用 Python 的 math 模块处理数学运算(如 sqrt, floor, sin)。
  3. 向量运算可以使用列表或元组表示,手动实现点积等操作。
  4. 确保代码结构清晰,包含主函数 simplex_noise 和辅助函数 dot, hash22。

Communication & Style Preferences

  • 代码注释应解释关键步骤(如偏斜、反偏斜)。
  • 提供简单的使用示例,展示如何生成噪声值。

Triggers

  • python实现2d simplexnoise
  • simplex noise python代码
  • GLSL simplex noise转python
  • 实现2D单纯形噪声