Logo by kr0mat1k - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Follow us on Twitter
 
*
Welcome, Guest. Please login or register. September 27, 2022, 05:23:28 PM


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 [2]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: first post, something fundamental about fractal generation  (Read 5315 times)
0 Members and 1 Guest are viewing this topic.
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« 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



WWW
« 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:
        quadraticforms {
;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:
  type = "Juliaquadraticforms"
  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
  }
   


Juliaquadraticforms {
;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:
       type = "quadraticforms"
       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



WWW
« 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



WWW
« 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
Quadraticforms   {
;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:
  type = "Quadraticforms"
  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
caption ="Start with c=pixel"
default = FALSE
visible = (@settype=="Mandelbrot")
hint="Starts calculation with c= pixel instead of 0 as did most of Fractint's formulas."
endparam

heading
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."
endheading

  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 [2]   Go Down
  Print  
 
Jump to:  

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

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.274 seconds with 25 queries. (Pretty URLs adds 0.008s, 2q)