Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site sdcc13.UUCP Path: utzoo!watmath!clyde!burl!ulysses!gamma!epsilon!zeta!sabre!bellcore!decvax!ittvax!dcdwest!sdcsvax!sdcc3!sdcc13!rich From: rich@sdcc13.UUCP (rich) Newsgroups: net.graphics Subject: Fractal mountains ( VERY LONG) Message-ID: <262@sdcc13.UUCP> Date: Sat, 15-Jun-85 12:54:16 EDT Article-I.D.: sdcc13.262 Posted: Sat Jun 15 12:54:16 1985 Date-Received: Mon, 17-Jun-85 20:19:13 EDT Organization: lack of Lines: 157 Keywords: fractals Note: I am posting this in response to all the people out there who wrote me and said " please tell me what you find out" when I originally asked for info on fractals. I hope this is the proper place for it. Send flames to yourselves. This is an small portion of one of the papers I have written since starting to play with fractals in March,1985. I have actually done a lot more work with two dimensional fractals (reproduced most of Mandelbrot's book plus more). Any way the net seemed more interested in mountains so here they are. They are still a bit crude, but the idea is there and I have drawn a few this way. (They look a bit more like rocks than mountains right now) A fractal may be described as a self similar recur- sively defined geometric object. A fractal mountain, simply enough, is a fractal object that happens to look like a mountain. The following , short, paper describes the methods which I have used to generate such objects. The paper is short in the hope of giving a general understanding of the method. Following this will be the code, with all of the ugly details.* The simplest way to describe a mountain, or at least something that sort of looks like one is by drawing it in a two dimensional coordinate system. This is simpler to start with since it is easier to visualize, and thus easier to debug. So to begin with we will think of a simple , recursive , subdivision of a triangle. The algorithm goes as follows: 1) Choose a triangle 2) Choose a point, with a high probability of being inside the current triangle. 3) Create a new triangle by connecting the new point to the vertices of side A. 4) Recurse on this new triangle to make new smaller triangles on it. 5) Choose a point, with a high probability of being inside the current triangle. 6) Create a new triangle by connecting the new point to the vertices of side B. _________________________ * For the most part things that I have done here, have been done simply because they have seemed like they would work. And so it goes. - 2 - 7) Recurse on this new triangle to make new smaller triangles on it. 8) Choose a point, with a high probability of being inside the current triangle. 9) Create a new triangle by connecting the new point to the vertices of side C. 10) Recurse on this new triangle to make new smaller triangles on it. This simple algorithm actually works. It is just a shame that it is not a "fractal" algorithm. A fractal form, though seemingly random, contains no random points. This is easily over come though. Simply define the new point as a function of the old points and you have two dimensional fractal mountains. Now the problem of creating a more realistic three dimensional image. The first consideration went using the above algorithm to create a series of slices with a given thickness in three dimensions. I would then "glue" these slices together in three space. The triangles that were ori- ginally used to define each slice get progressively smaller as you approach the viewpoint. This method did not work out too well. The next seems to be the best method that I have stum- bled across, in three space: 1) Choose a four faced pyramid. { A 90x does just fine } 2) Subdivide face A a into three new faces by choosing a new point by means of some function. 3) Recurse on the algorithm. 4) Subdivide face B a into three new faces by choosing a new point by means of some function. 5) Recurse on the algorithm. 6) Subdivide face C a into three new faces by choosing a new point by means of some function. 7) Recurse on the algorithm. - 3 - 8) Subdivide face D a into three new faces by choosing a new point by means of some function. 9) Recurse on the algorithm. In all of these methods almost any parameterizing func- tion will do in choosing the new points. Though different functions leave you with very differing functions. I hope that you have enjoyed this. -rich stewart On a note of personal interested. I graduate March 1986. I am interested in living off of drawing pretty pic- tures on computers. Does anyone out there do this or know of what type of places pay people for this. { Lucas films I am out here!!! , hint hint} ihnp4-- decvax-- akgua----dcdwest---somewhere-- ucbvax-------- sdcsvax -- sdcc3 --rich