Clifford A. Reiter
Fractals, Visualization and J, Second Edition
Jsoftware, Toronto, August 10, 2000
ISBN 1-895721-18-0
Table of Contents
Preface 1
Getting Ready: Script and Image Files 3
1 Introduction to J and Graphics 5
- Some Arithmetic with J 5
- Lists, Arrays and Trigonometric Functions 7
- Experiment: Plotting Polygons 10
- Constructing Arrays 13
- Experiment: Creating a Raster Image 15
- Object versus Raster Graphics 16
- Defining Functions 17
- On Language 22
- Fancier Nouns and Array Computation 24
- Exercises 27
2 Object Graphics and Fractals 35
- Function Composition and Change of Coordinates. 35
- Experiment: Plotting Time Series, Functions and Curves 39
- More Function Composition 44
- Experiment: The Koch Snowflake 49
- Transformations of the Plane and Homogeneous Coordinates 52
- Experiment: Transformations and Animations 57
- Gerunds and Multiplots 61
- Experiment: Collages of Transformations 64
- Simple Verbs 67
- Exercises 70
3 Fractal Time Series 77
- Statistics and Least Squares Fit 77
- Experiment: Plot Driver 81
- Random Walks 83
- Experiment: Observing Trends 86
- R/S Analysis, the Hurst Exponent, and Sunspots 90
- Autocorrelation Functions 96
- Experiment: Random Midpoint Displacement 99
- Experiment: Fractal Forecasting 102
- Exercises 107
4 Raster Graphics and Fractals 113
- The RGB Color Model 113
- Experiment: Inner Product Fractals 116
- Agenda and the Hailstone Function 122
- Experiment: Probabilistic Iterated Function Systems 124
- Remarks on Iterated Function Systems 129
- Weighted Selection of Random Transformations 131
- Experiment: The Chaos Game 133
- Fractal Dimension 139
- Fractal Dimension via Box Counting 145
- Exercises 147
5 Chaotic Attractors and Symmetry 155
- Experiment: The Logistic Function and Plotting Frequency of Visitation 155
- Adverbs and Conjunctions 161
- Chaotic Attractors in the Plane 165
- Cyclic and Dihedral Symmetry 177
- Iterated Function Systems with Hyperbolic Symmetry 183
- Frieze Patterns 192
- Experiment: Crystallographic Symmetry on a Square Lattice 198
- Crystallographic Symmetry on a Hexagonal Lattice 203
- Experiment: Attractors Near Forbidden Symmetry 210
- Exercises 213
6 Automata and Image Processing 221
- One Dimensional Automata 221
- Fuzzy Logic and Fuzzy Automata 226
- Experiment: The Game of Life 232
- Creating Animation Files 236
- Experiment: Full Color Images 238
- Experiment: Filters for Image Processing 242
- Fast Fourier Transforms and Diffraction Patterns 245
- Experiment: Removing Motion Blur 249
- Image Cross-Correlation 252
- Exercises 255
7 Complex Dynamics and Contour Plots 259
- Experiment: Contour Plots 259
- Plasma Clouds 262
- Inverse Iterated Function Systems 263
- Experiment: The Julia Set 267
- The Mandelbrot Set 269
- Newton's Method in the Complex Plane 271
- Exercises 276
8 Visualization in Three Dimensions 279
- Experiment: Transformations in Three Dimensions 279
- Orthogonal Projection 283
- Experiment: Painter's Algorithm and Surface Plotting 286
- Perspective Projections 288
- Iterated Function Systems in 3-Dimensions 291
- The Lorenz Attractor 293
- Exercises 295
9 Ray Tracing 299
- Experiment: Introduction to POV-Ray 299
- Experiment: The Menger Sponge 304
- Animation 308
- Time Evolution of the Game of Life 309
- Rendering Surfaces 314
- Experiment: A Fractal Mountain 316
- Experiment: Collages Revisited 319
- Experiment: High Dimensional Sierpinski Fractals 323
- Hyperbolic Symmetry Revisited 330
- Exercises 334
10 GUI Programming and Open GL 269
- Open GL Experiment 337
- GUI Programming 341
- A Glance at Open GL 346
- Experiment: The Menger Sponge 350
- Experiment: A Surface from Polygons 351
- Exercises 352
Color Plates 355
Bibliography and References 365
Index 371