############################## ### DM2_w24 hu_03_setUp ### ### _diag / 2024 10 17 ### ### Lea Koraimann ### ############################## import rhinoscriptsyntax as rs import random, math ### ############################### # Parameter cube_size = 80 sphere_radius = 40 num_points_cube = 1000 num_points_sphere = 4000 # Wuerfel hellrosa (RGB) cube_color = rs.CreateColor(255, 182, 193) # hellrosa # Wuerfel def generate_grid_points_in_cube(num_points_per_axis, size): points = [] step = size / (num_points_per_axis - 1) for i in range(num_points_per_axis): for j in range(num_points_per_axis): for k in range(num_points_per_axis): x = -size / 2 + i * step y = -size / 2 + j * step z = -size / 2 + k * step points.append([x, y, z]) return points # Kugel def generate_random_points_in_sphere(num_points, radius): points = [] for _ in range(num_points): a = random.uniform(0, 2 * math.pi) b = random.uniform(0, math.pi) r = radius * (random.uniform(0, 1) ** (1/3)) x = r * math.sin(b) * math.cos(a) y = r * math.sin(b) * math.sin(a) z = r * math.cos(b) + 5 points.append([x + (cube_size / 2 - 5), y, z]) return points # Wuerfel Punkte points_per_axis = int(round((num_points_cube) ** (1/3))) cube_points = generate_grid_points_in_cube(points_per_axis, cube_size) for pt in cube_points: point_id = rs.AddPoint(pt) rs.ObjectColor(point_id, cube_color) # Kugel Puunkte sphere_points = generate_random_points_in_sphere(num_points_sphere, sphere_radius) for pt in sphere_points: rs.AddPoint(pt) ################ rs.ZoomExtents()