Einträge mit dem Tag ‘Mandelbulb’

Wirklich witzige Google-Anfragen kann ich aus letzter Zeit leider nicht vermelden. Festzustellen bleibt lediglich, daß sich immer wieder Leute hierhin verirren, die auf ihre Fragen fast eine Antwort bekommen -- dann aber keinen Kommentar hinterlassen, sondern wortlos wieder abziehen. Wer nach povray mandelbulb sucht, will doch sicher den Code für das Fraktal in einer Form haben, die von PoV-Ray gelesen werden kann? Naja, vielleicht hilft es ja doch noch jemandem, wenn auch der ursprüngliche Besucher längst weg ist (siehe unten).

Außerdem: mein Hauptblog läßt sich wunderbar über Google finden; das Nibelungen-Projekt aber nur über die Blog-Suche. Das finde ich ein bißchen frustrierend, weil es für die Besucherzahlen alles andere als förderlich ist. Naja, vielleicht sollte ich trotzdem noch ein paar Seiten ablichten und vor allem auch transkribieren, damit die Suchmaschinen ein bißchen mehr Text zum Zerkauen haben.

So, das war's auch schon für heute. Ach ja, der Code:

#declare iteratex = function (x, y, z, a) {
a + pow(f_sphere(x,y,z,0),4)*sin(f_ph(y,z,x)*8)
*cos(f_th(y,z,x)*8)}
#declare iteratey = function(x, y, z, b) {
b + pow(f_sphere(x,y,z,0),4)*sin(f_ph(y,z,x)*8)
*sin(f_th(y,z,x)*8)}
#declare iteratez = function(x, y, z, c) {
c + pow(f_sphere(x,y,z,0),4)*cos(f_ph(y,z,x)*8)
}
isosurface {
function {
f_sphere(iteratex(iteratex(iteratex(x,y,z,x), iteratey(x,y,z,y), iteratez(x,y,z,z), x),
iteratey(iteratex(x,y,z,x), iteratey(x,y,z,y), iteratez(x,y,z,z), y),
iteratez(iteratex(x,y,z,x), iteratey(x,y,z,y), iteratez(x,y,z,z), z), x),
iteratey(iteratex(iteratex(x,y,z,x), iteratey(x,y,z,y), iteratez(x,y,z,z), x),
iteratey(iteratex(x,y,z,x), iteratey(x,y,z,y), iteratez(x,y,z,z), y),
iteratez(iteratex(x,y,z,x), iteratey(x,y,z,y), iteratez(x,y,z,z), z), y),
iteratez(iteratex(iteratex(x,y,z,x), iteratey(x,y,z,y), iteratez(x,y,z,z), x),
iteratey(iteratex(x,y,z,x), iteratey(x,y,z,y), iteratez(x,y,z,z), y),
iteratez(iteratex(x,y,z,x), iteratey(x,y,z,y), iteratez(x,y,z,z), z), z), 2)
}
}

[Edit: Typo in den Metadaten]

Kommentare deaktiviert für Gefindet

Das Wort des Tages: Unbill. Außerhalb alter Texte (oder der Fantasy-Literatur) hört man es äußerst selten. Heute aber bat unser IT-Dienstleister, diese zu entschuldigen: ein zentraler Dienst ist vor Weihnachten ausgefallen, der Hersteller arbeitet immer noch an der Behebung des Problems.

Außerdem: Ich habe mich in einem Irrgarten aus Wenn-Dann-Abfragen verlaufen und ein Softwarepaket an zwei Stellen repariert, aber gleichzeitig an drei anderen kaputtgemacht. Bis die Reparatur dann getestet war, ging es schon stark auf acht zu. Naja, wer früh nach Hause will, sollte im Fenster mit den Build-Resultaten vielleicht ganz bis nach rechts scrollen. Dann sähe man nämlich die roten Balken.

Und: Während ich auf den Buildservice warte, bereite ich diesen Blogeintrag in einem TextEdit-Fenster vor. Das Programm mag aber den Satzanfang Naja nicht und ersetzt ihn automatisch durch Anja. Zum Glück kann man das abschalten.

Und zu guter Letzt: Der neue Mandelbulb-Film ist fertig. Es hat ein paar Wochen gedauert, ihn zu berechnen; aber für glatte Kanten und eine höhere Framerate hat ich der Aufwand gelohnt.


Kommentare deaktiviert für Vom Tage

Today, another piece of the Mandelbulb Puzzle fell into place (actually, the lower right corner). The mosaic series will continue for a while, but most important parts are there by now. One could start thinking about the next step, say zooming in. However, a higher order is hardly possible without software optimization.

Kommentare deaktiviert für Eckedeutsch

The latest addition has taken quite some time, but it is also a larger piece of the image: the upper right corner is complete. (Of the fractal, that is; I will supply the remaining background at a later date.)

You can find the entire series by tag. Its beginning is here.

Kommentare deaktiviert für Ecksteindeutsch

Today, I only have a quick little thumbnail to add to the mosaic.

Kommentare deaktiviert für Briefmarkedeutsch

Today, the jigsaw puzzle has grown a little bit.

