feat: init project with docs, CLAUDE.md, and empty python script
This commit is contained in:
1 parent
bf116ea16f
commit
fabbc6d147
13 files changed
+139
-1
No files matched your search
Generated
+5
@@ -0,0 +1,5 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<settings>
|
||||||
|
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||||
|
<version value="1.0" />
|
||||||
|
</settings>
|
||||||
|
</component>
|
||||||
Generated
+4
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" project-jdk-name="~/development/modellierung-und-simulation-ue1/.venv" project-jdk-type="Python SDK" />
|
||||||
|
</project>
|
||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module external.system.id="pyproject.toml" type="PYTHON_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="jdk" jdkName="~/development/modellierung-und-simulation-ue1/.venv" jdkType="Python SDK" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
<component name="PackageRequirementsSettings" />
|
||||||
|
<component name="PyDocumentationSettings" />
|
||||||
|
<component name="ReSTService" />
|
||||||
|
<component name="TestRunnerService" />
|
||||||
|
</module>
|
||||||
Generated
+8
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/modellierung-und-simulation-ue1.iml" filepath="$PROJECT_DIR$/.idea/modellierung-und-simulation-ue1.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Modellierung und Simulation UE1
|
||||||
|
This project is an exercise for the university course in modelling and simulation.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
The requirements by the professor are saved to docs/requirements.md
|
||||||
|
My interpretation of them is available at docs/docs.md
|
||||||
|
An UML diagram is available at docs/uml.svg
|
||||||
|
|
||||||
|
## Web
|
||||||
|
The web implementation is pure JavaScript
|
||||||
|
|
||||||
|
## Python
|
||||||
|
The python implementation is a single-file script, which can be run on the command line or a Jupyter notebook
|
||||||
@@ -1,2 +1,10 @@
|
|||||||
# modellierung-und-simulation-ue1
|
# Modellierung und Simulation Übung 1
|
||||||
|
Dieses Reposiotry enthält zwei Projekte:
|
||||||
|
1) Im Ordner "python" die Python-Implementierung
|
||||||
|
2) Im Ordner "web" die JavaScript-Implementierung verfügbar und https://sim.teier.net/ue1
|
||||||
|
|
||||||
|
## Python
|
||||||
|
|
||||||
|
|
||||||
|
## Web
|
||||||
|
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
# Zellulärer Automat
|
||||||
|
|
||||||
|
Eigenschaften einer Zelle:
|
||||||
|
Brandfaktor (quasi die “Trockenheit”)
|
||||||
|
Restbrenndauer
|
||||||
|
|
||||||
|
Zustände:
|
||||||
|
Wald: Brandfaktor zwischen 0,1 und 1 (“Trockenheit”), Restbrenndauer konstant
|
||||||
|
Brennend: Brandfaktor irrelevant, Restbrenndauer sinkend
|
||||||
|
Abgebrannt, Brandfaktor 0, Restbrenndauer 0
|
||||||
|
Gelöscht, Brandfaktor 0, Restbrenndauer 0
|
||||||
|
Brandschneise (künstlich oder natürlich wie Wasser), Brandfaktor 0, Restbrenndauer 0
|
||||||
|
|
||||||
|
Die Simulation behandelt die Zustände Brandschneise, Abgebrannt und Gelöscht gleich, aber für die Visualisierung sind diese Zustände interessant
|
||||||
|
|
||||||
|
Nachbarschaft: 8 Zellen
|
||||||
|
|
||||||
|
Faktoren für Verbreitung:
|
||||||
|
Nachbarschaft: direkt mit Gewichtung 1, diagonal mit Gewichtung 0.7 (Moore)
|
||||||
|
Windrichtung: Vektor (x, y)
|
||||||
|
Windstärke: 0-1 (0=kein Wind, 1=Wind so stark, dass er Wahrscheinlichkeit in Windrichtung verdoppelt)
|
||||||
|
|
||||||
|
Windfaktor für Verbreitung:
|
||||||
|
1 + Windstärke * cos(Winkel(Vektorwind, Vektorzellen))
|
||||||
|
|
||||||
|
Entzündungswahrscheinlichkeit eine Zelle:
|
||||||
|
Distanz * Brandfaktor * Windfaktor
|
||||||
|
|
||||||
|
|
||||||
|
Code: https://git.teier.net/teier/modellierung-und-simulation-ue1.git
|
||||||
|
Link: https://sim.teier.net/ue1
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
Ausgangspunkt ist die Idee des zellulären Automaten, wie wir sie am Beispiel des Game of Life kennengelernt haben. Ein Raum wird in Zellen aufgeteilt. Jede Zelle besitzt einen Zustand und verändert diesen in diskreten Zeitschritten aufgrund festgelegter Regeln und der Zustände ihrer Nachbarzellen.
|
||||||
|
|
||||||
|
Entwickelt auf dieser Grundlage ein eigenes Modell für die Ausbreitung eines Waldbrandes.
|
||||||
|
|
||||||
|
Legt zunächst euer Modell fest und beschreibt:
|
||||||
|
|
||||||
|
Welche Zustände kann eine Zelle haben? Zum Beispiel Wald, brennend, abgebrannt, Wasser oder Brandschneise.
|
||||||
|
Welche Nachbarschaft wird verwendet? Vier oder acht angrenzende Zellen?
|
||||||
|
Unter welchen Bedingungen entzündet sich eine Zelle?
|
||||||
|
Was passiert mit einer brennenden Zelle im nächsten Zeitschritt?
|
||||||
|
Welche zusätzlichen Eigenschaften oder Parameter können berücksichtigt werden? zB Trockenheit, Feuchtigkeit, Wind oder Menge Löschwasser?
|
||||||
|
Wie wird der Rand des Modells behandelt?
|
||||||
|
Formuliert die Regeln so genau, dass eine andere Person eure Simulation allein anhand dieser Beschreibung implementieren könnte.
|
||||||
|
|
||||||
|
Setzt das Modell anschließend in Python um. Ihr dürft dafür KI verwenden.
|
||||||
|
|
||||||
|
Führt danach mindestens zwei unterschiedliche Simulationen durch, indem ihr gezielt einen Parameter oder eine Maßnahme verändert, zum Beispiel Trockenheit, Wind, Brandschneisen oder Löschwasser.
|
||||||
|
|
||||||
|
Vergleicht die Ergebnisse und beantwortet abschließend kurz:
|
||||||
|
|
||||||
|
Was lässt sich mit eurem Modell untersuchen? Welche Annahmen und Vereinfachungen habt ihr getroffen? Welche Aspekte eines echten Waldbrandes bildet euer Modell nicht ab? Was musstet ihr bei der Umsetzung mit KI eventuell korrigieren oder präzisieren?
|
||||||
|
|
||||||
|
Abgabe
|
||||||
|
|
||||||
|
Gebt das in einem PDF Dokument oder Colab Notebook mit dieser Struktur ab:
|
||||||
|
|
||||||
|
Modellbeschreibung
|
||||||
|
Python-Code oder einen Link zur lauffähigen Simulation
|
||||||
|
die Ergebnisse eurer beiden Versuche und
|
||||||
|
kurze Reflexion
|
||||||
|
Modus: Einzelarbeit oder Gruppenarbeit (max 2)
|
||||||
|
|
||||||
|
Frist: 9.11. (nächste Einheit)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Do not edit this file with editors other than draw.io -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="background: #ffffff; background-color: var(--ge-adaptive-bg, #ffffff); color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1252px" height="1172px" viewBox="0 0 1252 1172" id="ge-svg-Y9A-iCAgniLj27S3n44-" content="<mxfile host="app.diagrams.net" scale="1" border="0"> <diagram name="Page-1" id="ybR0R8uh0gsWY412Z8hE"> <mxGraphModel dx="1291" dy="2434" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="vpmAtYMeYcpatCYC-Gde-1" parent="1" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" value="" vertex="1"> <mxGeometry height="30" width="30" x="372.5" y="-90" as="geometry" /> </mxCell> <mxCell id="vpmAtYMeYcpatCYC-Gde-2" edge="1" parent="1" source="vpmAtYMeYcpatCYC-Gde-1" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;fontSize=12;defaultLabelBackgroundColor=page;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="vpmAtYMeYcpatCYC-Gde-59" value=""> <mxGeometry relative="1" as="geometry"> <mxPoint x="255" y="280" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="vpmAtYMeYcpatCYC-Gde-7" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;" value="Für jede Zelle" vertex="1"> <mxGeometry height="700" width="1130" x="180" y="150" as="geometry" /> </mxCell> <mxCell id="vpmAtYMeYcpatCYC-Gde-25" edge="1" parent="1" source="vpmAtYMeYcpatCYC-Gde-8" style="edgeStyle=none;curved=1;rounded=0;curveGeometry=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;defaultLabelBackgroundColor=page;startSize=8;endSize=8;" target="vpmAtYMeYcpatCYC-Gde-24"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="vpmAtYMeYcpatCYC-Gde-54" edge="1" parent="1" source="vpmAtYMeYcpatCYC-Gde-8" style="edgeStyle=none;curved=1;rounded=0;curveGeometry=1;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;defaultLabelBackgroundColor=page;startSize=8;endSize=8;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="vpmAtYMeYcpatCYC-Gde-64"> <mxGeometry relative="1" as="geometry"> <mxPoint x="255" y="770" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="vpmAtYMeYcpatCYC-Gde-8" parent="1" style="rhombus;whiteSpace=wrap;html=1;shapeInside=1;" value="Zellenzustand&lt;div&gt;ist brennend?&lt;/div&gt;" vertex="1"> <mxGeometry height="120" width="120" x="195" y="280" as="geometry" /> </mxCell> <mxCell id="vpmAtYMeYcpatCYC-Gde-20" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=100;height=40;" value="Für jeden Moore-Nachbarn" vertex="1"> <mxGeometry height="540" width="440" x="827" y="260" as="geometry" /> </mxCell> <mxCell id="vpmAtYMeYcpatCYC-Gde-40" edge="1" parent="1" source="vpmAtYMeYcpatCYC-Gde-22" style="edgeStyle=none;curved=1;rounded=0;curveGeometry=1;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;defaultLabelBackgroundColor=page;startSize=8;endSize=8;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" target="vpmAtYMeYcpatCYC-Gde-64"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="710" y="680" Line truncated
|
||||||
|
After Width: | Height: | Size: 341 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
[project]
|
||||||
|
name = "modellierung-und-simulation-ue1"
|
||||||
|
version = "0.1.0"
|
||||||
|
requires-python = ">=3.9"
|
||||||
|
dependencies = []
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
Reference in new issue
Block a user