I have been thinking for quite a while how would i make it myself. The difficulty lies in randomness. I Could go on manually but can't help and feel that there is some better way to do it.

For example it was to be generated using some programming language then all i need to do is create mountains with varying hues and let the 3d light lit them.

enter image description here

  • i'd like to know what are these called as well.
    – user8795
    Commented May 24, 2014 at 18:26
  • 1
    I would personally do it manually in PS. If you wanted to go down the programming route I would recommend using Processing.org
    – C3Lawrence
    Commented May 24, 2014 at 19:20
  • is there a way to do it in illustrator maybe...so like a algorithm at least lays out triangles and then you can drag points which transforms all the triangles connecting to it.
    – user8795
    Commented May 24, 2014 at 19:25
  • 2
    These two posts might help: graphicdesign.stackexchange.com/questions/22190/… and graphicdesign.stackexchange.com/questions/27296/…
    – benteh
    Commented May 24, 2014 at 23:42
  • 1
    See this post for how to do similar patterns with Mathematica.
    – anderstood
    Commented Jan 18, 2018 at 22:14

5 Answers 5


Here's an awesome tool that will generate the pattern for you: Flat Surface Shader for rendering lit triangles to a number of contexts including WebGL, Canvas 2D and SVG using Lambertian reflectance (see project details). Released under the MIT license.

Perfect for web use, since it exports to svg.


The "mountains" metaphor you use to describe the ups and downs makes perfect sense if you're doing this in 3D software, which is actually the ideal place to do this.

Photoshop could be used, but it will be painful, tedious and ultimately destructive.

Destructive in the sense that if you're not happy with the pattern you'll have to start again.

Tedious in the sense that it's a lot of shape creation and snapping together of those shapes, something that Photoshop isn't good at at the vertex level that's required for polygon triangulation like this.

Painful because you're using software to do something it wasn't intended to make easier.

Because triangles are the base primitive of doing anything in 3D, this might be the ideal initiative to start with a 3D design app. 3ds Max and Maya have 30 day trials with full functionality... give them a shot at this. Make a plane with the resolution of triangles you need, then apply a noise modifier until you get a result you like.

Then have buckets of fun with lighting, materials and rendering settings.

Noise Modifiers in 3ds Max and Maya give you this kind of randomness, with seeding and even animation possibilities, as well as strength and decays settings.


The best way to achieve this is manually, throughout the pen tool. You can use plugins like triangalise or other paid addons if you want to do it automatically.

  • It would be helpful if you could add more information on this, such as what kind of addons would do the job, paid or otherwise.
    – benteh
    Commented May 24, 2014 at 23:47

you can achieve a look that is similar by filtering a gradient with the "crystalize" filter you might not get the 3d effect you are looking for but it's quick and easy.


No answer provides a more accurate result as conveniently as this one; and the source code for the soluton is provided. This will be a complementary answer about other directions you could take. First a filter based approximation of the pattern - like a crystalize effect as suggested by another contributor - like so:

enter image description here

  • a fill color for the canvas (yellow or a yellow-orange-red gradient)
  • a foreground color very close to the selected color or the gradient average
  • a Filter/Distorts/Mosaic using triangles:
    • increased size, height, color variation, decreased neatness, check FG/BG lighting to have our FG color for the mesh lines
  • optional(bottom part of the image) - Filter/Light and shadow/Lighting effect; add light source(s) close to/on the canvas(see also Filter/Map/Map object)

This ends up being an experience about the relationship between a mesh and light in the search for a perfect matte.

If you want to explore further tesselation from the programmatic angle, you may find that using height fields like you suggested may not be the best way, but you should by all means try it; and you can.1

You may find interest in some related fundamentals such as the Voronoi diagram (and note that the Delaunay triangulation is sort of an instance of the Voronoi principle). Searching using such mathematics related terminlogy will allow you to find lots of building blocks for doing all sorts of tesselated graphics.2 To explore Voronoi cells hands on, you can try voro++; you can generate all the examples there in a manner of minutes and trace them. There is no doubt this is used in 3D print. But consider in particular the complicated degenerate vertex example; the cells are randomly generated every time.

As for POVray tracing itself, you can play with meshes and rapidly identify useful constructs. Vector graphics related concepts are used (coordinates) and whatever the framework, the level of abstraction is high so anyone who has a basic understanding of geometry in space can leverage the basics. Once again, Processing is useful here imho to provide a tight environment with no setup and wrap mathematics (short of using Mathematica etc.) and extract images!

These should provide an unlimited supply of patterns for generating assets.

1. The goal is to find enabling solutions which provide content easily which can then be incorporated into your workflow. I am not a developer. Many samples and free content are provided so that someone doesn't need to start from scratch; it's easy to take an example and modify it and see the result and repeat until very intricate and unique patterns are generated for you convenience and displayed using the exact perspective/camera angle you want. Such an approach is made easy with "tools" such as Processing or POVray tracing for instance. For scene/portrait tesselation, see this for other solutions.

2. In general, don't miss Paul Nylander's Math Art page. and F.A. Lohmuller's POV ray tracing tutorials & material. See also Voronoi experimental work on POVray and advanced applications for context. For an artful exploration of planes/surface see this which also serves as a reminder that lots of new ideas have emerged in the last 20 years in the field of mathematics.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.