[squeak-dev] Re: Would anyone care for some noise?

Bert Freudenberg bert at freudenbergs.de
Fri Feb 15 10:29:56 UTC 2013


On 2013-02-14, at 19:24, Casey Ransberger <casey.obrien.r at gmail.com> wrote:

> Inline and abridged.
> 
> On Thu, Feb 14, 2013 at 3:16 AM, Bert Freudenberg <bert at freudenbergs.de> wrote:
> 
> 
> Are you aware of noise's Smalltalk connection?
> http://www.noisemachine.com/talk1/4.html
> 
> So I am aware of Alan's connection to the film, and I am aware that noise was invented for it, but I am not aware of how Smalltalk fits in.

Noise - Tron - Alan - Smalltalk. Everything is connected with everything, but some things are more related ;)

>> I found myself wanting to understand Perlin noise, so I hunted around looking at various implementations (didn't find one in Smalltalk, if there is one, I'd love to know)
> 
> Pretty certainly I did one back in the days of my Masters thesis ... 15 years ago. Ugh. Don't have the code handy, sorry.
> 
> Oh drat.
>> The bad news is, I still don't understand Perlin noise! :0
> 
> 
> Really?! Ken's presentation above is pretty clear, IMHO ...
> 
> Sometimes I'm just dense. Squeak is really shining here though, because I can just hook things up to sliders and play around until I get a feel for it. I'm also playing with my words a bit: I don't understand in any concrete way why noise approximates natural phenomena. AFAICT no one does.
> It kind of reminds me of that Fermat conjecture, "here's this thing we don't understand and couldn't prove for a really long time that always worked no matter how many times we tried to break it." I think it's the mysterious part of noise that drew me to it.

Because nature is fractal, and Perlin noise is fractal (you compose scaled versions of it on top of each other), the two resemble each other if tweaked nicely. It's not a simulation, but a similarity nonetheless. Because with noise you can make up ever smaller detail if you "zoom in" it feels more "real" than just a plain texture.

To me it's not that mysterious, although still incredibly fascinating. 

>> Anyhow I'm not sure whether or not it's something that other people would want. Could be very niche graphics-nerdery, but who knows, the Croquet crowd might find ways to have fun with it at least. If I hear from people who'd like to play with it, I can clean up the code, add an example, and put it up under the MIT license somewhere convenient. Why not, right?
>> 
>> 
>> Let me know if you'd like to make some noise!
> 
> Seems certainly useful to me. In fact, I'd be surprised if there wasn't an implementation in Croquet or Qwaq already.
> 
> I definitely don't want to do the "yet another implementation of X" thing. It's pure Smalltalk code, no OpenGL stuff, which has ups and downs, but is at least different from what David Faught mentioned. Once I'm confident that I've got the bugs out, I might actually rewrite it in slang and make a VM primitive.

Sounds like a good idea: write it in slang and have it work, then plug in the primitive, so if the VM has the primitive it will just go faster. That's how the SoundGenerationPlugin works. Very elegant IMHO.

- Bert -


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130215/4a4b21c6/attachment.htm


More information about the Squeak-dev mailing list