Need help with simplex noise skew transformation

algorithmsnoisesimplextransformation

I am reading a paper about simplex noise.
http://knielsen-hq.org/simplex_noise_skew_factor.pdf

For whatever reason I can't figure out the result they got here. My brain is just goin kapoot.

To understand this, let us first consider the general form of the
transformation from simplexcoordinates (𝑢,𝑣) in the grid spanned by
𝑢→ and 𝑣→ to the rectangular coordinates (𝑥,𝑦). It
is

𝑥=𝑎𝑢+𝑏𝑣

𝑦=𝑐𝑢+𝑑𝑣

where 𝑢→= (𝑎,𝑐) and 𝑢→= (𝑏,𝑑). So this
requires 4 multiplications in the general case. However, we can freely
choose which simplex grid to use! So we can try to choose one
thatreduces the computational work needed.First, we can choose the
orientation of the grid so that 𝑢→ and 𝑣→ are symmetric around
thediagonal 𝑥=𝑦. Then 𝑎=𝑑 and 𝑏=𝑐, so we can write the
transformation as

𝑥=(𝑎−𝑏)𝑢+𝑏(𝑢+𝑣)

𝑦=(𝑎−𝑏)𝑣+𝑏(𝑢+𝑣)

I've tried a few things by rewriting the eqautions as follows

0 = au + bv – x

0 = bu + av – y

0 = x – y

but I need a little guidance. Thanks in advance

Best Answer

From $x = au + bv$, insert the "fancy version of zero", $-bu+bu$ then regroup. \begin{align*} x &= au +(-bu+bu) + bv \\ &= au - bu + bu + bv \\ &= (a - b)u + b(u + v) \\ \end{align*} Similarly, make the indicated substititions, commute the addition, then insert "$-bv+bv$". \begin{align*} y &= cu+dv \\ &= bu+av \\ &= av + (-bv+bv) + bu \\ &= av -bv + bv + bu \\ &= (a-b)v + b(u+v) \end{align*}

Related Question