TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Understanding Perlin Noise (2014)

94 点作者 acdanger超过 6 年前

6 条评论

sephoric超过 6 年前
When I first learned about noise (many years later than I should have), I remember finding out that Perlin noise was patented, so I looked into OpenSimplex[1] instead which is Java but has been ported to other languages. It turns out Love2d has love.math.noise built in which does the same thing. Would be great if PICO-8 had it too, although I think this one[2] is free too. But one of the coolest things was realizing that Minecraft landscapes are mostly just multiple applications of noise functions on top of each other, which means it only needs to store changes to the environment, and that it can completely regenerate the same environment using noise functions. Sometimes I envy game developers, until I remember how their working conditions are usually very horrible.<p>[1] <a href="https:&#x2F;&#x2F;gist.github.com&#x2F;KdotJPG&#x2F;b1270127455a94ac5d19" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;KdotJPG&#x2F;b1270127455a94ac5d19</a><p>[2] <a href="http:&#x2F;&#x2F;staffwww.itn.liu.se&#x2F;~stegu&#x2F;simplexnoise&#x2F;Noise.lua" rel="nofollow">http:&#x2F;&#x2F;staffwww.itn.liu.se&#x2F;~stegu&#x2F;simplexnoise&#x2F;Noise.lua</a>
评论 #18872143 未加载
评论 #18874966 未加载
评论 #18871089 未加载
simongr3dal超过 6 年前
Daniel Shiffman also has very approachable explanation of Perlin noise on his Youtube channel Coding Train: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Qf4dIN99e2w" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Qf4dIN99e2w</a>
评论 #18873091 未加载
评论 #18870840 未加载
lurklurk超过 6 年前
I have implemented Perlin Noise myself and wrote some procedural generation projects. Some experience to share:<p>- 2D Perlin Noise gives rather significant artifacts. If you look at the examples provided in the article you’ll notice that many of the edges in the examples are along the x and y direction. I use (open) simplex noise to avoid those. (When you are doing terrain generation those artifacts become easily noticeable)<p>- Gradient noises can be used to control more than just the intensity of something! I have used them to control the orientation of mountain ranges for example. Basically, you can use them to control anything that needs to be smooth and continuous over space.
DrPhish超过 6 年前
Perlin noise is great for making pretty patterns, and as shown by this page, surprisingly easy to understand.<p>The first thing I did when I got an rPi with a sensehat (which includes an 8x8 rgb display) was to make a plasma type display by generating 3 perlin noise maps and crossfading to a new set slowly every second or so.<p>I still have it running on my desk to this day and get constant comments. People seem to find it endlessly fascinating
评论 #18870378 未加载
leni536超过 6 年前
Long time ago I played around with gimp+mathmap[1]. For some reason I needed the second derivative of a Perlin noise layer and I kind of surprised when the underlying grid structure revealed itself. I didn&#x27;t know anything about the Perlin noise algorithm at the time. AFAIK there are variations of the algorithm that are continuous in the Nth derivative (for various values of N). Maybe the article&#x27;s implementation is continuous in the 2nd derivative.<p>[1] <a href="https:&#x2F;&#x2F;www.complang.tuwien.ac.at&#x2F;schani&#x2F;mathmap&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.complang.tuwien.ac.at&#x2F;schani&#x2F;mathmap&#x2F;</a>
appleflaxen超过 6 年前
I couldn&#x27;t find an explanation in the article for what makes Perlin noise unique (especially given the comments by sephoric here on HN).<p>Can anyone explain?<p>Tried going to the background pages linked, but links are broken.
评论 #18875007 未加载
评论 #18873482 未加载
评论 #18876558 未加载