Kommentare deaktiviert für Mandelpuzzle 2deutsch

Some time ago, I  announced my intentions to calculate a new picture of Mandelbulb with one more iteration step. Unfortunately, PoV-Ray proved to be even slower than I feared. Watching my computer computing on my own is not much fun, so I show you a preview with three iteration steps -- after more than a week, one can get an impression of what it will look like once it is finished. Try watching the large picture to see full details.

Admittedly, a few more iteration steps would be nice: the detailed structure seen on Daniel White's images is much better (he seems to use ten steps).

2 Kommentaredeutsch

A few days ago, I promised to write more about Mandelbulb, a three-dimensional fractal related to the Mandelbrot set. It has taken several days on a two-processor machine, but now the first movie is finally ready.

However, I would like to tell you a bit about sequences first. Sequences are, well, just numbers following one another; exactly what numbers make up the sequence is determined by certain rules.

Let us try to square numbers: 2, 4, 16, 256, 32768, ...  -- these numbers will grow very quickly. We might try to start with a smaller number instead: 1, 1, 1, ... -- I will admit this to be a rather boring sequence: 12=1, so there is little change. Maybe we could try this: 0.1, 0.01, 0.0001, ... -- now the numbers are actually shrinking. So: if we keep on squaring a number less than one in this way, it will shrink to nothing; numbers larger than one are growing, and one itself remains unchanged. By the way, trying negative number will not change this pattern -- the number will become positive during the first step, and the sequence proceeds as before. If we draw the number line, it might look a bit like this:

Zahlenstrahl

Everything between -1 and +1 remains finite. All other numbers will grow ever larger when squared. We could try to make our formula (i.e. keep on squaring) more complicated, but we would not get funny pictures, anyway: the number line is, well, just a single line -- what can we make of it? Having an area to draw on would be much nicer:

C-Ebene

How shall we assign numbers to different spots on this plane? Luckily, this is no problem in mathematics: we simply invent new numbers. We shall do this in such a way that in addition to zero left of one and to to the right, we will have additional number above and below. Now we have to think of a way to square such numbers:

C-Mult

We imagine a clock's hand pointing to each number. When trying to square such a number, we will first square its length. Then, we shall turn its hand a bit: one o'clock gets two o'clock, three o'clock becomes six o'clock, and four o'clock becomes eight o'clock. And, just in case you are wondering: mathematicians' clocks turn the wrong way -- and in this case, twelve o'clock (zero) is to the right, not on top.

This definition might look a tad strange, but it has a distinct advantage: all those ordinary numbers on the number line are at twelve o'clock (the positive ones), or six o'clock (the negative ones). When squaring them according to our new rule, the positive numbers will remain positive numbers, and the negative ones will be turned from six to twelve o'clock. That is, when squaring a number from the number line, we obtain a number from the positive half of the number line. Since we are squaring each hand's length, the result is just the same as when following the ordinary rules from school.

C-Konvergenz

Going back to sequences, we square away. The result is a bunch of hands rotating madly -- but all hands longer than on grow indefinitely, while the shorter ones shrink away to nothing.

This lets us draw at least a little picture, if not a very interesting one: a disc with radius one noting all numbers shrinking when they are squared.

It seems obvious that a more complex formula can create more complex pictures. However, if you think the formula has to be much more complex, you are mistaken: try to square and add the number alternately, like this: 12=1, 1+1=2, 22=4, 4+1=5, 52=25; thus: 1, 2, 4, 5, 25, ... and the numbers are getting ever larger. Starting with a negative number, we encounter a small surprise: -22=4, 4+(-2)=2, 22=4, 4+(-2)=2... we are getting an infinite sequence of the number two! Therefore, when painting every converging sequence black (i.e. every sequence remaining finite), we will not get a circle: +1 would remain white, but -2 would become black. Maybe an ellipse? It is hard to tell intuitively what our clock-hand numbers[1] do, so we have to use a computer to calculate the picture. This is the result:

Mandelset

It is surprising and quite wonderful that such a simple formula creates such a complex image; and this simplicity is, to a large extent, the beauty of the Mandelbrot set: one gets so much more than one has put in.

Finally, I would like to show my movie of the three-dimensional variant. An explanation of the corresponding formula will have to wait until next time. The fractal looks pretty smooth here, whereas the two-dimensional Mandelbrot set is quite hairy. This is not a property of the Mandelbulb, but of my alculations: in order to get a result in no more than a few days, I have calculated only the first two steps of the sequence. To get a more realistic picture, I would have had to use ten or so. Moreover, I will do something about the rough, pixelled structure.

[1]Those of you who have paid very close attention might notice that while we have defined how to square a clock-hand number, we have neglected to define the summation. However, doing so is quite simple: to add to hands, we shift one of them so that its base coincides with the tip of the other hand. During that shift, neither hand must change the direction in which it points. The sum is then defined as a new hand that points from the base of the first to the tip of the second hand. This will look familiar if you know vectors[2].

[2]Moreover, the clock-hand numbers will look quite familiar to those who know complex numbers.

1 Kommentardeutsch