News: Follow us on Twitter  Welcome, Guest. Please login or register. September 27, 2022, 05:23:28 PM 1 Hour 1 Day 1 Week 1 Month Forever Login with username, password and session length

## The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!

 Pages: 1    Go Down       Author Topic: first post, something fundamental about fractal generation  (Read 5315 times) Description: 0 Members and 1 Guest are viewing this topic.
Syntopia
Fractal Molossus  Posts: 681    « Reply #15 on: March 20, 2012, 10:44:08 PM »

Btw, here is the Fragmentarium script I used:

Code:
#include "DE-Raytracer.frag"
#group Hypercomplex Thing

// Number of fractal iterations.
uniform int Iterations;  slider[0,16,100]
// Breakout distance
uniform float Threshold; slider[0,10,100]
// Mandel or Julia
uniform bool JuliaMode; checkbox[false]

//Julia constant
uniform vec3 C123; slider[(-1,-1,-1),(0.18,0.88,0.24),(1,1,1)]

vec3 c = vec3(C123);
uniform float p; slider[-2,0,2]
uniform float q; slider[-2,0,2]
uniform float r; slider[-2,0,2]
// Tricomplex multiplication: http://en.wikipedia.org/wiki/Tricomplex_number
vec3 sqr(vec3  a) {
return vec3(
a.x*a.x-a.y*a.y-a.z*a.z+p*a.y*a.z,2*a.x*a.y+q*a.y*a.z,2*a.x*a.z+r*a.y*a.z);
}

float DE(vec3 pos) {
vec3 p = pos;
float  dp = 1.0;
for (int i = 0; i < Iterations; i++) {
dp = 2.0*dp*length(p)+2.0;
p = sqr(p)+ (JuliaMode ? c : pos);
float p2 = dot(p,p);
orbitTrap = min(orbitTrap, abs(vec4(p.xyz,p2)));
if (p2 > Threshold) break;
}
float r = length(p);
float d =  0.5 * r * log(r) / dp;
return d;
} Logged
Alef
Fractal Supremo     Posts: 1174   « Reply #16 on: March 21, 2012, 06:37:39 PM »

The 2D pictures seems very similar to formula I just a month agou uploaded to Ultra Fractal database. Zuzubrot im EM.upr.

Julia fractals are exactly similar to picture 2.
http://www.fractalforums.com/images-showcase-(rate-my-fractal)/zuzu-urban/?PHPSESSID=bd58a48d9b9f916e892c3a53995708c0

I found that formula by implementing another true 3D mandelbrot of new number set.
http://www.fractalforums.com/mathematics/new-numbers-set/30/

But I got nothing in 3D.
 « Last Edit: March 21, 2012, 06:44:11 PM by Asdam » Logged

fractal catalisator
puntopunto
Alien   Posts: 28

keep it simple « Reply #17 on: March 28, 2012, 11:57:00 AM »

Quote from: Asdam
The 2D pictures seems very similar to formula I just a month agou uploaded to Ultra Fractal database. Zuzubrot im EM.upr.

Julia fractals are exactly similar to picture 2.

If the images are the same, the  formula should me the same. shouldn't?
I downloaded the Ultra Fractal formulas and looked up ours. And yes it is the same, although the formula I use is more general. Because mine still was in the Fractint language I translated it in Ultrafractal. The juliaform is still seperated. (it is the first time I use UF language). Here they are:

Code:
;by Jos Hendriks, origianally in Fractint, about 1990
init:
z=#pixel
float zx=0
float zy=0
float zzx=0
float zzy=0
loop:
zx=real(z)
zy=imag(z)
zzx=p1*zx*zx+p2*zy*zy+p3*zx*zy
zzy=p4*zx*zx+p5*zy*zy+p6*zx*zy
z=zzx + 1i* zzy+#pixel
bailout:
|z|<16

switch:
seed = #pixel
p1=p1
p2=p2
p3=p3
p4=p4
p5=p5
p6=p6

default:
title = "quadratic forms"
float param p1
caption = "coefx x^2"
default=1.0
endparam
float param p2
caption = "coefx y^2"
default=-1
endparam
float param p3
caption = "coefx xy"
endparam
float param p4
caption = "coefy x^2"
endparam
float param p5
caption = "coefy y^2"
endparam
float param p6
caption = "coefy xy"
default=-2
endparam
}

;by Jos Hendriks, origianally in Fractint,about 1990
init:
z=#pixel
float zx=0
float zy=0
float zzx=0
float zzy=0
loop:
zx=real(z)
zy=imag(z)
zzx=p1*zx*zx+p2*zy*zy+p3*zx*zy
zzy=p4*zx*zx+p5*zy*zy+p6*zx*zy
z=zzx + 1i* zzy+@seed
bailout:
|z|<16
switch:
p1=p1
p2=p2
p3=p3
p4=p4
p5=p5
p6=p6

default:
title = "juliaquadratic forms"
float param p1
caption = "coefx x^2"
endparam
float param p2
caption = "coefx y^2"
endparam
float param p3
caption = "coefx xy"
endparam
float param p4
caption = "coefy x^2"
endparam
float param p5
caption = "coefy y^2"
endparam
float param p6
caption = "coefy xy"
endparam
}

Actually You give a example of focusing on complex functions, is not always wise. You arrived at you formula, taking a complicated route, but it is a very simple and logic formula. No need for complex function theory.
This is one example. If I have some time I will show some more.

Syntopia:

