###hue4 ###lisa fixl ###dm2 ############################## import rhinoscriptsyntax as rs import random, time, sys ### sys.path.append("P:/") ### add path where "DM_lib.py" can be found !!! sys.path.append("P:/DM2/") ### add path where "DM_lib.py" can be found !!! sys.path.append("P:/WWW/limafi/dm2") ### add path where "DM_lib.py" can be found !!! import DM_lib as dm ### reload(dm) ############################## import random import rhinoscriptsyntax as rs ###wuerfel anz2 = 5 base_side_length = 7.0 growth_factor = 1.5 center = [0, 0, 20] #Punkte innerhalb des Wuerfels num_random_points = 3000 #wuerfel wird exponentiell groesser #erstellt mithilfe von ki for i in range(anz2): side_length = base_side_length * (growth_factor ** i) half_length = side_length / 2 #versetzen der wuerfel in x-richtung offset = [i * (side_length + 2), 0, 0] current_center = rs.VectorAdd(center, offset) #wuerfel erstellt wie in der letzten hu base_vectors = [ [half_length, half_length, half_length], [-half_length, half_length, half_length], [-half_length, -half_length, half_length], [half_length, -half_length, half_length], [half_length, half_length, -half_length], [-half_length, half_length, -half_length], [-half_length, -half_length, -half_length], [half_length, -half_length, -half_length] ] # Eckpunkte vertices = [rs.VectorAdd(vec, current_center) for vec in base_vectors] # punkte rs.AddPoints(vertices) # punkte innerhalb for _ in range(num_random_points): x = random.uniform(-half_length, half_length) + current_center[0] y = random.uniform(-half_length, half_length) + current_center[1] z = random.uniform(-half_length, half_length) + current_center[2] rs.AddPoint([x, y, z]) ###kreis anz2 = 5 base_radius = 3.5 growth_factor = 1.5 center2 = [0, 10, 27] num_points = 2000 #wuerfel wird exponentiell groesser #erstellt mithilfe von ki for i in range(anz2): rad2 = base_radius * (growth_factor ** i) vec2 = [rad2, 0, 0] deltaangle2 = 360 / (32 * 4) # Versetze der kreise offset = [i * (rad2 * 2 + 2), 0, 0] current_center = rs.VectorAdd(center2, offset) rs.AddPoint(vec2) # Punkt zum Visualisieren hinzufgen #punkte for j in range(num_points): vecX2 = rs.VectorRotate(vec2, deltaangle2 * j, rs.VectorCreate([0, 0, 1], [0, 0, 0])) vecX2 = rs.VectorScale(vecX2, random.uniform(0, 1)) vecX2 = rs.VectorAdd(vecX2, current_center) point2 = rs.AddPoint(vecX2) #farbe color2 = [0, random.randint(100, 255), 0] rs.ObjectColor(point2, color2)