- Metody pro matematické operátory jsou ve třídě `Math`.
Např. odmocnina se vypočítá pomocí statické metody `Math.sqrt()`.
- Volání konstruktoru v konstruktoru se provádí klíčovým slovem `this`.
- Není potřeba volat `toString()`, metoda se zavolá automaticky.
- Konstanta musí být pouze jedna (`static`) a neměnná (`final`).
where `0.001` is the tolerated absolute deviation and **will be defined as the private constant**.
* Create an overloaded `void divide(int depth)` method that divides a triangle into sub-triangles.
The result will be [_Sierpiński triangle_](http://en.wikipedia.org/wiki/Sierpinski_triangle):

*Sierpiński triangles of depth 0 to 4.*
* The `depth` parameter specifies the depth of the division. Zero means no division (we are at the end of recursion), 1 means
that there will be one division of the original triangle, etc.
* If the `depth` is less than or equal to zero, the division will not occur and the method will end.
* Otherwise, the method splits the triangle using the `divide ()` method and recursively tries to split the resulting sub-triangles
until reaching the requested depth.
* Create a constructor with 4 parameters, the fourth parameter represents the division depth.
The constructor calls the previous constructor and then splits the triangle.
4. After starting the `Draw` class, [_Sierpiński triangles_ of depth 4 and a red circle will be drawn on the screen](https://gitlab.fi.muni.cz/pb162/pb162-course-info/wikis/draw-images).
### Hints
- Methods for mathematical operators are in the `Math` class.
E.g. the square root is calculated using the static method `Math.sqrt()`.
- The constructor inside the constructor is called using `this` keyword.
- No need to call `toString()`, the method is called automatically.
- Constant must be only one (`static`) and immutable (`final`).