Rename files

This commit is contained in:
2024-05-27 22:18:44 +02:00
parent db3a8b24c1
commit ba78bb4537
7 changed files with 35 additions and 32 deletions

View File

@@ -1,15 +1,15 @@
import networks.roads.lines.Line as Line import networks.roads.lines.Line as Line
import networks.roads.lanes.Lane as Lane import networks.roads.lanes.Lane as Lane
from gdpc import Editor, Block, geometry from gdpc import Editor, Block, geometry
import networks.geometry.curve as curve import networks.geometry.curve_tools as curve_tools
import networks.geometry.CurveSurface as CurveSurface import networks.geometry.Strip as Strip
import networks.geometry.segment as segment import networks.geometry.segment_tools as segment_tools
import numpy as np import numpy as np
import json import json
from buildings.Building import Building from buildings.Building import Building
import random import random
from networks.geometry.point import curved_corner_intersection from networks.geometry.point_tools import curved_corner_intersection
editor = Editor(buffering=True) editor = Editor(buffering=True)

View File

@@ -1,28 +1,28 @@
import networks.geometry.curve as curve import networks.geometry.curve_tools as curve_tools
import networks.geometry.segment as segment import networks.geometry.segment_tools as segment_tools
import numpy as np import numpy as np
class CurveSurface: class Strip:
def __init__(self, points, reshape=True, spacing_distance=10): def __init__(self, points, reshape=True, spacing_distance=10):
self.points = np.array(points) self.points = np.array(points)
if reshape: if reshape:
self.resolution, self.length = curve.resolution_distance( self.resolution, self.length = curve_tools.resolution_distance(
self.points, spacing_distance=spacing_distance) self.points, spacing_distance=spacing_distance)
self.curve = curve.curve(self.points, self.resolution) self.curve = curve_tools.curve(self.points, self.resolution)
else: # Point can also be given already in curved form else: # Point can also be given already in curved form
self.curve = self.points self.curve = self.points
def compute_curvature(self): def compute_curvature(self):
self.curvature = curve.curvature(self.curve) self.curvature = curve_tools.curvature(self.curve)
def compute_surface_perpendicular(self, width, normals): def compute_surface_perpendicular(self, width, normals):
self.offset_left = curve.offset(self.curve, width, normals) self.offset_left = curve_tools.offset(self.curve, width, normals)
self.offset_right = curve.offset(self.curve, -width, normals) self.offset_right = curve_tools.offset(self.curve, -width, normals)
self.perpendicular_segment = [] self.perpendicular_segment = []
for i in range(len(self.offset_left)): for i in range(len(self.offset_left)):
self.perpendicular_segment.append(segment.discrete_segment( self.perpendicular_segment.append(segment_tools.discrete_segment(
self.offset_left[i], self.offset_right[i], pixel_perfect=False)) self.offset_left[i], self.offset_right[i], pixel_perfect=False))
self.surface = [] self.surface = []
@@ -45,14 +45,14 @@ class CurveSurface:
self.surface[i].append([]) self.surface[i].append([])
for k in range(len(self.perpendicular_segment[max_length_index])-1): for k in range(len(self.perpendicular_segment[max_length_index])-1):
self.surface[i][j].append(segment.discrete_segment( self.surface[i][j].append(segment_tools.discrete_segment(
self.perpendicular_segment[max_length_index][k], self.perpendicular_segment[min_length_index][round(k * proportion)], pixel_perfect=False)) self.perpendicular_segment[max_length_index][k], self.perpendicular_segment[min_length_index][round(k * proportion)], pixel_perfect=False))
def compute_surface_parallel(self, inner_range, outer_range, resolution, normals): def compute_surface_parallel(self, inner_range, outer_range, resolution, normals):
self.left_side = [] self.left_side = []
self.right_side = [] self.right_side = []
for current_range in range(inner_range * resolution, outer_range * resolution): for current_range in range(inner_range * resolution, outer_range * resolution):
self.left_side.append(curve.offset( self.left_side.append(curve_tools.offset(
self.curve, current_range/resolution, normals)) self.curve, current_range/resolution, normals))
self.right_side.append(curve.offset( self.right_side.append(curve_tools.offset(
self.curve, -current_range/resolution, normals)) self.curve, -current_range/resolution, normals))

