hobold
Fractal Bachius
Posts: 573
|
|
« Reply #30 on: January 19, 2010, 03:11:29 AM » |
|
How about "bidistant" coordinates? No idea how that sounds to a native English speaker. :-)
So the trouble is that those coordinates are not well behaved, probably because the grid lines don't intersect at 90 degree angles ... and some don't intersect each other at all ... Hmm. Well.
Wait! Do we not know that all the interesting Mandelbrot dynamics happens in a compact disk around the origin? If we limit the computation to that disk, maybe one could choose two anchor points such that the coordinates behave well at least inside that disk?
|
|
|
Logged
|
|
|
|
Timeroot
|
|
« Reply #31 on: January 19, 2010, 03:27:18 AM » |
|
Bidistant sounds good I'm guessing that if we put the two anchor points far enough outside the circle, such as (0,8) and (0,-8), it might work. It would be hard to show though. I'll just try running it through the compiler with x and y specifically set as floats - you can do that, right? - and then see if it ever throws an error.
|
|
|
Logged
|
Someday, man will understand primary theory; how every aspect of our universe has come about. Then we will describe all of physics, build a complete understanding of genetic engineering, catalog all planets, and find intelligent life. And then we'll just puzzle over fractals for eternity.
|
|
|
hobold
Fractal Bachius
Posts: 573
|
|
« Reply #32 on: January 19, 2010, 02:18:20 PM » |
|
Two more "visual thoughts" for the bidistant coordinates. I have not lurked here long enough to know if this kind of brainstorming is frowned upon, so in case of emergency, tell me to shut up before I become an annoyance. :-)
Mental image number one: imagine a special bidistant coordinate system, with one anchor point infinitely far away to the "south", and the other one infinitely far away to the "west". Pick a point as the origin, and you have cartesian coordinates. Those are boring. When we move the anchor points closer, the coordinate grid lines become more curved, and thus potentially more interesting. So what we are looking for is how close we can pull the anchor points to the disk of "safe" arithmetic.
Mental image number two: picture an equilateral triangle, say, resting on an edge, with a corner pointing "north". Draw a circle around each vertex, with a radius equal to half the edge length (so the three circles just touch each other). Draw two additional circles with three times that radius around the two corners at the base (so the larger circles just encompass the small circle at the top). The intersection of the hollowed large circles is the area where the bidistant coordinate values are both in the interval [0.5r, 1.5r]. And the top circle is the largest disk contained in that area. Pick the center of the top circle as the origin of the bidistant coordinates. This is a "safe disk" to work with, and it has the curviest coordinate grid possible. No proof, just intuition - build upon this foundation at your own risk.
(A note about me: I was allowed to enjoy a thorough mathematical education, so I am well prepared to make a fool out of myself on a public forum by being sloppy with math. :-) However, I am more of a visual thinker, so as long as no one objects, I will stick to sketching images rather than write down formulas. After all, I am here for fun, not for fame and fortune. I am grateful that I recently discovered the Mandelbulb and fractalforums.com; it reminded me how beautiful and exciting pointless math can be.)
|
|
|
Logged
|
|
|
|
Timeroot
|
|
« Reply #33 on: January 20, 2010, 02:17:00 AM » |
|
Hmm, sounds interesting. I'm also relatively new here, and I don't even believe in lurking. Just put yourself out there, neh?
I agree with both your mental images. I agree that this "top disk" is the smallest disc inscribable into these two rings. I just don't understand how you exactly have an "origin" for these coordinates; you have the two anchor points, and that's it. I also don't see exactly how you reach the conclusion that the top circle is a safe disk. I'm glad people are taking an interest!
|
|
|
Logged
|
Someday, man will understand primary theory; how every aspect of our universe has come about. Then we will describe all of physics, build a complete understanding of genetic engineering, catalog all planets, and find intelligent life. And then we'll just puzzle over fractals for eternity.
|
|
|
hobold
Fractal Bachius
Posts: 573
|
|
« Reply #34 on: January 20, 2010, 07:31:06 AM » |
|
I used "origin" as mathematical slang for the (0, 0) reference point. In the bidistant coordinates, that point doesn't exist. But (0, 0) really is just a label that you can put anywhere you wish. So you take the center of the top disk, which is at the two distances (edge length, edge length), and translate it by moving all coordinates along the direction vector (-edge length, -edge length). That allows us to do the arithmetic with coordinate values that we need for Mandelbrot iterations. (That particular arithmetic revolves somewhere around zero, so we pull zero to the place where we need it. We bail out of the computation anyway when magnitudes get too large, i.e. when we have gone too far from zero.)
And the disk is "safe" in the sense that inside it, the bidistant coordinates share qualities of other, more traditional, coordinate systems:
- each grid line of "latitude" intersects each grid line of "longitude" exactly once, and vice versa; which means every point has coordinates, and those coordinates are uniquely assigned to that one point - the coordinate values all come from intervals, in this case [-0.5 edge length, 0.5 edge length], so there are no gaps or holes or infinities
which in turn means that doing computation with coordinate values is somewhat well behaved. You know what you're getting yourself into, before you even start.
|
|
« Last Edit: January 20, 2010, 07:34:58 AM by hobold »
|
Logged
|
|
|
|
Jesse
Download Section
Fractal Schemer
Posts: 1013
|
|
« Reply #35 on: January 20, 2010, 06:37:10 PM » |
|
Very interesting thread, i have done that in Reply #17 from msltoe, looks like a tropic fruit
|
|
|
Logged
|
|
|
|
Paolo Bonzini
Guest
|
|
« Reply #36 on: January 20, 2010, 06:57:02 PM » |
|
@jessy, what about exponent 2?
|
|
« Last Edit: January 20, 2010, 06:59:52 PM by Paolo Bonzini »
|
Logged
|
|
|
|
Jesse
Download Section
Fractal Schemer
Posts: 1013
|
|
« Reply #37 on: January 20, 2010, 08:09:40 PM » |
|
Just to be sure: According to #17 i have only to change the two 8*atan2 into 2*atan2 and the end part into x = a+a1*r and the same with y,z?
This one seems to have very thin slices, not easy to render.
|
|
|
Logged
|
|
|
|
kram1032
|
|
« Reply #38 on: January 20, 2010, 08:23:44 PM » |
|
beautiful fruit
|
|
|
Logged
|
|
|
|
Jesse
Download Section
Fractal Schemer
Posts: 1013
|
|
« Reply #39 on: January 20, 2010, 09:17:22 PM » |
|
The power 2 salad, slices are very big and i had to zoom out to 0.6
|
|
|
Logged
|
|
|
|
hobold
Fractal Bachius
Posts: 573
|
|
« Reply #40 on: January 20, 2010, 09:46:05 PM » |
|
Wow, Jessy, these are very detailed renderings. In that kind of shining quality, it almost looks as if further exploration was worthwhile. Thank you!
Oh, BTW, thinking about Timeroot's exotic coordinate systems, I realized that the monopolar coordinates potentially spawn a whole family of 'bulbs. That's because in those coordinates, too, one could place the origin arbitrarily, and that would influence the dynamics of the iterated function. The added bonus would be that any two such shapes could be seamlessly morphed in an animation where the origin travels along a smooth path.
But before I saw Jessy's pictures, I didn't think the monopolar bulb was detailed enough to bother.
|
|
« Last Edit: January 20, 2010, 09:59:13 PM by hobold »
|
Logged
|
|
|
|
Jesse
Download Section
Fractal Schemer
Posts: 1013
|
|
« Reply #41 on: January 20, 2010, 09:49:49 PM » |
|
Another one from the top, should have been from the front but i must have lost the orientation An animation from power 2 to higher ones should be nice, but that would take too much time for me. Beneath is one with power 4 but multiplying angles with 8...
|
|
|
Logged
|
|
|
|
hobold
Fractal Bachius
Posts: 573
|
|
« Reply #42 on: January 20, 2010, 10:09:38 PM » |
|
Oh, and yet another breathless idea: it might just be possible to morph the standard triplex coordinates into monopolar coordinates, by way of trying to represent the usual latitude/longitude coordinates as a special case of the general bipolar coordinates. And then you could move the two poles arbitrarily, particularly on top of each other.
|
|
« Last Edit: January 20, 2010, 10:20:44 PM by hobold »
|
Logged
|
|
|
|
hobold
Fractal Bachius
Posts: 573
|
|
« Reply #43 on: January 21, 2010, 03:15:07 PM » |
|
Moving the origin (not the pole) of the monopolar coordinate system does indeed work. It doesn't really add variety, but does shake up the perfect symmetries. Here's a bit of code that introduces two new parameters AxOffset and AzOffset. For reasons of symmetry, the interesting ranges of those parameters are 0 <= AxOffset <= AzOffset <= Pi. Other values are possible, but do not lead to new results.
// normalize (Px, Py, Pz) first as usual, then rotate it with the following code
if (Py >= 1.0) { // check for pole Ax = 0; Az = 0; } else { double R = Px/(1.0 - Py); // Riemann projection Ax = atan2(2.0*R, R*R - 1.0); // arc length R = Pz/(1.0 - Py); Az = atan2(2.0*R, R*R - 1.0); } Az -= AzOffset; Ax -= AxOffset; // manipulate Ax, Az here // for example the standard emulation of an eighth power: Ax *= 8.0; Ay *= 8.0; // transform monopolar back to cartesian Ax += AxOffset; Az += AzOffset; if (Ax*Az == 0.0) { // if either Ax or Az equal zero Px = 0.0; Py = 1.0; Pz = 0.0; } else { double Rx = sin(Ax)/(1.0 - cos(Ax)); // Riemann projection double Rz = sin(Az)/(1.0 - cos(Az)); double temp = 2.0/(Rx*Rx + Rz*Rz + 1.0); // ray parameter Px = Rx*temp; Py = 1.0 - temp; Pz = Rz*temp; }
// now proceed to set the length of (Px, Py, Pz) as usual
It should be possible to morph between, say, the "origin at pole" and "origin opposite the pole" versions by varying AxOffset and AzOffset from zero to Pi in lockstep. But any other smooth path should lead to seamless morphs, I guess.
Jessy, did you use a renderer of your own? Or is there some visualization toolkit already out there?
|
|
« Last Edit: January 22, 2010, 05:08:42 PM by hobold »
|
Logged
|
|
|
|
Jesse
Download Section
Fractal Schemer
Posts: 1013
|
|
« Reply #44 on: January 22, 2010, 07:43:42 PM » |
|
@hobold
I can try this one, but what about morving the Riemannian geometry into a linear Euclidian geometry? Putting infinity not to the opposite pole, but nearer and nearer to lower angles, so it becomes linear? (I am not the mathematic genius, but should work somehow, i hope)
Would be interesting to see the classic bulb becoming a riemannian one!
Yes, i have my own software project which is still in developement. Just tried Chaos Pro, that is for free and seems to be astounding complex. Including writing your own formulas, i guess. But it would take more time for me to get into it, instead of programming by myself.
I just cant say if or when i release my program, because by now it is also very difficult to handle and understand for somebody else. And no function parser so far.
|
|
|
Logged
|
|
|
|
|