词条 | Fractal-generating software |
释义 |
Fractal generating software creates mathematical beauty through visualization. Modern computers may take seconds or minutes to complete a single high resolution fractal image. Images are generated for both simulation (modeling) as well as random fractals for art. Fractal generation used for modeling is part of realism in computer graphics.[2] Fractal generation software can be used to mimic natural landscapes with fractal landscapes and scenery generation programs. Fractal imagery can be used to introduce irregularity to an otherwise sterile computer generated environment.[3] Fractals are generated in music visualization software, screensavers and wallpaper generators. This software presents the user with a more limited range of settings and features, sometimes relying a series pre-programmed variables. Because complex images can be generated from simple formula fractals are often used among the demoscene.[3] The generation of fractals such as the Mandelbrot set is time-consuming and requires many computations, so it is often used in benchmarking devices.[4] HistoryThe generation of fractals by calculation without computer assistance was undertaken by German mathematician Georg Cantor in 1883 to create the Cantor set.[5] Throughout the following years, mathematicians have postulated the existence of numerous fractals. Some were conceived before the naming of fractals in 1975, for example, the Pythagoras tree by Dutch mathematics teacher Albert E. Bosman in 1942. The development of the first fractal generating software originated in Benoit Mandelbrot's pursuit of a generalized function for a class of shapes known as Julia sets. In 1979, Mandelbrot discovered that one image of the complex plane could be created by iteration. He and programmers working at IBM generated the first rudimentary fractal printouts.[6] This marked the first instance of the generation of fractals by non-linear creations laws or 'escape time fractal'.[7][8] Loren Carpenter created a two-minute color film called Vol Libre for presentation at SIGGRAPH in 1980.[9] The October 1983 issue of Acorn User magazine carried a BBC BASIC listing for generating fractal shapes by Susan Stepney (now Professor of Computer Science at the University of York.[10][11] She followed this up in the March 1984 Acorn User with “Snowflakes and other fractal monsters”.[12] Fractals were rendered in computer games as early as 1984 with the release of Rescue on Fractalus!. From the early 1980s to about 1995 hundreds of different fractal types were formulated.[14] The generation of fractal images grew in popularity as the distribution of computers with a maths co-processor or floating-point unit in the central processing unit were adopted throughout the 1990s. At this time the rendering of high resolution VGA standard images could take many hours to render.{{citation needed|date=May 2017}} Fractal generation algorithms display extreme parallelizability. Consequently, the adoption of graphics processing units in computers has greatly increased the speed of rendering and allowed for real-time changes to parameters that were previously impossible due to render delay.[13] Fractal-generating software was rewritten to make use of multi-threaded processing. 3D fractal generation emerged around 2009 online. An early list of fractal-generating software was compiled for the book titled Fractals: The Patterns of Chaos by John Briggs published in 1992.[14] Leading writers in the field include Dietmar Saupe, Heinz-Otto Peitgen and Clifford A. Pickover. MethodsThere are two major methods of two dimensional fractal generation. One is to apply an iterative process to simple equations by generative recursion.[5] Dynamical systems produce a series of values. In fractal software values for a set of points on the complex plane are calculated and then rendered as pixels. This computer-based generation of fractal objects is an endless process. In theory, images can be calculated infinitely but in practice are approximated to a certain level of detail.[15] Mandelbrot used quadratic formulas described by the French mathematician Gaston Julia.[16] The maximum fractal dimension that can be produced varies according to type and is sometimes limited according to the method implemented. There are numerous coloring methods that can be applied. One of earliest was the escape time algorithm.[16] Colour banding may appear in images depending on the method of coloring used as well as gradient color density. Some programs generate geometric self-similar or deterministic fractal such as the Koch curve. These programs use an initiator followed by a generator that is repeated in a pattern. These simple fractals originate from a technique first proposed in 1904 by Koch.[17] The other main method is with Iterated Function Systems consisting of a number of affine transformations.[18] In the first method each pixel in a fractal image is evaluated according to a function and then coloured, before the same process is applied to the next pixel. The former method represents the classical stochastic approach while the latter implements a linear fractal model.[19] Using recursion allowed programmers to create complex images through simple direction.[20] Three dimensional fractals are generated in a variety of ways including by using quaternion algebra.[21] Fractals emerge from fluid dynamics modelling simulations as turbulence when contour advection is used to study chaotic mixing.{{citation needed|date=May 2017}} The Buddhabrot method was introduced in 1993. Programs might use fractal heightmaps to generate terrain. Fractals have been generated on computers using the following methods: Menger sponge, Hypercomplex manifold, Brownian tree, Brownian motion, Decomposition, L-systems, Lyapunov fractals, Newton fractals, Pickover stalks and Strange attractors. {{see also|Chaos game}}FeaturesMany different features are included in fractal-generating software packages. A corresponding diversity in the images produced is therefore possible. Most feature some form of algorithm selection, an interactive image zoom, and the ability to save files in JPEG, TIFF, or PNG format, as well as the ability to save parameter files, allowing the user to easily return to previously created images for later modification or exploration. The formula, parameters, variables and coloring algorithms for fractal images can be exchanged between users of the same program. There is no universally adopted standard fractal file format. One feature of most escape time fractal programs or algebraic-based fractals is a maximum iteration setting. Increasing the iteration count is required if the image is magnified so that fine detail is not lost. Limiting the maximum iterations is important when a device's processing power is low. Coloring options often allow colors to be randomised. Options for color density are common because some gradients output hugely variable magnitudes resulting in heavy repetitive banding or large areas of the same color. Because of the convenient ability to add post-processing effects layering and alpha compositing features found in other graphics software have been included. Both 2D and 3D rendering effects such as plasma effect and lighting may be included. Many packages also allow the user to input their own formula, to allow for greater control of the fractals, as well as a choice of color rendering, along with the use of filters and other image manipulation techniques. Some fractal software packages allow for the creation of movies from a sequence of fractal images. Others display render time and allow some form of color cycling and color palette creation tools. {{ external media| float = | width = 360px | image1 = Cover of Scientific American, August 1985 | video1 = [https://vimeo.com/5810737 Vol Libre] 1980 by Loren Carpenter | video2 = [https://vimeo.com/90635890 Planetary Zoom] 2014 by Ken Musgrave | video3 = [https://www.youtube.com/watch?v=w1-xFJf5sLA Realtime escape-time fractal rendering] with a GPU | video4 = [https://www.youtube.com/watch?v=T8-DLB9goyQ Four-dimensional raytraced animation] in POV-Ray }} Standard graphics software (such as GIMP) contains filters or plug-ins which can be used for fractal generation. Blender contains a fractal (or random) modifier. Many stand-alone fractal-generating programs can be used in conjunction with other graphics programs (such as Photoshop) to create more complex images. POV-Ray is a ray tracing program which generates images from a text-based scene description that can generate fractals. Scripts on 3ds Max and Autodesk Maya can be used. A number of web-based interfaces for the fractal generation are freely available including Turtle Graphics Renderer.[22] Fractal Lab can generate both 2D and 3D fractals and is available over the web using WebGL.[23] JWildfire is a java-based, open-source fractal flame generator.[24] Mandelbrot Fractal is a fractal explorer written in Javascript.[25] Fractal Grower is software written in Java for generating Lindenmayer Substitution Fractals (L-systems).[26] ProgramsBecause of the butterfly effect, generating fractals can be difficult to master. A small change in a single variable can have a unpredictable effect. Some software presents the user with a steep learning curve and an understanding of chaos theory is advantageous. This includes the characteristics of fractal dimension, recursion and self-similarity exhibited by all fractals. There are many fractal generating programs available, both free and commercial. Notable fractal generating programs include:
Most of the above programs make two-dimensional fractals, with a few creating three-dimensional fractal objects, such as quaternions, mandelbulbs and mandelboxes. Mandelbulber is an experimental, cross platform open-source program that generates three-dimensional fractal images.[27] Mandlebulber is adept at producing 3D animations.[28] Mandelbulb 3D is free software for creating 3D images featuring many effects found in 3D rendering environments.[29] Incendia is a 3D fractal program that uses Iterated Function Systems (IFS) for fractal generation.[30] Visions of Chaos, Boxplorer and Fragmentarium also render 3D images. The open source GnoFract 4D is available.[31] ChaosPro is freeware fractal creation program.[32] Fraqtive is an open source cross platform fractal generator.[33] MandelX is a free programs for rendering fractal images on Windows.[34] WinCIG, Chaoscope, Tierazon, Fractal Forge and Malsys also generate fractal images. See also{{Portal|Visual arts|Computer graphics|Mathematics}}
References1. ^{{cite book |title=Fractal Worlds: Grown, Built, and Imagined |last=Frame |first=Michael |author2=Amelia Urry |year=2016 |publisher=Yale University Press |isbn=978-0300197877 |page=129 |url=https://books.google.com.au/books?id=hlKODQAAQBAJ |accessdate=5 May 2017}} 2. ^{{cite book |title=Fractal Geometry and Computer Graphics |chapter=Linear Cellular Automata, Substitutions, Hierarchical Iterated Function Systems and Attractors |last=F. v. |first=Haeseler v. |author2=H.-O Peitgen |author3=G. Skordev |editor1-first=Jose L. |editor1-last=Encarnacao |editor2-first=Heinz-Otto |editor2-last=Peitgen |editor3-first=Georgios |editor3-last=Sakas |editor4-first=Gabriele |editor4-last=Englert |year=2012 |publisher=Springer Science & Business Media |isbn=9783642956782 |page=3 |chapter-url=https://play.google.com/store/books/details?id=Ep3zCAAAQBAJ |accessdate=7 May 2017}} 3. ^{{cite web |url=https://www.theverge.com/2012/5/14/3014698/assembly-4k-demoscene-fractals |title=This 4-kilobyte demo squeezes a universe of fractals into the size of a Word document |author=Janus Kopfstein |date=14 May 2014 |work=The Verge |publisher=Vox Media |accessdate=5 March 2017 }} 4. ^{{cite book |title=Parallel Computing Technologies: 12th International Conference, PaCT 2013, St. Petersburg, Russia, September 30-October 4, 2013, Proceedings |last=Malyshkin |first=Victor |year=2013 |publisher=Springer |isbn=9783642399589 |page=267 |url=https://play.google.com/store/books/details?id=y8m7BQAAQBAJ |accessdate=7 May 2017}} 5. ^1 {{cite web |url=http://natureofcode.com/book/chapter-8-fractals/ |title=Chapter 8. Fractals |author=Daniel Shiffman |work=The Nature of Code |accessdate=5 March 2017 }} 6. ^{{cite book |title=Chaos: Making a New Science |last=Gleick |first=James |year=1987 |publisher=Cardinal |isbn=978-0143113454 |pages=222–223 |title-link=Chaos: Making a New Science }} 7. ^{{cite web |url=http://soft.vub.ac.be/~tvcutsem/teaching/wpo/grafsys/ex5/les5.html |title=Session 5 - Escape-Time Fractals |author=Tom Van Cutsem |accessdate=7 March 2017 }} 8. ^{{cite book |title=Learning and Teaching Mathematics using Simulations: Plus 2000 Examples from Physics |last=Röss |first=Dieter |year=2011 |publisher=Walter de Gruyter |isbn=9783110250077 |page=56 |url=https://play.google.com/store/books/details?id=NiBcekT9Ob0C |accessdate=7 May 2017}} 9. ^{{cite web |url=http://www.historyofinformation.com/expanded.php?id=3690 |title=Vol Libre: The First Fractal CGI Movie |date= |work=History of Information |publisher=Jeremy Norman & Co. |accessdate=5 March 2017 }} 10. ^{{cite web |url=https://www-users.cs.york.ac.uk/susan/|title=Susan Stepney Professor of Computer Science, University of York, UK |author=|website= www-users.cs.york.ac.uk |publisher=University of York|access-date=29 December 2018}} 11. ^{{cite web |url=https://www-users.cs.york.ac.uk/susan/bib/ss/au.htm |title= Incredible fractals, pp 37, 39, 41 and 43|last= Stepney |first=Susan |date= October 1983 |website= www-users.cs.york.ac.uk |publisher= AcornUser |access-date=29 December 2018}} 12. ^{{cite web |url= https://www-users.cs.york.ac.uk/susan/bib/ss/au.htm |title= Snowflakes and other monsters , pp 25, 28, 29 |last= Stepney |first= Susan |date= March 1984|website= www-users.cs.york.ac.uk |publisher= AcornUser |access-date=29 December 2018}} 13. ^{{cite arXiv |author1=W.D. Mayfield |author2=J.C. Eilan |author3=T.J. Hu |author4=M.C. Paulsen|author5=B.M. Wyatt |title=Fractal Art Generation using GPUs |eprint=1611.03079 |class=cs.GR |year=2016 }} 14. ^{{cite book |title=Fractals: The Patterns of Chaos |last=Briggs |first=John |year=1992 |publisher=Simon and Schuster |isbn=978-0671742171 |page=182 }} 15. ^{{cite book |title=Fundamentals of Computer Graphics |last=Chen |first=J-N |author2=N M Thalmann |author3=Z-S Tsang |author4=D Thalmann |year=1994 |publisher=World Scientific |isbn=9789814603744 |page=100 |url=https://play.google.com/store/books/details?id=BBC3CgAAQBAJ |accessdate=5 May 2017}} 16. ^1 2 {{cite journal |title=Coloring dynamical systems in the complex plane |author=Francisco Garcia |author2=Angel Fernandez |author3=Javier Barrallo |author4=Luis Martin |date= |publisher=The University of the Basque Country |citeseerx = 10.1.1.393.9370}} 17. ^{{cite book |title=Fractal Surfaces |last=Russ |first=John C. |year=2013 |publisher=Springer Science & Business Media |isbn=978-1489925787 |page=150 |url=https://books.google.com.au/books?id=oEkGCAAAQBAJ |accessdate=5 May 2017}} 18. ^{{Cite journal |last=Chen’ |first=Yan Qiu |author2=Guoan Bi |date=May–June 1997 |title=3-D IFS fractals as real-time graphics model |journal=Computers & Graphics |volume=21 |issue=3 |pages=367–370 |quote= |doi=10.1016/S0097-8493(97)00014-9}} 19. ^1 {{Cite journal |last=Nikiel1 |first=Slawomir S |date=October 1998 |title=True-colour images and iterated function systems |journal=Computers & Graphics |volume=22 |issue=5 |pages=635–640 |id= |quote= |doi=10.1016/S0097-8493(98)00072-7}} 20. ^{{cite book |title=The Beauty of Fractals |last=Peitgen |first=Heinz-Otto |author2=Peter Richter |year=1986 |publisher=Springer-Verlag |isbn=978-0883859711 |page=2 |url=https://books.google.com.au/books?id=Tyfow0KGr7QC |accessdate=7 May 2017}} 21. ^{{Cite journal |last=Leys |first=Jos |date=June 2005 |title=Sphere inversion fractals |journal=Computers & Graphics |volume=29 |issue=3 |pages=463–466 |quote= |doi=10.1016/j.cag.2005.03.011}} 22. ^{{cite web |url=http://kevs3d.co.uk/dev/lsystems/# |title= Turtle Graphics Renderer |accessdate=2 March 2017 }} 23. ^{{cite web |url=http://hirnsohle.de/test/fractalLab/ |title=Fractal Lab |publisher=subblue.com |accessdate=5 March 2017 }} 24. ^{{cite web |url=http://jwildfire.org/ |title=Welcome to the official home of the JWildfire software! |accessdate=7 March 2017 }} 25. ^{{Cite news |url=http://www.pcadvisor.co.uk/download/system-desktop-tools/mandelbrot-fractal-3330919/ |title=Mandelbrot Fractal |author=Mike Williams |accessdate=5 March 2017 |date=17 July 2016 |work=PCAdvisor |publisher=IDG UK }} 26. ^{{cite web |url=http://cs.unm.edu/%7Ejoel/PaperFoldingFractal/paper.html |title=Fractal Grower |publisher=The University of New Mexico |accessdate=6 March 2017 }} 27. ^{{Cite news |url=http://www.linuxjournal.com/content/taking-fractals-page |title=Taking Fractals off the Page |author=Joey Bernard |accessdate=5 May 2017 |date=7 January 2014 |work=Linux Journal }} 28. ^{{cite web |url=https://betanews.com/2013/11/25/generate-spectacular-3d-fractals-with-mandelbulber/ |title=Generate spectacular 3D fractals with Mandelbulber |author=Mike Williams |work=BetaNews |accessdate=5 March 2017 }} 29. ^{{cite web |url=http://mandelbulb.com/2014/mandelbulb-3d-mb3d-fractal-rendering-software/ |title=Mandelbulb 3D (MB3D) Fractal Rendering Software |date=17 January 2014 |publisher=SphereLab |accessdate=7 March 2017 }} 30. ^{{cite web |url=https://www.incendia.net/index.php |title=Incendia |publisher=Ramiro Pérez Clare Nash |accessdate=7 March 2017 }} 31. ^{{cite web |url=https://edyoung.github.io/gnofract4d/ |title=Gnofract 4D |accessdate=2 March 2017 }} 32. ^{{cite web |url=http://www.chaospro.de/ |title=ChaosPro Release 4.0 |accessdate=2 March 2017 }} 33. ^{{cite web |url=http://fraqtive.mimec.org/ |title=Fraqtive |accessdate=2 March 2017 }} 34. ^{{cite web |url=http://falcosoft.hu/ |title=Free software from Falcosoft |date=27 January 2017 |publisher=Falcosoft |accessdate=5 March 2017 }} External links |