Title: Popping by to say hello Post by: DarthPJB on April 05, 2015, 04:22:04 PM Hello everyone,
My name is John, I'm a C++/OpenGL programmer (with about 15 years experience), and I'm 27 years old (as of four days ago). I've been interested in fractals since the day I learnt about them, and more importantly applied use of them. I've seen a few of the Mandlebulb and Mandlecube videos, It's an amazing piece of mathematical exploration - not to mention the many other 3D and 2D fractals I've come across in the gallery. My interest however, is two fold - I see a lot of the work done on this forum and related websites as being the "science" of fractal generation, I see myself more as an engineer. I don't in any way mean the slightest disrespect of course, much of the stuff here is above my head (for the moment); what I mean is this. A physicist might build a magnetron and analyse EM-waves to understand them, the mathematics behind them, to understand how Physics works. An Engineer reads, understands, and reviews the work of the physicist, then builds a Microwave so everyone can have hot-dinners. In this regard, I'm more of an engineering type - ever since studying Lucasarts fractal-terrain from 1980's (Vol Libre[1]), I've been pretty obsessed with the concept of using higher level fractals to generate realistic terrains. In that regard, the Mandlebulb is the Magnetron, what I wish to make is the microwave. As I stated, My aim is two fold: 1. To gain a better scientific and mathematical understanding of advanced fractals (especially 3D ones). 2. Find ways to adapt these into iterative tessellating terrain generation mechanisms. Primarily due to the concept that a fractal has (theoretically) unlimited depth, what I aim to do is produce a rendering system that can, rather than generate a set-number of iterations of depth - then explore. Generate successive iterations as needed while exploring. I do apologize if my terminology is that of a layperson, my mathematical knowledge is somewhat sub-par. [1]: https://www.youtube.com/watch?v=AfY6jS9LB4U Title: Re: Popping by to say hello Post by: Tglad on April 06, 2015, 11:36:57 AM Hi DarthPJB,
There are already several ways to make fractal terrain, such as diamond-square 'plasma' fractal terrain and Perlin noise, I would start there if you just want heightfield-like tessellating terrain. But, on your aims, 1. Mandelbulb / Mandelbox are escape-time fractals, they transform space (and fold it onto itself) and grow it each iteration, and make each point in space solid if it stays within some large sphere. That is really the same as taking a large sphere and transforming it into multiple smaller spheres with a rule repeatedly until you get your final object made of billions of tiny spheres. It is just that the first way (escape-time) is better for rendering. Normally fractals are conformal, which means that the transform applied to space keeps small shapes the same (little spheres don't become stretched).. this is basically the consequence of its requirement to be self-similar. The Mandelbulb and Mandelbox break this, the Mandelbulb transform is not at all conformal, and the Mandelbox is only conformal/anticonformal in its Julia sets, so still retains some stretch in places in its Mandelbrot set. 2. Making them tessellate is an interesting idea... not sure how to do that. Title: Re: Popping by to say hello Post by: DarthPJB on April 07, 2015, 05:47:26 PM I'm familiar with hight-map and noise techniques - Unfortunately they have some rather large problems.
1. They only handle vertical changes in height, meaning any 'arch' like structure is complex to produce. 2. Caves don't exist (see 1) 3. They rarely work well without very-high resolution maps. 4. Procedurally generating them is easy, but creating the same result from the same starting point isn't (a requirement for what I intend). Instead, my intention is to use point-Voxel data, with a traditional mesh 'skin'. My intention is that individual voxel points can be divided as view-distance diminishes - essentially generating more detail as and when it is needed. Before finally (at the lowest level of detail) using similar algorithms to generate displacement maps for texture generation (removing the 'repetition' of traditional texturing mechanisms). My theory is that by using 3D fractal algorithms, and storing relevant data per voxel, iterating the fractal further would be possible on a per-voxel basis - combining this with with a radial co-ordinate system to start with by the way. Thus using a multiple-pass mechanism with boolean operations, realistic terrain could be created - with environmental variation, and even organic and inorganic detail (such as trees, roads, houses, waterfalls, etc). The generation process would be initially time consuming, and somewhat storage intensive - but due to being able to create the same results from the same seed-data, it should be possible to create closer views in real-time, only loading detail that is needed, also only storing it in RAM, rather than on the Hard Disk. Of course, I could be off my rocker and totally insane :p Title: Re: Popping by to say hello Post by: DarkBeam on April 07, 2015, 05:55:04 PM Um, already seen this; https://www.shadertoy.com/view/MdBGzG
hello there... :beer: Title: Re: Popping by to say hello Post by: DarthPJB on April 07, 2015, 07:02:55 PM Wow! and within moment a helpful link!
I've yet to take a dig though that code, but along those lines - yes. Though with additional passes to remove 'floating' parts, add further detail. Etc. And howdy! :beer: Title: Re: Popping by to say hello Post by: eiffie on April 07, 2015, 08:46:42 PM DaveH has done some nice landscapes.. http://www.fractalforums.com/movies-showcase-%28rate-my-movie%29/fractal-terrain/ (http://www.fractalforums.com/movies-showcase-%28rate-my-movie%29/fractal-terrain/) ...and there is a sub-board dedicated to this http://www.fractalforums.com/landscapeterrain-generation/ (http://www.fractalforums.com/landscapeterrain-generation/) ...although it is woefully lacking. Hopefully you can fill it with ideas! |