Upload files to ""
This commit is contained in:
parent
6c8d43b842
commit
adebf2ddc3
|
@ -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')
|
|
@ -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')
|
||||||
|
|
Loading…
Reference in New Issue