2024-04-15 19:10:26 +02:00
|
|
|
# L-Systèmes
|
|
|
|
|
2024-05-05 18:37:24 +02:00
|
|
|
> Pré-requis : [Python 3](https://www.python.org/) et [Saxon](https://github.com/Saxonica/Saxon-HE)
|
|
|
|
|
2024-04-15 20:43:02 +02:00
|
|
|
## Usage
|
|
|
|
|
|
|
|
Le convertisseur est [converter.py](./converter.py).
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ python converter.py l-systems.csv
|
|
|
|
```
|
|
|
|
|
2024-04-26 22:19:39 +02:00
|
|
|
<!--
|
2024-05-03 02:16:53 +02:00
|
|
|
Pour générer : python converter.py l-systems.csv -o l-systems.xml
|
|
|
|
Pour valider : xmllint --schema l-systems.xsd l-systems.xml 1>/dev/null
|
2024-05-03 02:17:04 +02:00
|
|
|
|
2024-05-03 02:16:53 +02:00
|
|
|
Pour tortue : java -jar saxon-he-10.3.jar -s:l-systems.xml -xsl:tortue.xsl -o:tortue.xml nom=qqch n=10
|
|
|
|
Pour valider : xmllint --schema tortue.xsd tortue.xml 1>/dev/null
|
2024-05-03 02:17:04 +02:00
|
|
|
|
2024-05-03 02:16:53 +02:00
|
|
|
Pour traceur : java -jar saxon-he-10.3.jar -s:tortue.xml -xsl:traceur.xsl -o:traceur.xml
|
|
|
|
Pour valider : xmllint --schema traceur.xsd traceur.xml 1>/dev/null
|
2024-05-04 02:42:50 +02:00
|
|
|
|
|
|
|
Pour SVG : java -jar saxon-he-10.3.jar -s:traceur.xml -xsl:svg.xsl -o:image.svg
|
2024-05-05 21:20:44 +02:00
|
|
|
|
2024-05-06 17:34:56 +02:00
|
|
|
Prof :
|
|
|
|
- snow 5
|
|
|
|
- koch 2
|
|
|
|
- koch1 2
|
|
|
|
- koch2 3
|
|
|
|
- koch3 3
|
|
|
|
- koch4 3 <-- bug centre svg
|
|
|
|
- koch5 4
|
2024-05-06 15:58:57 +02:00
|
|
|
- dragon 12 <-- bug centre svg
|
2024-05-06 17:34:56 +02:00
|
|
|
- sierp 7
|
|
|
|
- gosp6 4
|
|
|
|
- gosp4 2
|
|
|
|
- br1 3 <-- buggé
|
|
|
|
- br2 3 <-- buggé
|
|
|
|
- br3 3 <-- buggé
|
2024-05-06 15:11:14 +02:00
|
|
|
|
2024-05-06 17:34:56 +02:00
|
|
|
- htree 11 <-- buggé
|
2024-05-06 16:22:57 +02:00
|
|
|
|
|
|
|
Bonus :
|
2024-05-06 17:34:56 +02:00
|
|
|
- star 7
|
|
|
|
- moore 3
|
|
|
|
- peano 3
|
|
|
|
- koch8 6
|
|
|
|
|
|
|
|
- pyramid 3
|
|
|
|
- levey 10 <-- bug centre svg
|
|
|
|
- carpet 4
|
|
|
|
- square 4
|
2024-05-06 17:25:27 +02:00
|
|
|
- pentaplexy 3
|
2024-05-06 17:34:56 +02:00
|
|
|
- triangles 3
|
|
|
|
- blocks 2
|
2024-05-06 17:37:27 +02:00
|
|
|
- pentl 3 <-- bug centre svg
|
2024-04-26 22:19:39 +02:00
|
|
|
-->
|
2024-04-26 21:22:36 +02:00
|
|
|
|
2024-05-05 18:37:24 +02:00
|
|
|
Autrement, pour aider à l'utilisation, il est possible d'utiliser le Makefile.
|
|
|
|
|
|
|
|
```sh
|
2024-05-05 19:02:19 +02:00
|
|
|
$ make nom=snow n=3 # génère une image.svg de "snow" avec 3 itérations
|
2024-05-05 18:37:24 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
Il est également possible de le faire étape par étape
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ make generation # génère le fichier XML des L-systèmes
|
2024-05-05 19:02:19 +02:00
|
|
|
$ make tortue nom=snow n=3 # génère tortue.xml de "snow" avec 3 itérations
|
2024-05-05 18:37:24 +02:00
|
|
|
$ make traceur # génère traceur.xml
|
|
|
|
$ make svg # génère image.svg
|
|
|
|
```
|
|
|
|
|
|
|
|
Les fichiers XML des L-systèmes, de la tortue et du traceur sont vérifié
|
|
|
|
avec le fichier XSD lors de la génération.
|
|
|
|
|
2024-04-15 20:43:02 +02:00
|
|
|
## Rapport
|
|
|
|
|
2024-04-15 19:10:26 +02:00
|
|
|
<!-- TODO: Push le PDF uniquement quand il est finalisé. -->
|
2024-04-15 20:43:02 +02:00
|
|
|
|
|
|
|
Le rapport se trouve dans le dossier [report](./report/).
|