From adebf2ddc3a8e4ef0413731f6cc8dbffaa8b950d Mon Sep 17 00:00:00 2001 From: LukasGro Date: Sun, 29 Oct 2023 21:16:41 +0000 Subject: [PATCH] Upload files to "" --- Dreieck.py | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ randomSquare.py | 55 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 Dreieck.py create mode 100644 randomSquare.py diff --git a/Dreieck.py b/Dreieck.py new file mode 100644 index 0000000..c024f84 --- /dev/null +++ b/Dreieck.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +""" +Created on Sun Oct 29 21:51:09 2023 + +@author: Lukas +""" +import drawsvg as draw +import math + +# Mittelpunkt X-Koordinate +x1=0 +# Mittelpunkt Y-Koordinate +y1=0 +# Schlüsselbreite +sb = 50.0000 +#Breite Feld +length=10000 +#Höhe Feld +height = 10000 +#Abstand X +ax=20 +#Abstand Y +ay=30 +#Versatz der Spalten +versatz= 0 +#höhe dreieck +h= 20 + +#breite dreieck +b = 30 + + +#Def +v=0 +g=-1 +r=1 +x=0 +y=0 +f=-1 + +size = sb/math.sqrt(3) + +d = draw.Drawing(length, height, origin=(0, 0)) + +x =x1 +y =y1 +while y <= height: + x=x1+((versatz)*v) + while x <= length: + if f == -1: + d.append(draw.Lines(x, y, x+b, y, x+b/2, y+h, + fill='red', stroke='black', close='true')) + else: + d.append(draw.Lines(x, y+h, x+b, y+h, x+b/2, y, + fill='red', stroke='black', close='true')) + f=-f + x =x+ax + y =y+ay + v= -((1-g)/2) + g=-g + +d.append(draw.Circle(0, 0, 40)) +#plt.show() +d.save_svg('polygon.svg') \ No newline at end of file diff --git a/randomSquare.py b/randomSquare.py new file mode 100644 index 0000000..7159acb --- /dev/null +++ b/randomSquare.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +""" +Created on Sun Oct 29 21:26:14 2023 + +@author: Lukas +""" +import drawsvg as draw +import random + +# Größe der Zeichenfläche +canvas_width = 400 +canvas_height = 400 + +# Anzahl der zufällig erzeugten Rechtecke +num_rectangles = 100 + +# Mindestabstand zwischen den Rechtecken +min_spacing = 5 + +# Erstellen der Zeichenfläche +d = draw.Drawing(canvas_width, canvas_height, origin='center') + +# Funktion zum Erzeugen eines zufälligen Rechtecks mit Abstand +def create_random_rectangle(rectangles): + while True: + x = random.uniform(-canvas_width / 2, canvas_width / 2) + y = random.uniform(-canvas_height / 2, canvas_height / 2) + width = random.uniform(10, 50) + height = random.uniform(10, 50) + + # Überprüfen, ob das neue Rechteck mit den vorhandenen Rechtecken kollidiert + collides = False + for rect in rectangles: + x1, y1, w1, h1 = x, y, width, height + x2, y2, w2, h2 = rect + + if (x1 + w1 + min_spacing < x2 or x2 + w2 + min_spacing < x1 or + y1 + h1 + min_spacing < y2 or y2 + h2 + min_spacing < y1): + continue + collides = True + break + + if not collides: + rectangles.append((x, y, width, height)) + return draw.Rectangle(x, y, width, height, fill='blue') + +# Erzeugen der zufälligen Rechtecke und Hinzufügen zur Zeichenfläche +rectangles = [] +for _ in range(num_rectangles): + random_rectangle = create_random_rectangle(rectangles) + d.append(random_rectangle) + +# Speichern der SVG-Datei +d.save_svg('random_rectangles_with_spacing.svg') +