1
0
mirror of https://github.com/klmp200/sierpinski-fractales.git synced 2024-12-03 14:31:08 +00:00

Add Readme

This commit is contained in:
Antoine Bartuccio 2017-06-22 11:14:38 +02:00
parent 8de385c556
commit 30d45b7d62
4 changed files with 49 additions and 2 deletions

BIN
Fractal_en.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
MVC_en.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

View File

@ -1,2 +1,49 @@
# Explanation of demo + structure
file -> packages
# MVC pattern
This application follows a MVC (Model-View-Controller) pattern for the GUI communication.
![MVC pattern applied on this project](MVC_en.png)
# Sierpinski's fractals demo
This demo is about Sierpinski's fractals. Those are 3 triangles inside a triangle.
![Agents organization in the fractal demo](Fractal_en.png)
To create this demo, only one agent was required. The idea is to create a main agent and then create 3 other agents in the inner context of the main agent. Then the main agent becomes an event broadcaster and so on and so forth for each fractals newly created.
```Scala
agent Fractal {
...
on Initialize {
if (occurrence.parameters.size >= 2){
// If initialized with arguments
screenSurface = occurrence.parameters.get(0) as Square
positions = occurrence.parameters.get(1) as Positions
if (occurrence.parameters.size.equals(3)){
// If initialized by the GUI
var ctrl = occurrence.parameters.get(2) as FXMLViewerController
guiSpace = defaultContext.createSpace(
OpenEventSpaceSpecification, UUID.randomUUID)
ctrl.setGUISpace(guiSpace)
guiSpace.register(asEventListener)
}
} else {
// If initialized without argument
screenSurface = new Square
positions = new Positions
}
screenWidth = screenSurface.width
this.generatePoints
}
...
}
```
![Application with the GUI](sierpinski_screenshot.png)

BIN
sierpinski_screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB