----- Original Message -----
Sent: Wednesday, October 06, 2010 5:22
PM
Subject: [Fractint] Astroid, Not
Asteroid
Today's post is an astroid,not the asteroid of Jim
Muth's recent post.
From a big rock in outer space to an object on the
complex
plane - that's a transition! A three color range orbit trap
formula by Paul Carlson.
Ready made at http://maxitersfractalfollies.blogspot.com
fract461.gif
{ ; astroid not
asteroid
;
blank
; calctime
0:15:26.65
; created Oct 06,
2010
; Fractint Version 2004 Patchlevel 9
reset=2004 type=formula
formulafile=_a.frm formulaname=Astroid_Mset
passes=1
center-mag=-0.10064490259883670/+0.95634738310731750/334.5786
params=0.3/2/3/85 float=y maxiter=1500 inside=0 outside=summ
colors=0z00000y00y00x00x00w00w00v00v00u00u00t00s00s00r00r00q00q00p00p00o\
00o00n00n00m00l00l00k00k00j00j00i00i00h00h00g00f00f00e00e00d00d00c00c00b\
00b00a00a00`00_00_00Z00Z00Y00Y00X00X00W00W00V00U00U00T00T00S00S00R00R00Q\
00Q00P00P00O00N00N00M00M00L00L00K00K00J00J00I00H0z00z00z00z00y00y00y00x0\
0x00x00x00w00w00w00v00v00v00u00u00u00u00t00t00t00s00s00s00r00r00r00r00q0\
0q00q00p00p00p00o00o00o00o00n00n00n00m00m00m00m00l00l00l00k00k00k00j00j0\
0j00j00i00i00i00h00h00h00g00g00g00g00f00f00f00e00e00e00d00d00d00d00c00c0\
0c00b00b00b00a0000z00z00y00y00x00x00w00w00v00u00u00t00t00s00s00r00q00q00\
p00p00o00o00n00m00m00l00l00k00k00j00i00i00h00h00g00g00f00e00e00d00d00c00\
c00b00a00a00`00`00_00_00Z00Y00Y00X00X00W00W00V00U00U00T00T00S00S00R00Q00\
Q00P00P00O00O00N00M00M00L00L00K00K00J00I00I00H00H00G00F
}
frm:
Astroid_Mset {; Copyright (c) Paul W. Carlson,
1997
;****************************************************
;
Always use floating point math and outside=summ.
;
; Parameters:
;
real(p1) = a factor controlling the width of the curves
; imag(p1) = radius of the astroid
; real(p2) = number of color ranges
; imag(p2) = number of colors in each color
range
;
; Note that the equation
variable is w, not z. Always
; initialize z to
zero.
;****************************************************
w
= 0
c = pixel
z =
0
bailout = 0
iter =
0
range_num = 0
i =
(0,1)
r = imag(p1)
;****************************************************
;
In the accompanying par file, astmset.par,
; we have 8
color ranges with 30 colors in each range
; for a total
of 240 colors. The first range starts at
; color
1. Pixels will use color 0 when |w| < 10000.
;
Other values can be used here as long as the product
;
of num_ranges times colors_in_range is less than 255.
;
Color 0 is reserved for the background color and color
;
255 can be used for the inside color.
;****************************************************
num_ranges = real(p2)
colors_in_range =
imag(p2)
;****************************************************
;
Real(p1) controls the width of the curves.
; These
values will usually be in the range 0.001 to 0.1
;****************************************************
width = real(p1)
index_factor = (colors_in_range - 1) /
width:
;****************************************************
;
The equation being iterated. Almost any equation
;
that can be expressed in terms of a complex variable
;
and a complex constant will work with this method.
;
This example uses the standard Mandelbrot set equation.
;****************************************************
w
= w * w + c
;****************************************************
;
The orbit trap curve. This example uses an
"astroid"
; curve (which has absolutely nothing to do
with huge
; rocks in outer space). Any
two-dimensional curve can
; be used which can be
expressed in parametric form in
; terms of the angle
from the origin.
;****************************************************
ang = atan(imag(w) / real(w))
astroid = r * (cos(ang)^3
+ i * sin(ang)^3)
;****************************************************
;
If the orbit point is within some distance of the curve,
; set z to the index into the colormap and set the
bailout
; flag. Note: the way we use the
"distance" here has
; the effect of turning the curves
inside-out in the image.
;****************************************************
distance = abs(|w| - |astroid|)
IF (distance < width
&& iter > 1)
z =
index_factor * distance + range_num * colors_in_range +
1
bailout =
1
ENDIF
;****************************************************
;
Cycle through the range numbers (0 thru num_ranges - 1)
; With two color ranges, even iterations use color
;
range 0, odd iterations use color range 1.
;****************************************************
range_num = range_num + 1
IF (range_num ==
num_ranges)
range_num =
0
ENDIF
;****************************************************
;
Since we are using outside=summ, we have to subtract
;
the number of iterations from z.
;****************************************************
iter = iter + 1
z = z - iter
;****************************************************
;
Finally, we test for bailout
;****************************************************
bailout == 0 && |w| < 1000
;SOURCE:
98msg.frm
}
Roger Alexander
_______________________________________________
Fractint mailing
list
Fractint@mailman.xmission.com
http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractint