Orbit Trap Map
Orbit Trap Map Properties Page
The Fractal Science Kit fractal generator Orbit Trap Map page defines the set of orbit traps and the properties used to map the trapped points to the sample data.
At the top of the page is the list of orbit traps. As you manipulate the traps in the list, the pages in the hierarchy under the Orbit Trap Map page will reflect the list of orbit traps. That is, for each orbit trap in the list, there will be a corresponding page in the page hierarchy under the Orbit Trap Map page. Several of the orbit traps are built into the application and optimized for efficiency. For these, the page in the page hierarchy contains properties used to configure the trap. The rest of the orbit traps are Orbit Trap programs. For these, the corresponding page is a Program Editor for an Orbit Trap.
Orbit Trap Map List
The Orbit Trap Map List is used to add new traps, delete existing traps, and/or reorder the traps in the list. All operations are performed using the toolbar buttons above the list. Place the mouse pointer over each button to see the associated command. The commands (in order) are:
You are required to have at least 1 orbit trap in the list. If you attempt to delete all the traps from the list, a default orbit trap (Instructions: Circle) will be added to the list automatically.
The Selected Orbit Trap Properties section contains properties associated with the single selected orbit trap. If the selection is empty or contains more than 1 trap, this section is disabled.
The Type field is used to set the type of the orbit trap. When you click the New toolbar button above the orbit trap list, an Instructions trap (Instructions: Circle) is added to the list. To change the type of one of the traps, simply select the entry in the list, and use the Type selector to change its type.
The available types are:
With the exception of Instructions, each of these orbit traps are built into the Fractal Science Kit and optimized for speed.
Instructions is the gateway to your Orbit Trap programs and to a rich set of built-in programs including: Apollonian Gasket, Apollonius Grid, Borromean Rings, Circle Inversion, Circle Web, Circular Vine, Cycloid of Ceva, Elliptic Circles, Daisy, Epitrochoid Net, Epitrochoid Rose, Faceted Polygon, Farris Wheels, Farris Wheels Net, Flower, Folium, Ford Circles, Harmonograph, Hyperbolic Circles, Kleinian Group, Hypotrochoid Net, Lemniscate, Lemniscate Net, Limacon, Limacon Net, Maurer Rose, Nephroid Net, Parabolic Circles, Parabolic Grid, Polygon Net, Polygon Whirl, Rose, Schottky Group, Sectors, Shape, Sound Ornament, Spiral, Star of David, Star Polygon, Steiner Chain, Super Ellipse, Swirl, Tangent Circles, Unit Circle Group, and many more. To use one of these traps, set Type to Instructions and click on the corresponding page in the page hierarchy. This page is a Program Editor for an Orbit Trap. Use the Based On selector on that page to choose the program you want to use. See the comment section given in the program instructions for a description of the associated trap.
Some of the orbit traps are stand-alone fractals in their own right. For example, the Kleinian Group trap allows you to produce Quasifuchsian, Single Cusp, and Double Cusp, Two-Generator Group fractals described in the book Indra's Pearls - The Vision of Felix Klein by David Mumford, Caroline Series, and David Wright. The Schottky Group trap explores the world of nesting Schottky disks and groups of Mobius maps that form the basis for the Two-Generator Group fractals above. Schottky Group fractals are also described in the book Indra's Pearls. The L-System trap allows you to create an orbit trap using a set of statements that define an L-System or Lindenmayer System. Lindenmayer System fractals were developed in 1968 by Aristid Lindenmayer. The Apollonian Gasket, Circle Inversion, Ford Circles, and Unit Circle Group traps also produce stand-alone fractals. Other traps (e.g., Epitrochoid Net, Epitrochoid Rose, Farris Wheels, Farris Wheels Net, Harmonograph, Hypotrochoid Net, Isogonal Polygon, Maurer Rose, Sound Ornament, Spirolateral, Star Polygon) can produce beautiful mathematical art when combined with complex transformations and other supported features.
The Selected Orbit Trap Properties section also contains Trap Id which can be used to associate an identifier with the selected orbit trap. This identifier can be mapped to the sample data fields Sample.TrapIndex or Sample.TrapDelta, used by the Color Controllers (see Trap Index Map and Trap Delta Map below). Trap Id is mapped to the data field Sample.TrapId. If Trap Id is set to 255, and the associated trap is a Composite orbit trap, the Trap Id is set to the id set by the individual trap inside the Composite orbit trap.
The Surface Normal Index determines which set of surface normal parameters is used for the selected orbit trap. The Surface Normal Index is an integer between 0 and 3 inclusive, or the value 255. The values 0 to 3 map to the associated set of surface normal parameters given in the Surface Normal (Trap Value) section of the Orbit Trap page. If Surface Normal Index is set to 255, and the associated trap is a Composite orbit trap, the Surface Normal Index is set to the index set by the individual trap inside the Composite orbit trap.
The Trap Index Offset and Trap Delta Offset are added to the selected trap's Trap Index and Trap Delta values returned by the Orbit Trap program. These are normally used when you have multiple traps and you want to separate each trap's index/delta values from one another.
The Override Options checkbox enables the last 3 fields in the Selected Orbit Trap Properties section. Normally, all of the orbit traps are processed using the dwell value limits given in the Orbit Trap Orbit Generation section of the Mandelbrot / Julia / Newton page. However, when you have defined multiple traps, sometimes it is useful to define a different set of dwell value limits per orbit trap. In those cases, you can select each trap and check Override Options to enable the Min Dwell, Max Dwell, and Mod Dwell fields for that purpose.
The Orbit Trap Map section contains 4 properties.
Point to Trap controls what point is passed to the orbit traps during processing. The possible settings are:
The default, Orbit Point: OP(n), simply passes the orbit point. Orbit Transformation Point: OT(n) and Triangle Metric Point: TM(n) pass the points defined by the Orbit Transformation and Triangle Metric Pages. For example, if Point to Trap is Triangle Metric Point: TM(n), and the triangle metric defined by the Triangle Metric page is the CircumCenter of the last 3 orbit points, we pass the CircumCenter to the orbit traps for processing. The remaining settings are expressions that generate a point. For example, OP(n) - OP(n-1) subtracts the previous orbit point from the current orbit point.
Trap Index Map and Trap Delta Map determine what data is mapped to the Color Controllers sample data fields Sample.TrapIndex and Sample.TrapDelta, respectively. The possible settings are:
Trap Index and Trap Delta map the values returned by the Orbit Trap program in trappedPoint.Index and trappedPoint.Delta, respectively. Trap Array Index maps the index in the orbit trap list of the orbit trap that trapped the given point. Symmetry Index maps the symmetry index associated with the trapped point, defined by the Symmetry Transformation (if active). Trap Id maps the Trap Id set in the Selected Orbit Trap Properties section described above.
Unlike these other settings, Combined Index is not useful for coloring. However, since the Combined Index combines the other index values to form a unique value and Trap Index and Trap Delta are used by Solid Guessing to determine if 2 samples are equal, differences in any of the index values will cause the samples to be seen as not equal, which will improve the visible results of Solid Guessing. So the recommendation is to use Combined Index for either Trap Index or Trap Delta unless you need to use the specific index for coloring. It also makes sense to set trappedPoint.Index and trappedPoint.Delta within your Orbit Trap program, where possible, to help reduce the visibility problems caused by Solid Guessing. Of course, you can clear up all visibility problems by turning off Solid Guessing which is recommended for your final image.
The Group By Trap checkbox determines the order of processing when you have multiple traps as well as a Symmetry Transformation. If Group By Trap is checked, all the points returned by the Symmetry Transformation are passed to the 1st trap, followed by the 2nd trap, etc. If Group By Trap is not checked, the 1st point returned by the Symmetry Transformation is passed to all the traps, followed by the 2nd point, etc. This can result in visual differences when Blend Values (see below) is not checked.
The Orbit Trap Blend section controls the strategy employed when the processing of a single orbit point yields multiple trapped points. This can happen in 2 situations. First, when you have multiple orbit traps in the list of traps, a single orbit point may be trapped by more than 1 orbit trap and multiple trapped points result. The second way this can happen is if you have defined a Symmetry Transformation. Remember that the Symmetry Transformation can transform a single input point into multiple points, each of which is passed to orbit trap processing. If more than 1 of these points is trapped, multiple trapped points result. In each of these situations, we need to blend the set of points into a single resulting point. The parameters in the Orbit Trap Blend section define this strategy.
The Blend Values checkbox can be unchecked to simply return all the trapped points. You should uncheck Blend Values when you want the orbit traps in the trap list to function as individual traps rather than as a single (blended) trap. The order of the traps in the list controls the front to back order of the display. Similarly, if you want the results of the Symmetry Transformation to appear as a collection disjoint traps, you can uncheck Blend Values. However, in most cases you will want to check the Blend Values checkbox to enable the remaining controls in the Orbit Trap Blend section. When you are using the Orbit Trap Alternate Mapping, the Blend Values checkbox is checked and disabled since it is not possible to maintain individual trap information in that context.
The most important parameter in the Orbit Trap Blend section is the Blend property. Blend can be one of the following values:
The simplest (and default) Blend is Minimum. This uses the minimum trap value of all the trapped points. Sum and Product simply return the sum and product of the values for all trapped points, respectively. The Power Mean, Lehmer Mean, and Generalized Mean settings return the named mean over all the trapped point values. Variance returns the variance of all trapped point values. The symbol R in some of the names above indicates the blend algorithm requires an argument which is given by Blend Arg (R).
If Ignore Sign is checked, the blend is applied to the absolute value of the trapped point values.
For details about Power Mean, Lehmer Mean, or the Generalized Mean, see the following:
Eric W. Weisstein. "Power Mean."
From MathWorld--A Wolfram Web Resource.
Eric W. Weisstein. "Lehmer Mean."
From MathWorld--A Wolfram Web Resource.
From Wikipedia, the free encyclopedia.
As described above, the Blend setting determines how the trap value is computed. The trap angle, index, and delta values are taken directly from one of the trapped points. The Sample property determines the method used to choose which one. The Sample property can be set to one of:
If Sample is Minimum Value, the trapped point associated with the minimum trap value (absolute value) is used. If Sample is Maximum Value, the trapped point associated with the maximum trap value (absolute value) is used. If Sample is Minimum Delta, the trapped point whose value is closest to the resulting blended value is used. If Sample is Maximum Delta, the trapped point whose value is farthest from the resulting blended value is used.
Orbit Trap Envelope
The Orbit Trap Envelope section provides control over the trap width and highlights. Clamp controls the trap width and Peak controls the trap highlights.
Clamp is one of the following:
A Clamp of <None> does not change the trap width. All the other settings change the trap width relative to the trapped point angle. Clamp Arg (S) and Clamp Arg (N), or S and N for short, are used by some of the settings to vary the effect as indicated in the text of the setting. N is an integer number that controls the number of cycles to inject into the trap as the angle goes from 0 to 360. Each cycle changes the width from 1 to the minimum width and back if Invert Clamp is unchecked, or from the minimum width to 1 and back if Invert Clamp is checked. Those settings that require an even number of cycles use 2N cycles rather than N. The Pinch settings use a minimum trap width of 0 within the cycle. The Pulse setting allows you to set the minimum trap width; the Amplitude S. The Pinch and Alternate Pinch differ in that the Alternate Pinch flips the inside and outside of the trap every cycle. This can be seen by setting Peak (see below) to Constant. When applied to a Circle trap, for example, the result looks like a twisted ribbon.
Peak is one of the following:
Peak Arg (S) and Peak Arg (N), or S and N for short, are used by some of the settings to vary the effect as indicated in the text of the setting. Peak of Center (the default) displays the highlight down the center of the trap. Changing Peak to Constant, moves the highlight toward the inside edge if S<0 or the outside edge if S>0. Wave moves the peak in a sine wave as the angle goes from 0 to 360. N is the integer number of cycles in the wave pattern and S is the Amplitude of the wave. The remaining settings generate Wave variations.
Copyright © 2004-2019 Ross Hilbert