Advanced Fractals

FractalX 25th Anniversary Edition in C++ Visual Sudio

Beyond chaos… There is an order…

This program was compiled entirely with Visual C++, using MFC technology and in some cases the Windows API.

Introduction

In 1997 my Mathematics III professor at the university, Eng. Manuel Arevalo, in one of his classes mentioned the subject of fractals, indicating that to quickly reach these graphs one must know how to program and also master operations with complex numbers, that is how I learned about the existence of fractals and embarked on the task of obtaining them.

This is how Fractal X was born, as a program to plot the fractals of the Julia and Mandelbrot set, whose first versions were written in C++ in DOS using the BGI of Borland C++ or also known as Turbo C, but currently(2024) have been updated to run on windows using the WinBGIDLL library. These updated versions of Fractal X can be downloaded for free from the Fractals section.

Later in 1999, I embarked on making a windows version of Fractal X, to make it easier for people to plot fractals, save them as BMP images and export them to AVI videos, using Visual C++ MFC and the windows API.

In the year 2024, on the 25th anniversary of Fractal X, I resumed the project updating the source code to Visual C++ 2017 and adding several improvements, among them: a new algorithm to plot the Julia Quaternions; improved the Fractal Trips option to make it easier to create AVI videos and also only using native functions of the windows API, improved the option to rotate the fractal palette using the +, – and RETURN keys; allowed to save any fractal in a FRX file that occupies very little space; included an option to change the language of the menus (for the moment only English and Spanish), among others.

Technical aspects

FractalX is a powerful program, specially designed to plot fractals, quickly and easily, from the Windows environment.

This program was compiled entirely with Visual C++, using MFC technology and in some cases the Windows API.

It has been almost 21 years since the last update of Fractal X, but better late than never, so I have made an effort to complete the old features that were left unfinished, which I have perfected to the level I wanted them to be at the time I decided to include them.

These are some of the features of Fractal X

  • Graph Julia sets, MandelBrot, Markus-Lyapunov space and Julia Quaternions (3D Fractals). Added “Export a Fractal trip to video” effect that creates an AVI video or a sequence of BMPs with an infinite trip to the center of the fractal.
  • Added “Rotate fractal palette” effect that rotates the color palette linearly, this makes the fractal appear to be animated, it is activated using the +, – keys on the numeric keypad, and the ENTER key to stop the effect.
  • You can save your favorite fractals as BMP files, or also in the FRX format (fractal X native format), which saves the fractal in a few bytes.
  • They have algorithms such as Tesseral X that improves the plotting time of a fractal compared to the classic pixel-by-pixel painting algorithms.
  • It has a user-friendly graphical interface that makes plotting easier.
  • Before generating a fractal you get a preview (small size) to see if it is the fractal you are looking for.
  • You can zoom the graphs (you can zoom in up to the decimal limit of the C++ double type), besides having several ways to zoom in to the place you want to enlarge.
  • After plotting a fractal you can see the exact constants that created it.

Fractal X Preview

Fractal X has a multi-document view (MDI), plus new fractals, fractal travel videos and a color palette rotator.

original FractalX logo, created in 1999
Beyond chaos… There is an order…
This is what the graph control panel looks like
This is the famous Markus – Lyapunov space
This is the Julia Quaternion – c = (-0.08,0.0,-0.8,-0.03)

You can download the software executable for FREE from here:

Get the SOURCE CODE of “FractalX 25th Anniversary Edition” and increase your programming experience:

Source code available in Visual C++ 2017 project.

  • Explore how a Windows software is made in Visual C++, in this code you will find:
    • MFC and Multiple Document Interface (MDI) usage and how it integrates with native C++ code.
    • It has compilation projects defined for 32 bits and 64 bits.
    • Support for multiple languages with UNICODE characters, for now it only supports English and Spanish, but you can customize it to add your own languages.
    • Example of how to link to an external lib library (CImage.lib)
    • A project is included to generate the external library (CImage.lib) for 32 bits and 64 bits.
    • Use of a powerful C++ class, which allows to create AVI videos using native Windows API functions.
    • Explore how to dynamically change the color palette of an image using the CImage.lib library.

Videos made with Fractal X with the Fractal Trip option

Developed by:

JOSE LUIS DE LA CRUZ LAZARO

YACSHA – Software & Desing, since 1999, Lima – Perú
The World of Chaos – EL MUNDO DEL CAOS – Unlimited Programming

History of Fractal X for Windows

Version 2.0 – 30-V-2024 (FractalX 25th Anniversary Edition)

It’s been almost 21 years since the last update to Fractal I decided to include them, below I will list the main changes made: 7

30-V-2024

  • Improvement: Version history is updated. Old outdated html and txt version histories are removed and replaced with the History.md file in the MarkDown format, which is an easy-to-update and easy-to-read format in a GitHub repository.
  • Improvement: The title is updated to FractalX 25th Anniversary Edition. A fully deserved tribute for this special version of FractalX.
  • Fix: Bug is corrected that did not allow correctly calculating the percentage of progress of the fractal plot, when the blind mode was used with the vertical size of the blind set to 1 pixel
  • Fix: Fix casting in AviUtil library
  • Change compilation date in About Dialog
  • Improvement: The IDR_MAINFRAME toolbar is translated into English
  • Fix: A precision of 19 decimal digits is added in the serialization of the double type parameters, to be able to serialize very small fractals in which several zooms have been made to reach them.
  • Improvement: The Save As option now saves an FRX type file, so to export the fractal as a BMP image the “File/Export BMP” option has been specially created.

29-V-2024

  • Improvement: Support for fractal serialization is added, for which the native Fractal X file with the FRX extension is created. Any fractal can be saved in a file of the FRX type. Currently only the basic fractal data is serialized. This option is important to save your favorite fractals that you have been delaying exploring, and continue your exploration another time from where you left off.
  • Fix: Fractal Trip Effect Dialog translation is complete Improvement: Translation of some standard texts is improved
  • Fix: Unexpected closure is corrected when clicking on the “AVI Video” or “BMP Image Sequence” checks
  • Improvement: Now if both “AVI Video” and “BMP Image Sequence” checks are disabled, the “Start” button is blocked
  • Improvement: Canceling the Fractal Trip effect is enabled when pressing the Stop button on the toolbar.
  • Fix: Fixed defect that did not allow Fractal Trip Alert1 to be displayed. This error appeared since the area of ​​the region was corrected so that it fits proportionally with the dimensions of the image. Now displays Fractal Trip Alert1 when the fractal has not been zoomed.
  • Improvement: Translate Plot Options Dialog to English
  • Improvement: Multi-language support (English/Spanish) is added to the GUI. For now, only the English and Spanish(original language of Fractal X) languages ​​are added. But the interface is now ready to be easily translated into other languages ​​using the VC++ resource editor.
  • Improvement: The last language selected by the user is saved in a config.ini file. If config.ini is not defined, by default it will start in the English language.

27-V-2024

  • Improvement: Added option to customize the palette seed in the Properties/Image panel
  • Improvement: A help button is displayed next to the “Palette Seed” option with an explanation of how to rotate the color palette dynamically
  • Improvement: The Quaternion plotting algorithm is improved:
    • Improvement: A deficiency that did not allow fractals other than the Quaternion Julia to be plotted is corrected, after this fractal was plotted, both in the main window and in the previous plotting window.
    • Improvement: The “Quaternion Julia” is added as one more fractal to the list of fractals available for graphing.
    • Improvement: Zoom is enabled for the “Quaternion Julia” fractal
    • Improvement: The “Diagrammed/Quaternion” option is removed, which has become obsolete with the previous 2 improvements added.

26-V-2024

  • Improvement: The CQuaternion class is optimized, where:
    • Constant parameters are now used in the functions corresponding to operations between quaternions
    • Now the abs function, to calculate the module of a quaternion, will be declared as a static function of the class, instead of being a global function.
    • Obsolete code is removed
  • Improvement: The Quaternion plotting algorithm is improved:
    • Improvement: The detail precision is optimized and the calculation time of the Quaternion plotting algorithm is reduced, thanks to an improvement in the refinement routine.
    • Improvement: The Quaternion plotting algorithm is improved. NEW ALGORITHM (2024): I thank Alessandro Rosa for providing the basic ideas to develop the quaternion plotting algorithm, faster and with greater detail, than the previous algorithm developed in 2003.
    • Fix: Old bug is corrected in the multiplication of 2 quaternions in the CQuaternion class, now the formulation shown in paulbourke.net is used

