Reputation: 1176
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:
Can I accomplish this as follows?
Then generate an additional entropy (or noise) value e as follows:
var e = simplex.noise3d(x,y,z)
then use scalar multiplication to offset, or extrude the original point into 3D space, by entropy value e:
point.position.multiplyScalar(e)
Then finally reconstruct a new mesh from these newly computed offset points.
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:
Looking at examples I understand this concept of terrain generation using two-dimensional noise as follows:
You define a two-dimensional grid of points, essentially a plane. Thus each point has two known coordinates and is defined in three-dimensional space as ( X, Y = 0, Z ). In this case Y represents the height that will be computed by a noise generator.
You feed the X and Z coordinates of each point in the grid to a Simplex noise generator, that returns noise value Y.
var point.y = simplex.noise2d(x, z);
Now our grid of points has been displaced across the Y axis of our three-dimensional space, and we can create a natural-looking terrain mesh from them.
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
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