Orbital / IFS / Strange Attractor |
|
|
Orbital / IFS / Strange Attractor Properties PageThe Fractal Science Kit fractal generator Orbital / IFS / Strange Attractor page holds a set of properties specific to Orbital fractals and is visible only if the Fractal Type on the General page is set to Orbital / IFS / Strange Attractor. See also: The following pages are found in the page hierarchy under the Orbital / IFS / Strange Attractor page:
The Orbital Equation defines the fundamental equation used to compute the orbit points. As the orbit points are computed, statistics are added to the sample data that eventually will be used by the controllers to color the fractal. However, the orbit point is not added directly to the sample statistics. Rather, it is first passed to several programs that can transform the point prior to accumulating the statistics. Manipulating these programs can result in significantly different images, yielding countless variations for a given equation. The Orbit Variation defines a transformation applied to the orbit point returned from the orbital equation thus altering the orbit of the fractal. The point returned from the transformation is passed back to the equation on the next iteration and therefore truly affects the orbit. This is in contrast to transformations that transform the point solely for the purpose of modifying the resulting image. These transformations change the orbit point prior to accumulating the statistics used to color the image but the changes made to the orbit point are not passed back into the equation so the fundamental orbit does not change. In the following discussion, let the orbit point generated by the orbital equation and modified by the orbit variation be called P. It is understood that even though the following discussion talks of transforming P, it is not meant to imply that these changes are included in the point passed to the orbital equation on the next iteration. First, the orbit point P is transformed by Transformation 1. When a point P is transformed, it is understood that P is passed through the transformation and the resulting transformed point placed back in P. Next P is passed to the Symmetry Transformation. A Symmetry Transformation takes a single input point P and transforms it into 0 or more points. Let the resulting set of N points be called P[N]. Each of the N points in P[N] is now passed to Transformation 2. Any or all of these transformations can be set to the identity transformation, thereby skipping that step. In fact, it is usually the case that most (or all) of these transformations are the identity transformation. However, selective use of these transformations along with other Orbital fractal properties can result in highly unusual images. Normalization controls the Data Normalization applied to the sample data. The Controllers page lets you set the list of Orbital Controllers used to process this fractal. Adaptive Smoothing is used to activate and control adaptive smoothing of the sample data. Several of the properties on this page can be overridden in the Orbital Equation instructions using the FSK.OverrideValue method. See FSK Functions for details. Orbital / IFS / Strange Attractor
The Orbital / IFS / Strange Attractor section holds several properties associated with Orbital fractals. Orbital fractals process a single orbit with thousands (or millions) of iterations. Min Count (x 100) defines the number of iterations to process before collecting data. Max Count (x 100,000) defines the total number of iterations. Usually, you will set Max Count to a small number and increase it when you find an interesting fractal whose image you want to save. Max Count is rarely set to a value larger than 200. In truth, the total number of iterations is also adjusted for any oversampling associated with Anti-Aliasing and for the size of the image so the actual number of iterations is: Iterations = MaxCount * 100000 * SamplesPerPixel * ImageSizeFactor SamplesPerPixel in the above equation is 1 if Oversampling is <None>, 4 for 2x2 Oversampling, 9 for 3x3 Oversampling, and 16 for 4x4 Oversampling. For example, if Max Count is 50 and Oversampling is set to 2x2 Oversampling, the number of iterations is 20,000,000 (assuming ImageSizeFactor is 1). ImageSizeFactor is derived from the size of the image relative to the default size of 600 by 450. For example, if you increase the image size to 1200 by 900, the ImageSizeFactor would be 4 since there are 4 times as many pixels in the image. Adjusting the number of iterations based on ImageSizeFactor lets you change the image size without having to adjust the Max Count to get the same image quality. Since Orbital fractals do not generate an orbit per sample as do Mandelbrot fractals, Anti-Aliasing does not result in as severe a time penalty as with Mandelbrot fractals, and it is recommended that you set Oversampling to one of the higher settings when exploring Orbital fractals since the increased quality outweighs the cost. Clearly, keeping track of all the orbit points is not feasible given these large numbers, so a small buffer of orbit points is maintained throughout the iteration which contains the last Orbit Buffer Size points. This determines the number of points available to your programs via the Orbit Functions. The default Orbit Buffer Size is 8 and is rarely changed. During the iteration, the orbit points are examined and the orbit is terminated early if the orbit diverges or the orbit point becomes NaN (Not a Number) usually indicating an error condition or an undefined operation was performed (e.g., 0/0). If the orbit terminates early, the reason it did so will be given in the Information Window. For each point that we visit during the orbit, we accumulate statistics in the associated sample point. These statistics are made available to the controllers to use when mapping the samples to colors. Normally, we track the orbit point as it moves from point to point, but this can be changed using the Point to Track property. The possible settings are:
The default, Orbit Point, simply tracks the orbit point. Orbit Transformation Point and Triangle Metric Point track the points defined by the Orbit Transformation and Triangle Metric Pages. For example, if Point to Track is set to Triangle Metric Point and the Triangle Metric is set to the CircumCenter of the last 3 orbit points, instead of visiting each orbit point, we find the CircumCenter for the last 3 orbit points and visit that point instead. Transformation Shift / Transformation AngleThe Transformation Shift and Transformation Angle sections, define a transformation based on 1 or more orbit points. Transformation Shift defines a translation and Transformation Angle defines a rotation. These are combined into a single transformation (called S hereafter) composed of the translation followed by the rotation. S is used in conjunction with the transformation defined by Transformation 1 (called T). Instead of simply applying T, we apply inverse(S), then apply T, and finally apply S, where inverse(S) is the inverse transformation of S. The composite transformation is called the conjugate of T with respect to the conguating map S. These properties have no effect unless T is set to a transformation other than the identity transformation. Transformation Shift
The Transformation Shift section includes a property Shift which is <None>, P, or P+Q. If Shift is <None>, no transformation is applied. If Shift is P, a transformation is defined as: f(z) = z + P If Shift is P+Q, a transformation is defined as: f(z) = z + (P+Q) P and Q are one of the following values:
The 1st 3 settings are the last 3 orbit points, respectively. The Orbit Transformation Point and the Triangle Metric Point are the special points defined by the Orbit Transformation and Triangle Metric Pages. Factor and F(z) are applied to the given point before it is used in the transformation expression; i.e., the point is multiplied by Factor and then the function F(z) is invoked to transform the point. If F(z) is Ident, the function is not applied. For example, if Shift is P, P is ZPrev1, Factor is -1, and F(z) is Pow2, the transformation is defined as: f(z) = z + Pow2(-zprev1) Transformation Angle
The Transformation Angle section includes a property Angle which is <None>, Arg(P), or Arg(P+Q). The Arg function returns the radian angle of a vector from the origin to the given point. P and Q are defined as above. If Angle is <None>, no transformation is applied. If Shift is Arg(P), a transformation is defined as: f(z) = z * Cis(Arg(P)) Multiplying z by Cis(A), where A is an angle given in radians, has the effect of rotating z by A radians counterclockwise. If Angle is Arg(P+Q), a transformation is defined as: f(z) = z * Cis(Arg(P+Q)) Factor and F(z) are applied to the given point before it is used in the transformation expression; i.e., the point is multiplied by Factor and then the function F(z) is invoked to transform the point. If F(z) is Ident, the function is not applied. For example, if Angle is Arg(P), P is Z, Factor is 1, and F(z) is Ident, the transformation is defined as: f(z) = z * Cis(Arg(z)) |
|
Copyright © 2004-2010 Hilbert, LLC |