# m = y2-y1/x2-x1 Formel für die Geradensteigung mithilfe aus zwei verschiedenen Punkten der Geraden
returnslope
defplot_polygon(self,title="",render=True):
...
...
@@ -136,20 +138,22 @@ class Polygon2(object):
spine_bottom=self.spine[0]
spine_top=self.spine[1]
help_array=self.shell.copy()
ifhelp_array[0]==help_array[-1]:# falls letztes element doppelt
help_array=help_array[0:-1]
spine_bottom_found=False
spine_top_found=False
spine_bottom_not_horizontal=False
whilespine_bottom_found==False:# Phase 1 der Funktion sie sucht den bottom spine, dabei werden die Ecken die nicht der Spine Bottom sind ans Ende der Liste geschoben
ifhelp_array[0]==spine_bottom:
ifspine_bottom[1]!=help_array[-1][
1]:# checkt ob Spine bottom ein horizontalen Nachbar hat falls ja wird ein Flag gesetzt damit Spine bottomt später nicht in die Rechte mitgenommen wird
ifspine_bottom[1]!=help_array[-1][1]:
# checkt ob Spine bottom ein horizontalen Nachbar hat falls ja wird ein Flag gesetzt damit Spine bottomt später nicht in die Rechte mitgenommen wird
spine_bottom_not_horizontal=True
spine_bottom_found=True
left.append(help_array.pop(0))
else:
help_array.append(help_array.pop(0))
whilespine_top_found==False:# iterieren die Liste erneut durch bis wir spine top finden, falls spine top gefunden wurde wird auch geschaut ob spine top ein horizontalen linken
ifhelp_array[0]==spine_top:# Nachbar hat falls ja wird spine top nicht in die Linke Liste miteingefügt
ifhelp_array[0]==spine_top:# Nachbar hat falls ja wird spine top nicht in die rechte Liste miteingefügt