Generative Landscape Project
index.html
To build a generative landscape, you combine smooth randomness, color gradients, and animation for a dynamic and organic result. Start by setting up the canvas and drawing a sky gradient using lerpColor, which blends two colors vertically to simulate atmospheric depth. This gradient forms the background and sets the mood for your landscape.
Next, use Perlin noise to generate the terrain. Unlike pure randomness, Perlin noise creates smooth, natural-looking variations that mimic rolling hills or mountain ranges. In the sketch, you loop across the canvas width, sampling the noise function at regular intervals. The noise value is mapped to a vertical position, shaping the land contour. By incrementing the noise offset (xoff) each step, you ensure smooth transitions along the x-axis.
To animate the landscape, increment a second offset (yoff) each frame. This makes the terrain appear to move or shift gently, like a living environment. The terrain is drawn as a filled shape, with its base anchored at the bottom of the canvas, and the top defined by the noise-generated points.
Combining these elementsβgradient backgrounds, Perlin noise-driven terrain, and slow animationβresults in a visually compelling generative landscape that evolves over time.
Thanks for your feedback!
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Awesome!
Completion rate improved to 6.67
Generative Landscape Project
Swipe to show menu
index.html
To build a generative landscape, you combine smooth randomness, color gradients, and animation for a dynamic and organic result. Start by setting up the canvas and drawing a sky gradient using lerpColor, which blends two colors vertically to simulate atmospheric depth. This gradient forms the background and sets the mood for your landscape.
Next, use Perlin noise to generate the terrain. Unlike pure randomness, Perlin noise creates smooth, natural-looking variations that mimic rolling hills or mountain ranges. In the sketch, you loop across the canvas width, sampling the noise function at regular intervals. The noise value is mapped to a vertical position, shaping the land contour. By incrementing the noise offset (xoff) each step, you ensure smooth transitions along the x-axis.
To animate the landscape, increment a second offset (yoff) each frame. This makes the terrain appear to move or shift gently, like a living environment. The terrain is drawn as a filled shape, with its base anchored at the bottom of the canvas, and the top defined by the noise-generated points.
Combining these elementsβgradient backgrounds, Perlin noise-driven terrain, and slow animationβresults in a visually compelling generative landscape that evolves over time.
Thanks for your feedback!