Mandelbulb 3D ~ Sphereheightmap

12 min read

Deviation Actions

HalTenny's avatar
By HalTenny
This is kind of a continuation of my previous journal about the flat plane type of heightmap. So this will cover the sphereheightmap. I'm going to start off with the same image we ended with previously. It already has the brick floor made with the standard HeightMapIFS formula in position 1. Those parameters are at the end of this tutorial. Let's have at it!

As I mentioned before, I prefer to place heightmaps, sphere heightmaps and dIFspheres in the first formula slot, because in my work I am much more apt to add extra escapetime formulas to the end of my formula string. Also as I said before, I usually leave an empty formula slot in position Fo.1. (Formula slot 1) so I am prepared to use a heightmap if I decide to at some later time in the creation process. Normally I never use more than one dIFS formula, so the one empty slot works well. But in this case, I have already filled Fo.1 with the HeightMapIFS that creates the brick floor. So there are two choices here. We can simply replace the HeightMapIFS (found in the first dIFS column) with the SphereHeightMap (found in the second dIFS column) and we would be ready to proceed. Or we can insert the SphereHeightMap before, or after the HeightMapIFS.

If you add the SphereHeightMap and use it with the HeightMapIFS, there are a few other things you have to do. Please load the first set of parameters included below. Hit the calculate 3d button and you will see the starting image with the brick floor. See below.

1 by HalTenny2 by HalTenny  3 by HalTenny

