JavaFx GUI application for drawing fractal shapes
Table of Contents generated with DocToc
Reqirement | |
---|---|
Git | |
Maven | |
Java | |
JavaFx |
- This JavaFx gui application for visualizing fractal images was written as my final graduation work, it's purpose is to demonstrate how fractal shapes are formed. User interface allows user to choose fractal shape and to observe vizualization step by step for famous fractal shapes.
Once you install Git, Maven and JDK 11 proceed with following steps:
Clone git repository:
git clone [email protected]:milanbojovic/fractal-drawer.git
Run the app:
mvn javafx:run
- This application is platform independent, it should run on Windows, Mac, Linux and other systems if Java is installed)
- Select fractal shape from FRACTAL SHAPES LIST
- Click on button: Level ++ to view next iteration in fractal construction
- Click on button: Level -- to view previous iteration in fractal construction
- Fractal dimension is displayed in bottom split pane
Application was written in Java using JavaFX framework, application's graphical interface is completely described in "MainWindow.fxml"
file which can be easily modified using JavaFX Scene builder. Resoucre folder contains .fxml used in presentation layer (JavaFx). Package "tk.milanbojovic.shape"
holds source code for all fractal shapes - it mainly consists of FractalShape
class which is base class and individual derived shape classes eg. PythagorasTree
, Koch Curve
and others which just implementing drawing method for particular shape. All shapes in this application are calculating and drawing states using recursive methods with mechanism to stop recursion at desired level. New shapes could be added easily by deriving base class and redefining draw method.
Fractal dimension is displayed using lightweight HTML 5 browser embedded in bottom split pane of the application - this browser displays math formulas which are generated using MathML language when new shape is displayed on graphical canvas. MathML syntax could be found here.
Full pdf report can be found here (it is written in Serbian language).
MILAN BOJOVIC
Contact: Email: [email protected] LinkedIn: https://rs.linkedin.com/in/mbojovic Skype: milanbojovic