###hue3 ###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) ############################## ### wuerfel mit vektoren erstellt center = [0, 0, 0] side_length = 10 half_length = side_length / 2 #vektoren der 8 ecken 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 verschieben vertices = [rs.VectorAdd(vec, center) for vec in base_vectors] rs.AddPoints(vertices) #punkte innerhalb num_random_points = 3000 for _ in range(num_random_points): x = random.uniform(-half_length, half_length) + center[0] y = random.uniform(-half_length, half_length) + center[1] z = random.uniform(-half_length, half_length) + center[2] rs.AddPoint([x, y, z]) ###kugel 1 def pntRandVec(min_val, max_val): return [random.uniform(min_val, max_val), random.uniform(min_val, max_val), random.uniform(min_val, max_val)] rad = 5.0 vec = [rad, 0, 0] rs.AddPoint(vec) anz = 32 * 3 deltaangle = 360 / anz center = [5, 3, 7] #punke for i in range(2000): vecX = rs.VectorRotate(vec, deltaangle * i, pntRandVec(-1, 1)) vecX = rs.VectorScale(vecX, random.uniform(0, 1)) vecX = rs.VectorAdd(vecX, center) point = rs.AddPoint(vecX) #farbe color = [0, 0, random.randint(100, 255)] # Blau rs.ObjectColor(point, color) ###kugel 2 rad2 = 7.0 vec2 = [rad2, 0, 0] center2 = [-4, 3, -7] anz2 = 32 * 4 deltaangle2 = 360 / anz2 rs.AddPoint(vec2) for i in range(2000): vecX2 = rs.VectorRotate(vec2, deltaangle2 * i, pntRandVec(-1, 1)) vecX2 = rs.VectorScale(vecX2, random.uniform(0, 1)) vecX2 = rs.VectorAdd(vecX2, center2) point2 = rs.AddPoint(vecX2) color2 = [0, random.randint(100, 255), 0] rs.ObjectColor(point2, color2) ###kugel 3 rad3 = 3.0 vec3 = [rad3, 0, 0] center3 = [1, 6, 2] anz3 = 32 * 4 deltaangle3 = 360 / anz3 rs.AddPoint(vec3) for i in range(2000): vecX3 = rs.VectorRotate(vec3, deltaangle3 * i, pntRandVec(-1, 1)) vecX3 = rs.VectorScale(vecX3, random.uniform(0, 1)) vecX3 = rs.VectorAdd(vecX3, center3) point3 = rs.AddPoint(vecX3) color3 = [random.randint(100, 255), 0, 0] rs.ObjectColor(point3, color3)