First you have to select the Amazing Surf formula in position Fo.2. Then right click on the Fo.2 tab. A popup appears. In the popup, select "Shift formulas 2 to 5 a position to the right." (#2 red box above) I think it should say "2 through 6" instead, but it doesn't matter. Doing this will shift formulas 2-6 to the right, and now formula slot Fo.2 will be empty, and you can put the SphereHeightMap there. You also have to change where the second part of the hybrid starts, so you have to change that # from 2 to 3. (# 1 red box) And lastly, you have to change the Max iterations for hybrid 1 from 1 to 2, because there are now 2 different dIFS formulas. (#4 red box) You may also want to change the DE combinate mode (#3 red box), and as a matter of fact, we are going to do that too. However, we aren't going to use the two heightmaps together in this tutorial. But I did want to show you how in case you want to do that in the future. So don't make any of the changes I just explained to you. Load the first set of parameters at the end of the tutorial, and simply replace the HeightMapIFS with the SphereHeightMap . Then change the DE combinate mode (red box #3 in first image) to Min nlin. Your formula window should match the second image above. And your fractal should look like the third image.

You can see that the brick heightmap is gone, but where the heck is the sphere from the SphereHeightMap formula? Well we have to find it, just like we had to find the HeightMapIFS  in the last tutorial. The problem is that you can't always find the sphere as easily as the HeightMapIFS. To make it easier, set your map number to zero in the SphereHeightMap Map nr field. Then zoom out and look for a plain sphere. See below.

5 by HalTenny  4 by HalTenny

Above you can see I changed the map number to zero in the SphereHeightMap formula, and I have zoomed out and found the sphere. Now if you can see the sphere, you can obviously move it fairly easily. You use the X, Y, and Z offset values to do that. But believe me, it takes some time to get it where you want it this way. And as a matter of fact, sometimes when you zoom out, you can't find the sphere at all. Luckily there is a much easier way to place the sphere where you want it. Undo your zoom so you are back at the original zoom position. (Just hit the back button in the main window and click calculate 3d.) See below.

6 by HalTenny  7 by HalTenny

This is fairly easy, so don't get overwhelmed. This is the easy way to place a SphereHeightMap where you want it in an image. I want the sphere somewhere near the center of the upper structure area. 1) Select the cutting tab (red box) in the main window. 2) Click the Get values from image button (green box). 3) Click on your main window image where you want to place the sphere (Yellow box). When you do that, a bunch of numbers appear (in the blue box) in the X,Y, Z fields that indicate the exact coordinates you clicked on. 4) Transfer the X,Y,Z coordinates that now show in the cutting box in the main window to the corresponding X,Y,Z offset fields in the formula window for the SphereHeightMap formula (red box, second image). 5) After you have completed steps 1-4, it is important to deselect the check boxes of the cutting coordinates (orange box) in the main window! You don't want to cut the image, you only wanted to find those coordinates. After you have deselected the check boxes, if you are impatient, you can click calculate 3d. But you will be disappointed. A blank image will appear. This is because the SphereHeightMap still needs to be scaled. Load the parameters into the navi window. Click Parameters button in navi window. Now you still have a blank image. See below.

8 by HalTenny  

Through my experience, to save time, select the big adjustments setting in the navi window. (red box in first image) Now make sure you have the SphereHeightMap selected in the navi window (blue box) and scroll down until you can see the scale setting (green box). Grab the slider and move it to the left slowly. Eventually, you will see the sphere appear, and you can scale it roughly to the size you want. How about that. Not too bad after all was it? Now comes the fun part. We're going to use a 'head' map for the SphereHeightMap. The head model we're going to use was provided by Dortus Gunst but it seems to no longer be available. You will find it at the end of the journal. Download the image and save it to your map folder. The map number is 8004.  If you already have a map with the same number, you'll have to change the map number (of the head image) to a number that is not yet used in your map folder. Then you will have to change the map number in the parameters to match the new head image map number. I'm using map # 8004, yours may differ... You can also use a different 'head' map if you wish. Or a cat, or monster thing, whatever you want. See image below.

9 by HalTenny  10 by HalTenny

So the reason you can't see the head shape yet is because the sphere is oriented to the origin front view like if the views were all reset. Our current view is rotated and off center etc. So we have to rotate the sphere with the sphere A,B,C rotation settings. Eventually, you will be rotating the head to your taste, but to save you time, just set the rotations A box to -90 degrees. It will look similar to the second image. In the second image you can see that the head is recessed instead of a normal profile. This can happen depending on how the height map was made. If the dark color is front and the light color is back, the head will be recessed. If the dark color is in the back and the light color forward, the head would be in profile as we want it. But we can fix that simply by adjusting the the horizontal scale setting. Just adjust the horizontal scale setting to a negative setting with the slider in the navi window. Set the adjustment setting (top right of navi window) to mid instead of big. See below.

11 by HalTenny  12 by HalTenny

I'll explain a few more things to you, but that's the basics of placing a SphereHeightMap in your scene. From here it is a matter of shaping the head a little with the X and Y scale settings. I like a thinner head as a rule. Make additional adjustments to the horizontal scale setting. Additional rotation settings with the sphere A,B,C rotation settings. And also additional position adjustments with the X,Y,Z offset fields. I'm going to turn the head sideways a little, make it narrower, then rotate and move it back into the structure some. You may find you have to switch back and forth between the different adjustments settings, min, fine, mid, and big. I do it all the time. In the second image, you can see the changes I made. I also zoomed in a bit. To me, this is the most important part of placing the head shape, so that it interacts in an interesting way with your fractal form. You will always just adjust the positions to your own taste. There is one more setting that you can play with too. It basically controls how much effect the fractal structure has on the head SphereHeightMap. In the image above on the right, I have the Ds. setting set to 1. See below. 

13 by HalTenny  14 by HalTenny

In the red box in the first image above is the Ds setting in the formula window. A higher setting will disturb the head or SphereHeightMap more than a lower setting. On the right side image above I have changed the Ds setting from 1 to 0.1, and you can see the disturbance of the fractal structure is less. Set that to your own taste.

That's it! I'm burned out now. I've done three journals in the past week, and I am done. I hope this helps somebody. These journals take 4 to 6 hours to write up, proofread half a dozen times, and get it all uploaded. Yes, I would like a little bread with my wine... :) Feel free to comment and fave.

Hal Tenny


Starting parameters:

Mandelbulb3Dv18{
g.....h....s/.../....2A....I6IiFvNaxz48y8chJv9xjmJA016jszzf8fBM5VYZ2.JWP92HXFCzj
................................q70JrfTjp.2........B./..................y.2...wD
...Uz6/...E0..../Q.1/...........g0...2E4.....E/rLUzBT5mD/QkoHc1E...w/xckpl1....k
z.EnAnYD12../2.QSP079m2hzS/PODsvaUxDuQzGsfajNz1..........AV0.....y1...sD...../..
.z1...sDYtwVaN6kVw9CuCVbsT8ryiwjGzcBBrijod01pkdEYvH0eS4g93L6zCxOZ83ZppjjpufZzLW6
ev9pk1Sy/3ZzyW93.kEZX3mDU.....IA....E.........sD.6....sD..G.....................
.............oAnAt1...sD....zw1...................................kKIi0Eb....k1.
.....Ksulz1.....6yzz.wzzz1.U..6.4/...Q2...EB....m....c3...UE....6/...w0.....SFL2
...U.W1KEyzlciszsU3YzTAe906.2c..zzSi..k.Tci/2Uyj6.Dbqxm4Iz1..........2k.8.kXWF1.
.sM93P58iz9.MmnWK2zwz0..........F6U0.wDjt/..zMwlGfEzzsVdHkZgHD.E.g3b33lfazH12klz
zjxh...hx7jJPS.k2W3QMZjR7.A.mRfyBU3lzK./I.kz8L7..smACOnu5.A8UbzcUmT0.1.wy5X0tNzD
/EU0.wzzz1....................................8cU0.E./2Ezz/cU08../2E.tzDU08c..2E
./IzT/8cU0.E./2EQs5cU08../2E./bTU08c..2E./2ly/8cU0.E./2EMw5cU08../2E.lqTU08c..2E
./2kz/8cU0.E./2E...cU08czz/cU08cyz1cU08cxz3cU08c................................
E6...A..V2E.....I....s.....GZZqNcFLHV/LG4B3.V/5......................6E./2E./2U/
4MU.02E...........SP./............................V2./.......E/E........I.Izzzzz
zzzHz........O3k........................................kz1...................zD
........kz1..........6.....3....6....2IPVdLOiR46HJbQa/..........................
.Q..4MU/.6...........MnAnAnAP.zDBnAnAnAn2zXAnAnAnA3wz......Ut91k......UCM.2.....
.km0.DnAnAnAnAwD................................................................
................................/....E/...k.....T7pPo34RZ/.RcNoPgF4.............
..........U/4M.........................g..2.......Uvz0......UA.E................
...4./........zD........E.oAnAnAnAnoz...........................................
............................................}
{Titel: haltenny-sphereheightmap-tut-start}


Ending parameters:

Mandelbulb3Dv18{
g.....h....s/.../....2A...UU5K7bGGDxzmHlgQq8bPyjIq4YiZCuzzPWpXQyf2b2.ZfY912v4Czj
................................8ASwM.MX3/2........B./.........E........y.2...wD
...Uz6/....0..../Q.1/...........63...2E4......NN3qoO56lD/QkoHc1E...w/xckpl1....k
z.EnAnQD12../2.QSP079m2hzS/PODsvaUxDuQzGsfajNz1..........AV0.....y1...sD...../..
.z1...sD9B5PlG5uFwfKUVvshVCnySIYT2rDEshj1pPV6v0QIvHt5Q/l5WN2z0/BfI/qrqijFcXPIuCL
Ov9osyprnJdvyibnsPYg84lDU.....YB....G.........sD.6....sD..G.../PQ7FD8..kS8iibVtR
G.YPgfkyOupwzqAnAt1...sDBnAnxw1...................................kKIi0Ec....k1.
.....Ksulz1.....6yzz.wzzz1.U..6.4/...Q2...EB....m....c3...UE....6/...w0.....SFL2
...U.W1KEyzlciszsU3YzTAe906.2c..zzSi..k.Tci/2Uyj6.Dbqxm4Iz1..........2k.8.kXWF1.
.sM93P58iz9.MmnWK2zwz0..........F6U0.wDjt/..zMwlGfEzzsVdHkZgHD.E.g3b33lfazH12klz
zjxh...hx7jJPS.k2W3QMZjR7.A.mRfyBU3lzK./I.kz8L7..smACOnu5.A8UbzcUmT0.1.wy5X0tNzD
/EU0.wzzz1....................................8cU0.E./2Ezz/cU08../2E.tzDU08c..2E
./IzT/8cU0.E./2EQs5cU08../2E./bTU08c..2E./2ly/8cU0.E./2EMw5cU08../2E.lqTU08c..2E
./2kz/8cU0.E./2E...cU08czz/cU08cyz1cU08cxz3cU08c................................
E6..2A..V2E.....I....w....kIkVKNmJ4GZZqNcFLHV/5......................6U./2E./2E.
GMU/46E./........Eoj./..........Ek4LGoX0..Q/73Wnyra2.JUVYG7Bs9zj........oz1.....
...wz.........zj.......E2/A......omK.1.................Uq.2........wz...........
........kz1..........6.....3....6....2IPVdLOiR46HJbQa/..........................
.Q..4MU/.6...........MnAnAnAP.zDBnAnAnAn2zXAnAnAnA3wz......Ut91k......UCM.2.....
.km0.DnAnAnAnAwD................................................................
................................/....E/...k.....T7pPo34RZ/.RcNoPgF4.............
..........U/4M.........................g..2.......Uvz0......UA.E................
...4./........zD........E.oAnAnAnAnoz...........................................
............................................}
{Titel: haltenny-sphereheightmap-tut-end}


Head heightmap by Dortus Gunst

8004 by HalTenny

Published:
© 2017 - 2021 HalTenny
Comments32
Join the community to add your comment. Already a deviant? Log In
X-Tibro's avatar

Thank you so much for the tutorials you provide here. I am impressed by the many outstanding results you present. You and other fractal artists have made me want to try it myself. As a complete layperson, it will take time for me to get acceptable results with Mandelbulb 3D. First attempts have led to numerous errors, which I find difficult to understand at the moment.

Although I have not yet read your tutorials in detail, it is immediately apparent that you have invested a lot of time to describe things in the best possible way. Thank you very much for this. I really, really appreciate your efforts!

AND! I'm glad you haven't left DA completely and check in here from time to time! My very best wishes for you :sun:

HalTenny's avatar

Quite welcome! And thank you for the kind words~

largz's avatar

Many thanks for the tutorials!

HalTenny's avatar
Quite welcome!
marijeberting's avatar
Great tutorial Hal, thanks for your effort Heart Heart Heart 
HalTenny's avatar
eclecticeric's avatar
Thanks so much for these tutorials, Hal  - I'm not sure how I could even begin to understand all this without your help .
HalTenny's avatar
You're most welcome.
GraphicLia's avatar
Many thanks Hal for your efforts in putting these tutorials together. I'm just getting to them now and need them, having forgotten much. :( (my own fault - ofc)
flameout82's avatar
Brilliant...thank you so much for what you do for us new guys and girls
HalTenny's avatar
Thank you much!
Eric-Vie-Art's avatar
HalTenny's avatar
You're welcome~
sublumenal's avatar
Very interesting, Hal!
HalTenny's avatar
quasihedron's avatar
Fantastic tutorial! :clap:
Thanx for sharing! :D
HalTenny's avatar
You're welcome!
chetje's avatar
Awesome tutorial thank you Hug 
HalTenny's avatar
PaMonk's avatar
Cool and look's I will try it that you
I have so heard when I heart triead it that you..
My Heard to Leard me, and trie that you...

That you is so that you..
HalTenny's avatar
PaMonk's avatar
Thank you so much it is greatly appreciated:iconlovebottleplz:
Join the community to add your comment. Already a deviant? Log In