View File

@@ -1,5 +1,5 @@
import numpy as np import numpy as np
import networks.geometry.segment as segment import networks.geometry.segment_tools as segment_tools
from scipy import interpolate from scipy import interpolate
from math import sqrt from math import sqrt
@@ -83,14 +83,14 @@ def offset(curve, distance, normals):
'Number of normals and number of points in the curve do not match') 'Number of normals and number of points in the curve do not match')
# Offsetting # Offsetting
offset_segments = [segment.parallel( offset_segments = [segment_tools.parallel(
(curve[i], curve[i+1]), distance, normals[i]) for i in range(len(curve) - 1)] (curve[i], curve[i+1]), distance, normals[i]) for i in range(len(curve) - 1)]
# Combining segments # Combining segments
combined_curve = [] combined_curve = []
combined_curve.append(np.round(offset_segments[0][0]).tolist()) combined_curve.append(np.round(offset_segments[0][0]).tolist())
for i in range(0, len(offset_segments)-1): for i in range(0, len(offset_segments)-1):
combined_curve.append(segment.middle_point( combined_curve.append(segment_tools.middle_point(
offset_segments[i][1], offset_segments[i+1][0])) offset_segments[i][1], offset_segments[i+1][0]))
combined_curve.append(np.round(offset_segments[-1][1]).tolist()) combined_curve.append(np.round(offset_segments[-1][1]).tolist())

View File

@@ -1,6 +1,6 @@
import networks.geometry.curve as curve import networks.geometry.curve_tools as curve_tools
import networks.geometry.CurveSurface as CurveSurface import networks.geometry.Strip as Strip
import networks.geometry.segment as segment import networks.geometry.segment_tools as segment_tools
import random import random
@@ -12,10 +12,11 @@ class Lane:
self.surface = [] self.surface = []
def get_surface(self): def get_surface(self):
resolution, distance = curve.resolution_distance(self.coordinates, 6) resolution, distance = curve_tools.resolution_distance(
self.coordinates, 6)
curve_points = curve.curve(self.coordinates, resolution) curve_points = curve_tools.curve(self.coordinates, resolution)
curve_surface = CurveSurface.CurveSurface(self.coordinates) curve_surface = Strip.Strip(self.coordinates)
curve_surface.compute_curvature() curve_surface.compute_curvature()
# Set the road to be flat # Set the road to be flat
@@ -25,9 +26,9 @@ class Lane:
# Compute each line # Compute each line
for distance in range(self.width): for distance in range(self.width):
offset = curve.offset(curve_surface.curve, distance, normals) offset = curve_tools.offset(curve_surface.curve, distance, normals)
for i in range(len(offset)-1): for i in range(len(offset)-1):
line = segment.discrete_segment(offset[i], offset[i+1]) line = segment_tools.discrete_segment(offset[i], offset[i+1])
for coordinate in line: for coordinate in line:
self.surface.append((coordinate, random.choices( self.surface.append((coordinate, random.choices(
list(self.lane_materials.keys()), list(self.lane_materials.keys()),

View File

@@ -1,5 +1,5 @@
import networks.geometry.curve as curve import networks.geometry.curve_tools as curve_tools
import networks.geometry.segment as segment import networks.geometry.segment_tools as segment_tools
import random import random
@@ -10,9 +10,10 @@ class Line:
self.surface = [] self.surface = []
def get_surface(self): def get_surface(self):
resolution, distance = curve.resolution_distance(self.coordinates, 6) resolution, distance = curve_tools.resolution_distance(
self.coordinates, 6)
curve_points = curve.curve(self.coordinates, resolution) curve_points = curve_tools.curve(self.coordinates, resolution)
# Compute the line # Compute the line
@@ -26,7 +27,8 @@ class Line:
pattern_iteration = 0 pattern_iteration = 0
for i in range(len(curve_points)-1): for i in range(len(curve_points)-1):
line = segment.discrete_segment(curve_points[i], curve_points[i+1]) line = segment_tools.discrete_segment(
curve_points[i], curve_points[i+1])
for coordinate in line: for coordinate in line:
block = random.choices( block = random.choices(
list(pattern_materials[pattern_iteration].keys()), list(pattern_materials[pattern_iteration].keys()),