gpt4 book ai didi

processing - 柏林噪声场如何工作?

转载 作者:行者123 更新时间:2023-12-01 13:01:25 26 4
gpt4 key购买 nike

我特别看这个例子:

http://www.airtightinteractive.com/demos/processing_js/noisefield08.html

这是它的代码:

http://www.airtightinteractive.com/demos/processing_js/noisefield08.pjs

我想我需要解释这些行在粒子类中的作用:

d=(noise(id,x/mouseY,y/mouseY)-0.5)*mouseX;  
x+=cos(radians(d))*s;
y+=sin(radians(d))*s;

我知道噪声根据给定的坐标计算一个值,但我不明白将粒子的 x 位置除以 mouseY,或将 y 位置除以 mouseY 的逻辑。我也不明白'id',它似乎是一个计数器代表什么,或者接下来的两行完成什么。

谢谢

最佳答案

Move mouse to change particle motion.

d 似乎是运动的方向。通过将 mouseY 和 mouseX 放入 d 的计算中,它允许基础字段取决于鼠标位置。如果对函数本身没有更好的理解,我无法准确告诉您 mouseY 和 mouseX 对该领域有什么影响。

通过运行 cos(radians(d)) 和 sin(radians(d)),代码将角度 (d) 转换为单位向量。例如,如果 d 为 1 弧度,则 cos(radians(d)) 将为 -1,而 sin(radians(d)) 将为 0,因此它将角度 1 弧度转换为单位向量 (-1,0)。

因此,似乎存在一些决定粒子移动方向的潜在运动场。运动场由噪声函数表示,并采用粒子的当前位置、粒子 ID(可能为每个粒子提供独立运动,或者可能记住粒子运动的历史并将 future 运动基于该历史)和鼠标的当前位置。

粒子实际移动的距离为 s,随机确定在 2 到 7 个像素之间。

关于processing - 柏林噪声场如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5757568/

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