This book describes and provides instructions for four programs that can be downloaded for free, including complete source code, from my website. These programs are: Vortex - This program creates an image of a vortex plunging into an abyss. A black-and-white checkerboard is distorted in such a way as to give the appearance of a hole into which objects can be sucked. If this pattern is transferred to a large floor covering, examples of which can be seen for sale on the internet, the effect can be striking. Blocks - All you ...
Read More
This book describes and provides instructions for four programs that can be downloaded for free, including complete source code, from my website. These programs are: Vortex - This program creates an image of a vortex plunging into an abyss. A black-and-white checkerboard is distorted in such a way as to give the appearance of a hole into which objects can be sucked. If this pattern is transferred to a large floor covering, examples of which can be seen for sale on the internet, the effect can be striking. Blocks - All you need is a quantity of three slightly differently shaped and colored parallelograms, easily mass produced, to create an impressive 3D illusion. I have seen woodworkers making and selling beautiful cutting boards in this pattern. A little careful veneer work can produce gorgeous covers for wood boxes. This program provides the exact shapes needed, and lets the artist visualize what the end product would look like. The size and shape of the illusory cubes, as well as the viewing angle, can be adjusted by the artist for maximum creative control. Julia - Programs for visualizing Mandelbrot and Julia sets were a dime a dozen in the 90's, and are still somewhat available on the internet. My program goes beyond the common versions in two ways. First, it uses a very advanced algorithm that can produce only binary (such as black and white) images of these sets, but it does so with extreme detail, reaching resolutions far beyond what can be obtained with the usual 'dwell escape' algorithm. Second, it generalizes Mandelbrot and Julia sets to the quaternion (four dimensional) domain, lets the uses define a 3D cross sectional object from the 4D set, and then it uses ray tracing to display this cross section with white or colored lights arrayed in any of several user-defined positions. Julia sets in four dimensions have a strange, almost creepy otherworldly appearance and can make for highly unusual decorative patterns. Lin - Aristid Lindenmayer devised a mathematical language that can be used to describe the growth and structure of plants. Just a few lines of Lindenmayer code can serve to rigorously describe trees, bushes, flowers, and even alien-looking plant-like creations. The Lin program supports three levels of Lindenmayer systems:1) Simple edge replacement algorithms produce snowflake curves, Koch curves, dragon curves, Sierpinski gaskets, and so forth. This primitive but often lovely family of curves makes fabulous decorative ornamentation.2) Two-dimensional axial generation produces flat but interesting plant-like objects, with strikingly realistic branching patterns. These simple plant representations make perfect focal points for handcrafted items.3) Three-dimensional axial generation can produce shockingly realistic plants and flowers, reminiscent of plant sketches made by professional artists and illustrators. The Lin program allows for an almost unlimited number of productions, up to ten different colors for different plant parts, and even up to three different versions of each production, with versions randomly selected according to user-specified probabilities. This lets the artist create entire fields of plants, all of the same 'species', but no two exactly alike. All of these programs run under 64-bit Windows. The source code compiles with Microsoft Visual C++ 2019 and probably most other modern C++ compilers. The executables as well as complete source code can be downloaded for free from my website, TimothyMasters.info. This book provides detailed explanations of the algorithms as well as tutorial examples.
Read Less