Your source code comments and links back to your website/github were left in place of course. ]]>

It is halfway across the edge. so in the middle means you’re influenced by three points but you’re further away from those three points. half way along an edge is influenced by two points but you’re closer to those two points. And it turns out being closer to two points along the edge gives a bigger value than in the middle.

For the second part… that 2.0 is due to that you have two points influencing the value. (because its along an edge)

]]>I’m reading your comments about the normalization factor, but it is still not clear to me.

First, isn’t the sample location of the possible maximum value at the center of the simplex (instead of the halfway along an edge)?

Second, how did you derive the normalization formula

DNF = 1.0 / ( x * ( ( 0.5 â€“ x*x ) ^ 4 ) * 2.0 ). The ( ( 0.5 â€“ x*x ) ^ 4) part comes from the attenuation kernel you apply, but what is that additional x*2.0 part? Thanks in advance! ]]>

During my profiling it didn’t make any difference. So I used the shorter variant. ]]>

You can read more about it here. ]]>

P = P – floor(P * ( 1.0 / DOMAIN )) * DOMAIN;

as:

P = mod(P, DOMAIN);

? ]]>