From 53160c6c8b4dcef6eb42044df4fa215a4846828b Mon Sep 17 00:00:00 2001 From: Xeon0X Date: Sun, 16 Jun 2024 00:24:39 +0200 Subject: [PATCH] Fix breaking height partially --- main.py | 5 ++++- networks/geometry/Polyline.py | 3 +++ networks/roads_2/Roads.py | 3 +-- output_image.png | Bin 3730 -> 3511 bytes 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index b05bebd..20b6a2a 100644 --- a/main.py +++ b/main.py @@ -450,7 +450,10 @@ image.save('output_image.png') # road = Road([Point3D(-454, 130, 1046), Point3D(-497, 127, 1070), # Point3D(-545, 85, 1019), Point3D(-545, 85, 970), Point3D(-457, 87, 865)], 9) -# road.place() +road = Road(Point3D.insert_3d(random_points, 'y', [random.randint( + 200, 250) for _ in range(n_points)]), 15) + +road.place() # s = Segment2D(Point2D(-88, -12), Point2D(9, 75)) # s.segment_thick(3, LINE_THICKNESS_MODE.MIDDLE) diff --git a/networks/geometry/Polyline.py b/networks/geometry/Polyline.py index 9d067cb..d7cbac5 100644 --- a/networks/geometry/Polyline.py +++ b/networks/geometry/Polyline.py @@ -69,6 +69,9 @@ class Polyline: self.total_line_output.extend( self.segments[self.length_polyline-1].segment()) + self.total_line_output = self.total_line_output[0].optimized_path( + self.total_line_output) + def __repr__(self): return str(self.alpha_radii) diff --git a/networks/roads_2/Roads.py b/networks/roads_2/Roads.py index 2a0a274..af467fb 100644 --- a/networks/roads_2/Roads.py +++ b/networks/roads_2/Roads.py @@ -27,10 +27,9 @@ class Road: self._projection() self._surface() - print(self.polyline_total_line_output) - def _surface(self): # Segments + for i in range(1, len(self.polyline.segments)): if len(self.polyline.segments[i].segment()) > 1: for j in range(len(self.polyline.segments[i].segment_thick(self.width, LINE_THICKNESS_MODE.MIDDLE))): diff --git a/output_image.png b/output_image.png index bf1473ca53f5f11b02d99f42074c0751b1d45c4c..05a9418ef22e14597be6a17b123e29d65ea3f960 100644 GIT binary patch delta 3510 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 wM`=6(`m8YRRNb^Li697qAP9mW2!dqc|FZ