Thanks for the reply. Before reading your post, I just had figured out that Fragmentarium is a program, also for rendering 3D images. I also discovered that it is possible to use the graphic processor for calculations. Because I have a very modest graphic card I did not even try it. But, surprise,surprise, I downloaded Fragmentarium and it runs very smooth. So I discovered that you are the creator. You must be very pround!!!

But, sadly, I cannot follow your script. I can see two functions: sqr and DE. But I do not see something as a main loop. The variable a, I don't understand what it is doing there. i expected the script runs over x,y,z. The page on tricomplex numbers on Wikipedia has been deleted. Anyhow if some kind if tri complex numbers is involved it is impossible to see if the sqr function does the same as my first formula. I suppose the tricomplex numbers are used to define some multiplication in R3, reflecting multiplication in R2 in one of the axes planes. Implementation of the total quadratic form, will give all possibilities, everything only using reals. Logged
Alef
Fractal Supremo     Posts: 1174   « Reply #18 on: March 31, 2012, 08:10:13 PM »

Actualy I found it by making a mistake in 3D code.
It have non ordinary bailout conditions left from w variable, but probably anywhay, if the result is same formula should be the same. Well, probably yours are more general, I just seen the post, haven't tested or looked deeper.

You could upload your formula to UF database together with parameter files as examples;) Well there are lots of UF formulas, but many are just xyzMandelbrot.
 « Last Edit: April 03, 2012, 05:57:12 PM by Asdam » Logged

fractal catalisator
Alef
Fractal Supremo     Posts: 1174   « Reply #19 on: April 10, 2012, 06:57:52 PM »

I tried to implement your formula with switch. Your formula is much more general, zuzubrot square patterns are just one of possibilities. Throught without the bailout conditions, same polyniomials just shows black square.
Alsou implemented with post abs function, it generates very nice patterns.

Quote
;by Jos Hendriks, origianally in Fractint, about 1990
; Implementation by Edgar Malinovsky 09.04.2012.

init:
float zx=0
float zy=0
float zzx=0
float zzy=0
complex c=0

IF (@settype=="Mandelbrot")
IF (@pixelstart)
z=#pixel
ELSE
z=0
ENDIF
c=#pixel

ELSEIF (@settype=="Julia")
z= #pixel
c=@julia
ENDIF

loop:
zx=real(z)
zy=imag(z)

zzx=sqr(zx)*@p1 + sqr(zy)* @p2 + @p3*zx*zy
zzy=sqr(zx)*@p4 + sqr(zy)*@p5 + @p6*zx*zy
z=zzy*1i + zzx + c

IF (@function=="Abs")
z=abs(z)
ELSEIF (@function=="Conj")
z=conj(z)
ELSEIF (@function=="None")
; do nothing
ENDIF

bailout:
|z|< @bailout

switch:
julia = #pixel
p1=p1
p2=p2
p3=p3
p4=p4
p5=p5
p6=p6
function=function
bailout=bailout
pixelstart=pixelstart
settype= switchsettype
switchsettype=settype

default:
title = "Quadratic Forms"
magn = 1
center = (-0.5, 0)
maxiter = 250
periodicity = 0

float param bailout
caption = "Bailout Value"
default = 128
min = 0.5
endparam

param settype
caption="Set type"
default=0
enum="Mandelbrot" "Julia"
endparam

param switchsettype
caption = "switch to"
default = 1
enum = "Mandelbrot" "Julia"
visible = false
endparam

complex param julia
caption="Julia Seed"
default=(-1.6, 0)
visible = (@settype=="Julia")
endparam

param pixelstart
default = FALSE
visible = (@settype=="Mandelbrot")
hint="Starts calculation with c= pixel instead of 0 as did most of Fractint's formulas."
endparam

caption = "Info"
text = "Quadratic generalisation by Jos Hendriks         \
X = K*X^2 + L*Y^2 + M*X*Y  + C         \
Y = O*X^2 + P*Y^2 + Q*X*Y   + C         \
Coefficients 1,-1,0,0,0,2 generates Mandelbrot set."

float param p1
caption = "X= coef K* x^2"
default=1.0
endparam
float param p2
caption = "X= coef L* y^2"
default=1
endparam
float param p3
caption = "X= coef M* xy"
endparam
float param p4
caption = "Y= coef O* x^2"
endparam
float param p5
caption = "Y= coef P* y^2"
endparam
float param p6
caption = "Y= coef Q* xy"
default=2.5
endparam

param function
caption="Post function"
default=0
enum="None" "Abs" "Conj"
endparam
}

Throught, m3D threads is not the best place for 2D discussions, so no pictures. This subject more would fit new theories and research.
 « Last Edit: April 10, 2012, 07:19:28 PM by Asdam » Logged

fractal catalisator
 Pages: 1    Go Down
 Related Topics Subject Started by Replies Views Last post  Fractal height field generation 3D Fractal Generation JosLeys 0 1806 October 02, 2010, 10:39:26 PM by JosLeys  Fractal generation not fitting in expected range Programming ballaw 0 917 January 12, 2013, 04:18:37 PM by ballaw  Fractal generation from infinite sum 3D Fractal Generation ballaw 3 1461 February 07, 2013, 06:29:29 PM by eiffie  new 3d fractal generation method? 3D Fractal Generation Juliadreamer 2 2145 January 13, 2017, 01:13:03 PM by Juliadreamer  Post-processing fractal images Introduction to Fractals and Related Links cye 2 1621 February 07, 2017, 01:26:02 AM by cye