matthiasdv
matthiasdv

Reputation: 1176

Can I use a 3-dimensional simplex noise implementation to generate noise over a spherical surface?

Say, I want to generate noise over a sphere.

I want to do this to procedurally generate three-dimensional 'blobs'. And use these blobs to generate low poly trees, somewhat like this:

enter image description here

Can I accomplish this as follows?

Can I define a sphere that consists of a certain number of vertices, each of them defined by known (x,y,z) coordinates, and then generate an entropy or noise value

I consider this approach because it is widely used to generate terrain meshes using two-dimensional noise on a two dimensional plane, thus resulting in a three dimensional plane:

two-dimensional noise example

Looking at examples I understand this concept of terrain generation using two-dimensional noise as follows:

Can I use the same approach to generate noise on a spherical surface using three-dimensional noise. Is this even a good idea? And is there a simpler way?

I am implementing this in WebGL and Three.js.

Upvotes: 3

Views: 2914

Answers (1)

Tyler Durden
Tyler Durden

Reputation: 11562

If you want something to look like a tree, you should use a tree-growth algorithm to first simulate a tree branching pattern, then poly the outer surface of the tree. Different types of trees have what are called "habits" or chiral patterns that determine how they grow. One paper that describes some basic equations for modeling branch/leaf grown is:

http://www.math.washington.edu/~morrow/mcm/16647.pdf

Upvotes: 1

Related Questions