Re: [Fractint] Re: quaternion product correction
Gerald, I'm still stoked on this formula. Morgan Owens and Hiram Berry should see this! Oh yeah, and Lloyd Garrick (aka Jack O'Tradez; http://www.sonic.net/~jot/ufvp.html) should consider animating it, IMO... Maybe you have a name for this program, or a suggestion for one, so that I may easily refer to it: E.g., Gerald K. Dobiasovsky's xxxxx formula? Ciao ----- Original Message ----- From: "Gerald K. Dobiasovsky" <gerald.dob@aon.at> To: "Fractint and General Fractals Discussion" <fractint@mailman.xmission.com> Subject: [Fractint] Re: quaternion product correction Date: Thu, 3 Nov 2005 02:45:56 +0100
[Russell Walsmith, regarding Triternions and the rendereing thereof]
Paul Bourke's rendering seems to use some density cloud function (probably the number of iterations accumulated while stepping along the line-of-sight for each pixel), so the object's outside is structured as well.
All I can offer for the moment is a greyscale depth rendering similar to Fractint's Julibrot type (that is, the object is solid and the surrounding space is transparent).
You can achieve a kind of outside density rendering by switching from outside=summ to outside=iter, but the colors will wrap around many times, which really doesn't look good.
Gerald
---------------------------- Parameters below ------------------------------
T-set_in_3d {;Greyscale depth image ; reset=2004 type=formula formulafile=test.frm formulaname=Rot3d_T-set passes=g center-mag=-0.68046/-0.24858/0.9363296 params=0/0/-0.75/0.75/0/0/0/4/150/253 float=y maxiter=2000000000 outside=summ periodicity=0 colors=000zzzyzzzyzzyyyyyxyyyxzyxxxxxwxxxwyxwwwwwvwwwvxwvvvvvuvvvuwvuuuu\ utuuutvutttttstttsutsssssrsssrtsrrrrrqrrrqsrqqqqqpqqqprqpppppopppoqpoooo\ onooonponnnnnmnnnmonmmmmmlmmmlnmlllllklllkmlkkkkkjkkkjlkjjjjjijjjikjiiii\ ihiiihjihhhhhghhhgihgggggfgggfhgfffffefffegfeeeeedeeedfedddddcdddcedcccc\ cbcccbdcbbbbbabbbacbaaaaa`aaa`ba`````_```_a`_____Z___Z`_ZZZZZYZZZY_ZYYYY\ YXYYYXZYXXXXXWXXXWYXWWWWWVWWWVXWVVVVVUVVVUWVUUUUUTUUUTVUTTTTTSTTTSUTSSSS\ SRSSSRTSRRRRRQRRRQSRQQQQQPQQQPRQPPPPPOPPPOQPOOOOONOOONPONNNNNMNNNMONMMMM\ MLMMMLNMLLLLLKLLLKMLKKKKKJKKKJLKJJJJJIJJJIKJIIIIIHIIIHJIHHHHHGHHHGIHGGGG\ GFGGGFHGFFFFFEFFFEGFEEEEEDEEEDFEDDDDDCDDDCEDCCCCCBCCCBDCBBBBBABBBACBAAAA\ A9AAA9BA9999989998A98888878887987777767776876666656665765555545554654444\ 4344435433333233324322222122213211111011102100000000PPP }
frm:Rot3d_T-set {;periodicity=no, outside=summ ;maxit > p5real*(p5imag+1) ;-------------------------------------------- ;p1real: Rotation about x-axis (1st rotation) ;p1imag: Rotation about y-axis (2nd rotation) ;p2real: Far clipping plane ;p2imag: Near clipping plane ;p3real: x1(0) ;p3imag: y1(0) ;p4real: z1(0) ;p4imag: Bailout ;p5real: Maxiter per slice ;p5imag: Number of slices - 1 ;-------------------------------------------- ; bailout = imag(p4), tiefnum = imag(p5) delta = (real(p2)-imag(p2))/tiefnum tmp = pi/180 rotXax = exp(flip(real(p1)*tmp)), rotYax = exp(flip(imag(p1)*tmp)) ; HPixXY = rotYax VPixZ = real(rotXax) VPixXY = flip(conj(rotYax)) NXY = VPixZ*VPixXY NZ = imag(conj(rotXax)) VPixXY = -NZ*VPixXY ; tmp = NXY*imag(p2) + HPixXY*real(pixel) + VPixXY*imag(pixel) cx = cx0 = real(tmp), cy = cy0 = imag(tmp) cz = cz0 = NZ*imag(p2) + VPixZ*imag(pixel) ;HPixZ -> 0 tmp = NXY*delta, dcx = real(tmp), dcy = imag(tmp) dcz = NZ*delta x1 = real(p3) y1 = imag(p3) z1 = real(p4) j = m = i = 0: a = sqr(x1) + 2*y1*z1 b = sqr(z1) + 2*x1*y1 c = sqr(y1) + 2*x1*z1 x1 = a + cx, y1 = b + cy, z1 = c + cz IF (bailout >= (sqr(x1)+sqr(y1)+sqr(z1))) i = i + 1 ELSE i = 0 m = m + 1 cx = cx0 = cx0 + dcx cy = cy0 = cy0 + dcy cz = cz0 = cz0 + dcz x1 = real(p3), y1 = imag(p3), z1 = real(p4) ENDIF z = m - j j = j + 1 tiefnum >= m && p5 >= i }
---------------------------- End of parameters -----------------------------
_______________________________________________ Fractint mailing list Fractint@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractint
Russell Walsmith wrote:
I'm still stoked on this formula. Morgan Owens and Hiram Berry should see >this!
Russ, There's really not much to it, provided one removes the additional stuff like 3d rotations and the like (and if a certain formula author wouldn't be too lazy to use comments in his "works" at all ;-)). One faces two problems in writing a formula for greyscale depth display: 1) The formula parser doesn't provide a direct way to assign a color to the given pixel, only hardwired methods are available. 2) Each Fractint formula only has one main iteration loop, no constructs for nested loops are part of the parser. 1) The first point comes up in "standard" 2d fractal images as well, and a number of ways to emulate the behaviour of a "color=..." keyword have been worked out by different persons, often independently. The general idea is to (mis)use the given variable "z". Through "z" Fractint tracks a pixel's orbit, checks for periodicity to shorten calculations, tests for finite attractors, and uses its content in some of the coloring methods. The coloring method I am exploiting is "summ". By enabling it, Fractint uses iter + real(z) + imag(z) as the color index. Now, to force a certain color number, I only need to put into "z" that color number *minus the iteration count*. Since Fractint adds this count, it effectively cancels it, leaving only the color index number (and the imaginary part of "z" in this case is zero anyway, so no problem here). 2) The second point comes up because of the 3d nature of the scene. One has to step from near towards far clipping plane, at each step iterating to determine if the point is still outside the fractal, only stopping if either the fractal or the far clipping plane is reached. This, however, is easily wrapped up into one loop. One only has to make sure Fractint's own iteration count doesn't get in the way. --- Below I have put a formula stripped of all the additional stuff that makes it hard to see what's going on (and - cough - even put comments into it!) Random note: Fractint allows color 1 to 255 for this type of outside coloring. Since one background color is needed, 254 colors remain for the fractal. Therefore the max. number of (depth) slices is 254. Ah, and see the change from "p3 >= i" to "p3 > i" (last line); all the years(!) it didn't dawn on me it causes one iteration too many :-/ Regards, Gerald ---------------------------- Formula follows ------------------------------- 3dJulibrot_simple {;periodicity=no, outside=summ ;maxit > p3real*(p3imag+1) ;(maxit = Fractint's Maximum Iterations on <x> screen) ;----------------------------------------------------- ;p1 : Far clipping Julia parameter c ;p2 : Near clipping Julia parameter c ;p3 real: Maxiter per slice ;p3 imag: Number of slices - 1 ;p4 real: Bailout ;----------------------------------------------------- stepnum = imag(p3) delta = (p1-p2)/stepnum ;Complex step to add to current c for next slice zz = pixel ;Initialize screen variable c = p2 ;Start with near clipping Julia parameter c j = m = i = 0: ;j ... overall loop count ;m ... slice number ;i ... loop count for each slice zz = sqr(zz) + c ;Iteration formula IF (p4 >= |zz|) ;Bailout condition test i = i + 1 ;No bailout, increment slice loop count ELSE ;Bailout, so... i = 0 ; reset slice loop count m = m + 1 ; increment slice number c = c + delta ; update Julia c to next slice's value zz = pixel ; re-initialize screen variable ENDIF z = m - j ;Feed slice number to Fractint display engine, ; compensating for overall iterations. j = j + 1 ;Increment overall loop count stepnum >= m && p3 > i ;Keep going if not past last slice and if not ; inside set (maxiter per slice not reached). } ---------------------------- End of formula -------------------------------
Has anyone had experience of this? I have made an .avi that I quite like to use as back projection in a play but it is a bit jerky. The default for the number of frames in the zoom animation is 10 ( I used 40) - How much can I put this up to before it gets silly? and what frame rate should I set when rendering the avi? and what advantage might there be in slowing down the time of each frame? Sorry if all this is a silly request but I am sure you guys have been there done that and understand it all so much better than I do. Many thanks in advance Margaret
On Tuesday 08 November 2005 09:34, Margaret Willmer wrote:
Has anyone had experience of this? I have made an .avi that I quite like to use as back projection in a play but it is a bit jerky. The default for the number of frames in the zoom animation is 10 ( I used 40) - How much can I put this up to before it gets silly? and what frame rate should I set when rendering the avi? and what advantage might there be in slowing down the time of each frame?
hi, i have no idea if anyone has answered this or not but i had a similar problem using xaos and i concluded that the problem was more with my computer, that it couldn't redraw as fast as my mouse was moving, unfortunately i do not know how fractal explorer gernerates it's animations so i'm not sure if that is the answer in your case except that usually a frame rate of 25-29 is usually sufficient in the compliation of mpegs. sammi
sam ende wrote:
On Tuesday 08 November 2005 09:34, Margaret Willmer wrote:
Has anyone had experience of this? I have made an .avi that I quite like to use as back projection in a play but it is a bit jerky. The default for the number of frames in the zoom animation is 10 ( I used 40) - How much can I put this up to before it gets silly? and what frame rate should I set when rendering the avi? and what advantage might there be in slowing down the time of each frame?
hi, i have no idea if anyone has answered this or not but i had a similar problem using xaos and i concluded that the problem was more with my computer, that it couldn't redraw as fast as my mouse was moving, unfortunately i do not know how fractal explorer gernerates it's animations so i'm not sure if that is the answer in your case except that usually a frame rate of 25-29 is usually sufficient in the compliation of mpegs.
sammi
_______________________________________________ Fractint mailing list Fractint@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractint
Perhaps I should have replied to myself!! I have now made an avi in Fractal Explorer. It took me a bit of experimenting as I don't understand most of the terminology. For non jerky movies make the frame rate 25fps. So for a minute of video it is 1500 frames. Go away and cook your dinner while the images are rendering, or on a slow computer let it work while you sleep. I needed a really high quality movie as it is being projected onto a 7ft x 7ft screen. As you can save all your settings in Fractal Explorer you can make a very low resolution movie to test and when you get what you like change the resolution and away you go. Thank you to everyone to helped me with this. Margaret
participants (4)
-
Gerald K. Dobiasovsky -
Margaret Willmer -
Russell Walsmith -
sam ende