24-V-2024

  • Improvement: The old complex.h library is removed, to handle complex number arithmetic, which has been replaced by the standard std::complex library
  • Improvement: Obsolete files related to the handling of complex number arithmetic are removed
  • Improvement: Preview image in properties panel now uses an aspect ratio of 16/9, instead of the old 1.25, so that the preview fractal does not warp when adjusted in preview.
  • Improvements in Toolbars, menus an update website link:
    • Improvement: The main program icon is updated to a 32-bit image. The 16×16 size icon is updated, using the same version and colors of 32×32, but scaled.
    • Improvement: Changed the FractalXDoc icon to the seal fractal icon, which has better quality. This icon is also updated to a 32-bit image. The 16×16 size icon is updated, using the same version and colors of 32×32, but scaled.
    • Improvement: Added the link to the website www.theworldofchaos.com and the link to the main email.
    • Improvement: The old toolbar icons are changed to the new HD icons that come by default in VC++2017. The About icon is changed to the main 16×16 icon with its 24-bit colors.
    • Fix: Obsolete options are removed from the Help menu.
    • Fix: Obsolete bitmaps are removed from resources
    • Fix: The names of the toolbars are displayed when you right-click on them and click the customize button. The name of the toolbar is also displayed if it is undocked from the toolbar section.
  • Improvement: in Image and Parameters tabs in Properties panel
    • Improvement: The interface of the Image tab in the Properties panel is improved. Modern resolutions with 16/9 aspect ratio are added, instead of the old 4/3 resolutions. By default the resolution is set to 1280×720. These resolutions will make it easier to export videos to YouTube and other similar platforms that work with these resolutions.
    • Improvement: The Custom resolution option is added to customize the resolution, which must be applied with the new Apply button.
    • Improvement: The size of the complex plane region is autocorrected so that it is proportional to the aspect ratio of the image.
    • Improvement: The main window is scaled to 1280×720, and the properties panel is placed on the side of this window.
    • Improvement: The default values ​​of Maximum Iteration and Divergence are modified to 750 and 100, respectively. Taking advantage of the fact that computing power is currently higher than at the beginning of the century, they allow us to see greater details in the fractal without experiencing slowness when immersing ourselves in the fractal.

22-V-2024

  • Fix: Fixed unexpected closing, at reopen properties panel. If the properties panel is closed, if it is reopened, it is validated that the window is defined before updating the controls
  • Improvement: Add button “Change all Parameters” in Properties/Parameters Panel. This button allows access to change all the parameters of the fractal from the properties panel, which until now was accessible only from the Diagramming/Diagram menu
  • Remove old controls in Properties/Parameters Dialog
  • Improvement: Real-time visualization of the Julia Set is implemented on the Mandelbrot Set. When you activate this option, hover the mouse cursor over the Mandelbrot Set in the main window, and in the properties window you will see the Julia Set associated with the mouse coordinate. To plot the selected Julia Set, you must double-click in the main window. This option only works with the Mandelbrot Set enabled
  • A help button is displayed next to the check “Visualize Julia Set in real time” with an explanation of how to generate the Julia Set.
  • Fix: Show toolbar an menu options, tooltips in status bar
  • Improved: In Zoom and main GUI
    • The default context menu is removed, to facilitate canceling the zoom with right click
    • Zoom cancellation is enabled with the ENTER key
    • Help texts (tooltip) are added when selecting the “Rotate the fractal palette” option
    • Julia button is removed from the Properties window, since it was obsolete and had no assigned functionality
  • When the “Rotate the fractal palette” option is used, after pressing the enter key, the state of the last index of the “Fractal palette” is saved, so that when the option is used again the palette will begin to rotate from the index where it stayed, the last time the option was applied
  • Fix: Palette is no longer altered after changing the image size
  • Update the version number and build to 64 bit

21-V-2024

  • Improvements in the handling of pointers and variables

18-V-2024

  • Improves in “Rotate fractal palette” option
    • The name of the “Animar fractal” function has been changed to “Rotate fractal palette”, which now allows you to define the direction of rotation of the palette, positive if the + (numpad) key is pressed or negative if the key – (numpad) is pressed
    • Several corrections are made to the way FractalX worked with BMP images with a 256-color palette, to be able to adapt them to the palette rotation style with which Fractal X BGI already works. All this using the IMG::CImage class by Alejandro Aguilar Sierra, whom we thank for having created this great library.
    • The format of FractalX.rc is changed from UNICODE to ANSI, so that github recognizes the diff as text and not as binary
  • Improves in “Export a Fractal trip to video” option:
    • The AviUtil library is added and improved to create an AVI video (without compression) using the Windows API and stop depending on the third-party program bmp2avi.exe
    • The “Sumergirse en fractal” option is renamed to “Export a Fractal trip to video”
    • The “Sumergirse en fractal” option is adapted to work with the library
    • The “Seleccionar el tipo de compresion del video” option is disabled, while investigating how to correctly enable compression with AviUtil.

17-V-2024

  • Improvement: Fixed some issues with the “Sumergirse Fractal” option:
    • The exported bmp files were not saved when the avi file to be exported was not defined. Now you are asked to select the location of the avi file before starting.
    • When a value greater than 100 was used for the amplifications parameter, the order of the frames in the resulting avi video was altered. Now bmp files are used with a consecutive number as a suffix in their name, which now has 6 digits and is padded with zeros on the left, so that the bmp frames are correctly ordered alphabetically, in the destination folder.
    • The operation of the “Show video when finished” check is enabled

Migrate the project to Visual C++ 2017

17-V-2024

  • Minor changes to vcxproj
  • Update code format
  • Fixed defect that closed the program when the properties window was closed and reopened from the View menu
  • Compilation in Debug must be done with cimage.lib also run in debug mode or unexpected error windows will appear when debugging the application
  • Opening and saving the fractal as a bmp file is re-implemented in the CFractalXDoc class. This feature had been temporarily disabled.
  • The default path of the project is now the path where the software executable is created, so that the routine to create an avi video of the trip through the fractal works correctly.

16-V-2024

  • std::vector is used instead of old dynamic pointers
  • Links to “The World of Chaos” email and website are enabled in the About window, although for now they point to the old addresses.
  • The “Zoom/Seleccionar región” and “Zoom/Acercar2X” options are enabled, which had been temporarily disabled due to incompatibility between VC++6 and VC++2017
  • The software already runs correctly in Release, but in Debug there are still some error messages at runtime that need to be corrected, apparently due to not dealing with pointer handling properly.
  • Toolbar bitmaps were saved as 24-bit bmp
  • CImage Library Project: The default arguments of some functions are corrected, it is migrated from using empty const char* text strings to using empty CString text, because the project is now being worked in UNICODE mode, no longer using Multibyte .

15-V-2024

  • Although the software compiles and produces the exe file, the executable does not run correctly
  • CString string handling is changed from Multibyte to UNICODE
  • The CImage Library was also changed to UNICODE
  • Remove obsolete files
  • Cimage Library ported to VC++ 2017 in x64
  • Add Cimage Library – original version for VC++ 6.0

14-V-2024

  • Remove hlp dependences (unfinished project)
  • Remove old files

09-V-2024

  • Start of the Migration project to VC++ 2017

Development in Visual C++ 6.0

Version 1.28a – 27-VI-2003

  • After so much time, I decided to upload the new beta version (still unfinished) of FractalX for Windows. Among the new features that this new version brings we have:
    • Added “Dive into the fractal” effect that creates an AVI video or BMP sequence with an infinite journey to the center of the fractal.
    • We will also find a 3D fractal based on the theory of quaternions (Quaternion Fractal), as well as several improvements in speed and interface.

Version 1.27 – 06-II-2001

06-II-2001

  • Enabling the “Zoom +2X” and “Zoom -2X” buttons on the zoom toolbar to access faster zoom

21-I-2001

  • Optimized the Properties menu.

Version 1.26 – 18-II-2000

18-II-2000

  • An option was added to the “View” menu, to hide or display the “Properties”.
  • The “Image”, “Parameters” and “Diagram” tabs were partially enabled. The view can now be modified from any of the tabs.

17-II-2000

  • The “Diagram” Properties tab was added to “Properties”, from where the fractal to be graphed will be selected, this also has a preview of the fractal to diagram

16-II-2000

  • A Property Sheet named “Properties” (CPropertySheet) was created, which contains the following tabs: “Parameters” (to change the parameters of the current fractal) and “Image” (to change the current size of the view). This is done so that in time you can customize the fractal easier and faster.

13-II-2000

  • Added a dialog box: “Julia Set”, which appears when the MandelBrot beetle is diagrammed, then when you hover over it, the Julia set appears in the box that has the position of the cursor as its seed ( in complex numbers). Then, by double clicking on the beetle, said Julia set is diagrammed.

12-II-2000

  • The daughter windows are now smaller in size (512*384 pixels2), and are displayed at that size (that is, without maximizing), and the same thing happens when a new daughter window is opened.

Version 1.25 – 8-II-2000

08-II-2000

  • The cursor over the client area was changed to a CROSS, and the ZOOM cursor was also modified. The About and Diagram icons were also modified.

07-II-2000

  • A new fractal “The Mandelbrot Scale atandif” was added, which diagrams the Mandelbrot scale but coloring according to the arctangent of the difference of the last 2 complexes of the Mandelbrot sequence, before it diverges.

06-II-2000

  • The history of Fractal history, using html technology.
  • Fractal X for Windows celebrates its first anniversary on February 1, 2000

02-II-2000

  • The “Graphing” menu was renamed the “Diagrammed” menu.
  • Removed the TesseralX and Blind options from the Plot dialog box.
  • The “Layout type” option was added to the “Layout” menu, which shows and modifies the layout options. Currently, there are only 2 types of layout: TesseralX and Persiana, which can now be seen in detail. TesseralX has 3 detailing options, which only serve to show how the plotting algorithm works. The Blind mode can now be displayed clearly, and the number of divisions of the blind can be customized.

27-I-2000

  • The About dialog box has been modified, it now shows the last compilation date and a link has also been added to the author’s email and website. This link is a hypertext that turns red when the pointer is over it, and the pointer changes to a classic IExplorer white hand, the link turns blue when the pointer is outside of it, and the pointer changes back to an arrow. Clicking on the link logically opens the Internet browser or the active mail editor, this was done using the ShellExecute function, which executes a command line or a program registered in the Windows registry.

25-I-2000

  • The “Animate Fractal” option was modified so that the color palette varies every 200 thousandths of a second, creating a sleep function that pauses for that time.
  • The syntactic function recognizer was removed for the moment.

Version 1.24

31-X-1999

  • The above was implemented, but the layout is too much slow.

30-X-1999

  • An attempt was made to implement a syntactic function recognizer entered as a text string using the ifuncade.h utility

After 5 months of not making changes, radical changes begin to be made…..

Version 1.2.3 Beta 3 – (15 to 28)-X-1999

  • Development was migrated to Visual C++ 6.0 version.
  • This version was programmed from scratch, that is, the previous versions helped this new version little, among the routines that were preserved, highlighting that of Zoom (CHerramientaZoom) and the class of complex numbers.
  • Now FractalX is an MDI program, so you can graph several fractals in different windows.
  • Now FractalXView is derived from CScrollView, which achieves see the fractal virtually (if the fractal is larger than the frame window) by using scroll bars.
  • The annoying errors that sometimes appeared in the previous version when the Graph button was pressed no longer exist, and I discovered that it was due to the use of uninitialized or deleted pointers….
  • Includes an increase in the speed of diagramming using the TesseralX algorithm… (Tesseral (created by Chris Taylor) is a plotting algorithm used by Fractin, from which I started to create my own implementation of Tesseral, called TesseralX, which is a notable improvement of the previous algorithm in plotting speed) . To give you an idea, the Mandelbrot beetle is now plotted in less than 1 second.
  • The simple diagramming algorithm is also still used, but Now it is diagrammed in the form of a blind, that is, the fractal appears in screen as if a blind were opened.
  • It was possible to get the messages to display menus, minimize, maximize, etc. to be accepted during the layout
  • Now you can pause or stop the layout during its execution.
  • The CImage class (created by Alejandro Aguilar Sierra and Julian Smart) was further investigated, it was possible to master how to work with bitmaps in 256 colors, which now implements a linear color palette rotator algorithm, this makes the fractal appear to be animated, its use can be seen in the “Animate Fractal” option.

Development in Visual C++ 5.0

Version 1.2.2 – 11-V-1999

  • The Beta version of Lorentz attractors from FractalX for Two It is added, and improved.

Version 1.2.1 – 11-IV-1999

  • Added graphics accelerators to some sets (Mandelbrot and Julia), that is, mathematical functions that used a long time, by simple operations (accelerating the process of graphing).
  • Added an elapsed time indicator to the status bar to graph a fractal.

Version 1.2.0 – 06-IV-1999

  • Update of general information in status bar.
  • The Information dialog box is modified to show information about each set.
  • In the dialog box graph now!!! color can be customized of the fractal (in the preliminary).
  • A lyapunov parameter is added, to customize the minimum value of the lyapunov exponent.

Version 1.1.9 (01 to 03)-IV-1999

  • Bugs brought from version 1.1.0 were fixed, that is, the annoying error that appeared sometimes, after pressing the graph button.
  • Now from data entry, you can select the type of fractal to graph, as well as customize the fractal parameters.
  • New icon for data entry.

Version 1.1.8 – 28-III-1999

  • Now the color painting algorithm of Markus-Hess, to represent the Lyapunov space, with which manages to use almost all colors in 24 bits, with fractals really interesting.
  • Data entry was adapted to contain information about the sequence of the parameter r of the Lyapunov exponent ({a..b})

Version 1.1.7 – 27-III-1999

  • Implementation of the RButonDown event, which disables the current zoom.
  • The three toolbars are located at the top, one after the other, always at the beginning of the program.

Version 1.1.6 – 26-III-1999

  • The Select Fractal dialog box was created, from where Select the type of fractal to graph:
    • JULIA
    • MANDELBROT
    • LYAPUNOV
  • The square zoom routine was improved, now a square is created around the point where the left mouse button was pressed. mouse and it changes size as you drag left or right.
  • The graphing toolbar was created, with all the options to graph, and even a combo to select the fractal algorithm to graph.

Version 1.1.5 – 23-III-1999

  • Modification of the GraficarFractal function, now it can be graphed different sets of fractals (Designed to later add Mandelbrot, Lyapunov, Lorentz attractors, etc.),
  • The routines that inform the user of the status of the graph and to abort graph, they changed the GraficarFractal function to the new function: UpdateControles_PararGrafica, to have more flexibility when working with different sets.
  • The FractalInfo structure was created to contain all the information about the fractal on screen.
  • The routine for graphing Julia sets was encapsulated in the function: Julia, which is invoked from GraficarFractal;
  • The Mandelbrot function was created that graphs the famous “Beetle of Mandelbrot”, which is invoked from GraficarFractal
  • The Lyapunov function was created that graphs the graphs of the sets Lyapunov (Lyapunov Space)…This function is still a Beta, That is, it is not fully implemented.

Version 1.1.4 – 20-III-1999

  • All remaining toolbar buttons are implemented zoom, where perhaps the most interesting button is: “Zoom in 2X” which zooms in on a rectangle that measures a quarter of the client area.
  • To implement the ZoomPrevious button, define:
    • a ComplexPlane structure, which contains the complex coordinates of the complex plane.
    • The member variable m_ZOOMPrevious of the type ComplexPlane is declared, where the complex coordinates used in the previous zoom will be stored.
    • The SaveCurrentComplexPlane function, which saves the current complex coordinates in m_PreviousZOOM.

Version 1.1.3 – 19-III-1999

  • The expected ORDER is made IN THE CHAOS, that is, the member variables of the view in the CImplementation class, (these variables were previously defined in CMainFrame! A complete disorder!!!!), in addition the GraficarFractal function now becomes member of CImplementation, that is, leaves CFractalXView
  • The Zoom routine is implemented (Until now Rectangular Zoom) in the CHToolZoom class, this new class replaces the obsolete CZoomView, which is discarded, also CHZoomTool It is created especially to manipulate all Zoom routines to come.
  • The file “FractalX Version History.txt” is created
  • A new button is added to the Zoom Toolbar: Zoom Previous
  • The Zoom menu is created, and the Zoom commands are created:
    • Rectangular Zoom
    • Square Zoom
    • Fit on Screen
    • Zoom in 2X
    • Zoom out 2X
    • Zoom Previous
    • Implemented for Zoom purposes:
    • left selection (for rectangular zoom).
    • right selection (Drag to the right)
    • Left selection (Drag to the left) before only Right selection worked
  • The “Rectangular Zoom” button is implemented, which selects a region rectangular for Zoom effects, the zoom is done by clicking within the rectangular area

