A.Y.O@YusufAsunmogejo
Hi Hamid,
I am Yusuf. I came across your mountains post from yesterday 25/4, and it stopped me completely. I decided to push myself to the limit and implement your formula from scratch, pixel by pixel, as a personal mathematical challenge.
After careful study of the image, I have successfully identified and understood 12 of the 14 mathematical objects:
✓ F(x) — color compression to [0, 255]
✓ N_s(x,y) — fractal noise with 6^5 * 5^(-s) frequency scaling
✓ E(x,y) — fractal envelope as a 50-term weighted sum
✓ Z_s(x,y) — layer occlusion product
✓ S(x,y) — sky value
✓ R(x,y) — layer depth value
✓ T(x,y) — distance to mountain center
✓ B(x,y) — slope angle via arctan
✓ A(x,y) — layer brightness
✓ H_v(x,y) — final color channel for v = 0, 1, 2
✓ Coordinate mapping: x = (m-1000)/600, y = (601-n)/600
✓ The full N_s structure
The two I cannot read precisely enough from the image are:
✗ J_s(x,y) — the mountain shape indicator
✗ K_v(x,y) — the lighting kernel
I can see the general structure of both. J_s uses a double exponential with cosine products and E(x,y)/1000 in the exponent, and K_v sums 50 terms of (91/100)^s weighted by cosines involving T, B and v. But the exact coefficients inside the ridge shape term of J_s and the cosine arguments of K_v are too dense to read at the resolution I have.
What I am currently seeing in my attempts: the layering and occlusion work correctly and the fractal texture E renders as expected, but without the exact J_s the mountain silhouettes are wrong. Peaks appear at incorrect positions and the snow and rock boundary does not match your image.
This is purely a personal challenge. I am not doing this for any commercial purpose.
Could you point me to where the full formula is published, or share a higher resolution crop of the equation panel from that post? Even just confirming those two functions would be enough to complete the implementation.
Thank you.
Yusuf