Generates the julia set.
The following lists all of the parameters found in the parameter block JuliaParams, which are accessed by the module JuliaGen and the UI Macro JuliaUI.
mandelx | double | x coordinate of point on mandelbrot set |
mandely | double | y coordinate of point on mandelbrot set |
leftx | double | left edge of julia set |
rightx | double | right edge of julia set |
topy | double | top edge of julia set |
bottomy | double | bottom edge of julia set |
max_value | double | "bailout value" for iteration loop |
max_iter | int | maximum number of iterations allowed |
resx | int | horizontal resolution |
resy | int | vertical resolution |
out_fld | Mesh_Unif+Node_Data | output field containing Node_Data combined with a generated uniform Mesh. |
out_obj | DataObjectNoTexture | directly renderable output object |
The julia module generates data that represents a view of the julia set. The location of a rectangular portion of the julia set, the coordinates of the mandelbrot set it is based upon and the limits of the algorithm can be specified through a simple user interface. The number of iterations is output as a single byte of node data. The node data is mapped onto a uniform mesh and output as both Mesh_Unif+Node_Data objects and directly renderable data objects.
mandelx
A member of the JuliaParams parameter block group, this double value is used to specify the horizontal coordinate of the mandelbrot set that is used to generate the julia set.
mandely
A member of the JuliaParams parameter block group, this double value is used to specify the vertical coordinate of the mandelbrot set that is used to generate the julia set.
leftx
A member of the JuliaParams parameter block group, this double value is used to specify the left edge of the julia set. This is the minimum real number that the julia function iterates over.
rightx
A member of the JuliaParams parameter block group, this double value is used to specify the right edge of the julia set. This is the maximum real number that the julia function iterates over.
topy
A member of the JuliaParams parameter block group, this double value is used to specify the top edge of the julia set. This is the maximum imaginary number that the julia function iterates over.
bottomy
A member of the JuliaParams parameter block group, this double value is used to specify the bottom edge of the julia set. This is the minimum real number that the julia function iterates over.
max_value
A member of the JuliaParams parameter block group, this double value is used to specify the "bailout value" used to calculate the julia set. If the magnitude of the iterated function Z(n) exceeds this value then the iteration is stopped and number of iterations taken is stored.
max_iter
A member of the JuliaParams parameter block group, this int value is used to specify the maximum number of iterations allowed while calculating a point in the julia set. If the value of Z(n) is below the "bailout value" after the maximum number of iterations then the magnitude of the function is assumed have reached a steady state and therefore no more iterations need to be performed. The maximum number of iterations possible is 255, and values above this level are ignored.
resx
A member of the JuliaParams parameter block group, this int value is used to specify the horizontal resolution of the julia set.
resy
A member of the JuliaParams parameter block group, this int value is used to specify the vertical resolution of the julia set.
out_fld
The most primitive output field of the julia macro. This contains the julia set represented as Node_Data combined with a generated uniform Mesh.
out_obj
The directly renderable output field of the julia macro. This contains DataObjectNoTexture objects that can be rendered by the standard data viewers. The Data Objects are generated directly from the combined Node_Data and Mesh_Unif.
The low-level JuliaGen module is used in this User Macro julia.
An example application JuliaEg is provided, which generates a large scale portion of the Julia Set and displays it using the Uviewer2D standard data viewer.
iac_proj/julia/jul_macs.v contains the julia User Macro, the JuliaUI UI Macro, and the example application JuliaEg V definitions.
The JuliaMacs library inherits its process. As this library contains no procedural code, the process is not important. The low-level JuliaGen module, executes under the process specified in its library, not the process defined in the high-level library.
Paul G. Lever Andrew Dodd
International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL