Creating beautiful or impressive video based on the


Introduction to Engineering Analysis Assignment - Video for Mandelbrot or related set

You can choose to focus your further efforts in one or more of these areas:

1) Creating a beautiful or impressive video based on the Mandelbrot or a related set. Start with our starting code but you can make as many modifications as you want. We have provided some support for panning and, after you modify the indicated line, for zooming, but you can also try things like rotating frames in the video or using some more complicated function(s) to generate the path of center points of the video or to generate the zoom level or rotation of each frame.  You can also experiment with color or anything else.  The programs ultrafractal and XaoS can be useful in determining a path with interesting features that you want to follow.  Consider starting with the entire Mandelbrot set visible, and then in varying degrees zoom and pan along a path of your choosing.  Alternatively, you can also start your video at any point and zoom level of your choosing.  While we hope your video will have artistic merit, you can also get credit for using interesting math while creating your video.  Use your imagination.  Make sure you highlight the artistic and mathematical merit of your video/programming before you submit your work.  You can use whatever aspect ratio you want, though Cleve Moler only uses a 1:1 (square) aspect ratio and therefore don't be surprised if you need to fix one or more things for some of the code to work properly with other aspect ratios (hint).  While you are doing exploratory work, feel free to reduce resolution and number of frames.  Once you have a better idea of your starting point and your path of panning and zooming, etc., increase the resolution and number of frames, and perhaps depth parameter in order to bring your video to a quality that you are happy with.  If your computer is slower, feel free to use university computers, such as in ENSC Lab 1, at least while finalizing your video.  

2) With the foundational code provided by Cleve Moler as described in the chapter on the Mandelbrot set, if you zoom to a certain level of the video, the resulting frame image becomes somehow grainy and pixelated.  Why does this happen?  You might try zooming into the point -1.5+0i, though you can zoom into a different point if you prefer.  You might want to try doing a sequence of small selection zooms in some of the Mandelbrot images provided by Cleve Moler (via madelbrot.m) for quick demonstrations of the pixilation that occurs. Modify our starting code to allow zooming further into the Mandelbrot set.  You will want to balance the ability to zoom deep into the set with the practical need to keep performance acceptable. At least at first, you may want to disable the use of the c-mex optimization (compiled c-language) as you work on this.  

3) Performance speedup. Improve the performance of video generation and storage by a) making optimizations to the code, b) increasing parallelism by means such as the use of GPU technology and/or spreading computations over a network and/or c) being able, if possible, to starting writing frames generated in parallel to a drive before all frames have been finished (this should hopefully both lower memory consumption and also allow overlapping of i/o with the computation of later frames - note, the code is already structured to allow this when DO_IN_PARALLEL is set to false). 

If you do this performance part of the assignment, report before and after each significant change the execution times and, if applicable, the memory usage of your primary data structures.  Also provide a description of the circumstances under which the optimization(s) should be useful.  An example of an optimization might be varying the depth parameter so that not all frames use the same value for it.  Talk to Craig and maybe Saad if you would like to discuss ideas for optimizations.  You can get credit for optimizing the code with DO_IN_PARALLEL set to false if those optimizations would be difficult or impossible with DO_IN_PARALLEL set to true. 

If you get a chance, try the Frax software available for iOS devices to get an idea of what is possible. Mentioned above as being useful, the program ultrafractal is available from https://www.ultrafractal.com/ and the program XaoS is available from https://sourceforge.net/projects/xaos/.

Attachment:- Assignment Files.rar

Request for Solution File

Ask an Expert for Answer!!
Other Engineering: Creating beautiful or impressive video based on the
Reference No:- TGS02245029

Expected delivery within 24 Hours