Version 1.1.2 – 18-III-1999

  • The Zoom toolbar was created, with 5 buttons:
    • Rectangular Zoom
    • Square Zoom
    • Fit on Screen
    • Zoom in 2X
    • Zoom out 2X
  • The CZoomView class derived from CView was created to manipulate the Zoom routines, but without success.

Version 1.1.1 – 14-III-1999

  • Second Success: The preview is retrieved by declaring a pointer to the view from CGraficarDlg, and thus calling the GraficarFractal function.
  • Changed GraphFractal now takes 2 new arguments a pointer to the CMainFrame class, and a pointer to the CDocument Class.

Version 1.1.0 – 07-III-1999

First success:

  • It is possible to serialize the View, using the CImage class, although it has been missed the preview and the Zoom routines were disabled.
  • The GraphFractal function is now a member of CFractalXView, so that it can handle the CDocument Class where CImage is declared (something that could not be done from CMainFrame)

Prior to Version 1.1.0 (04 to 06)-III-1999

  • The possibility of serializing fractals as bitmaps is analyzed (*.bmp) 24 bits.
  • The Cimage class is investigated which can work with bmp gif and jpg, this is about coupling this class to FractalX

Version 1.0.5 – 21-II-1999

  • The m_ProgresoFractalCtr control (CProgressCtrl Control) is added CMainFrame member to monitor the progress of the fractal, this control is visible in the status bar only when plotting a fractal.
  • A fractal percentage indicator is added to the status bar (from 0% to 100%) that measures the percentage of the fractal

Version 1.0.6 – 20-II-1999

  • Implementation of the Plot / select Color command
  • Color button that responds to the SelectColor command from the menu Graph
  • Modification of the GraficarFractal function, now you can customize the range of colors to use, and you can also stop the loop that plots the fractal in the view, doing just a click on the view.
  • The “Complex Plan” tab is added to the options.

Version 1.0.4 – 17-II-1999

  • Buttons are added:
    • Enter Complex Number
    • Complex plane area
    • Options that respond to the Chart menu commands
  • Creating a CMainFrame member Combo control (m_ComboZoomCtr) that restores the view to 100% (View Full Fractal) or 50% (View Fractal Centered in Half), this is very useful after having zoomed in when you want to return to the initial view.

Version 1.0.3 – 15-II-1999

  • Black Background is added to the view.
  • Zoom implementation, by clicking on the View, they were edited the functions OnLButton,OnMouseMove, and the Rectangle function was created CFractalView member, to view the Zoom rectangle.
  • For Zoom purposes, the Zoom.cur cursor was created, it is visible at the time of zoom.
  • Modification of the About and creation of the program icon, The author’s logo is also added.

Version 1.0.2 – 14-II-1999

  • Implementation of the option Graph Fractal/Area of ​​the Complex Plane
  • Implementation of the Graph Fractal/Options option that shows the program options (only the Graph tabs were implemented and Preliminary)
  • An indicator of the complex number that is added to the status bar is being graphed.
  • A cursor position indicator is added to the status bar in the coordinates of the complex plane.

Version 1.0.1 – 08-II-1999

  • Implementation of the Chart menu
  • Implementation of the Graph/Enter complex number option where the user enters C (for Julia sets)
  • Creation of the GraficarFractal member function of CMainFrame with which the fractal is graphed by invoking it in CFractalXView
  • Implementation of a preliminary fractal to be graphed in the box Dialog (CGraficarDlg) Enter a complex number (This is updates when you click on the Preliminary box)

Version 1.0.0 – 01-II-1999

  • SDI document that graphs the Julia sets (Z=Z^2+C) with C=-1 (Dragon of Saint Mark)

Prior to FractalX 1.0.0 for Windows

27-I-1999

  • Creation of the complex.h header

23-IV-1998

  • FractalX 1.1 for DOS, created in Borland C++ 3.1 for DOS by author.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button