############################## import rhinoscriptsyntax as rs import random, time, sys ### sys.path.append("/Users/anny.more/Documents/studium/5. semester/DM2") sys.path.append("P:/") import DM_lib as dm ############################## ##################### colours colors = [(255, 0, 0), #rot fuer objekt 1 (kugel) (0, 255, 0), #gruen fuer objekt 2 (wuerfel 1) (0, 0, 255), #blau fuer objekt 3 (wuerfel 2) (255, 255, 0), #gelb fuer objekt 4 (wuerfel 3) (255, 165, 0)] #orange fuer objekt 5 (wuerfel 5) ##################### sphere if 1: vec = [100, 10, 10] #rs.AddPoint( vec ) anz = 10000 #aus wievielen points die kugel besteht rad = 10.0 #welchen radius die kugel hat center = [random.randint(0,10),1900,1900] deltaAngle = 360/anz sphere_points = [] for i in range(anz): angX = deltaAngle*i #print angX vecX = rs.VectorRotate( vec, angX , [random.uniform(-1,1),random.uniform(-1,1),random.uniform(-1,1)] ) #vector, angle_degrees, axis) vecX = rs.VectorScale( vecX, random.uniform( 5,rad) ) vecX = rs.VectorAdd( vecX, center) pt = rs.AddPoint(vecX) sphere_points.append(pt) for pt in sphere_points: rs.ObjectColor(pt, colors[0]) #rot ##################### cube 1 if 1: cube_corner = [50, 150, 150] #eck des wuerfels definieren cube_size = 1000 #laenge des wuerfels definieren points = 5000 #anzahl der points im wuerfel cube1_points = [] for i in range(points): rand_x = random.uniform(cube_corner[0], cube_corner[0] + cube_size) rand_y = random.uniform(cube_corner[1], cube_corner[1] + cube_size) rand_z = random.uniform(cube_corner[2], cube_corner[2] + cube_size) pt = rs.AddPoint([rand_x, rand_y, rand_z]) cube1_points.append(pt) for pt in cube1_points: rs.ObjectColor(pt, colors[1]) #gruen ##################### cube 2 if 1: cube_corner = [500, 1500, 1500] #eck des wuerfels definieren cube_size = 1000 #laenge des wuerfels definieren points = 5000 #anzahl der points im wuerfel cube2_points = [] for i in range(points): rand_x = random.uniform(cube_corner[0], cube_corner[0] + cube_size) rand_y = random.uniform(cube_corner[1], cube_corner[1] + cube_size) rand_z = random.uniform(cube_corner[2], cube_corner[2] + cube_size) pt = rs.AddPoint([rand_x, rand_y, rand_z]) cube2_points.append(pt) for pt in cube2_points: rs.ObjectColor(pt, colors[2]) #blau ##################### cube 3 if 1: cube_corner = [-150, 2500, 3000] #eck des wuerfels definieren cube_size = 1000 #laenge des wuerfels definieren points = 5000 #anzahl der points im wuerfel cube3_points = [] for i in range(points): rand_x = random.uniform(cube_corner[0], cube_corner[0] + cube_size) rand_y = random.uniform(cube_corner[1], cube_corner[1] + cube_size) rand_z = random.uniform(cube_corner[2], cube_corner[2] + cube_size) pt = rs.AddPoint([rand_x, rand_y, rand_z]) cube3_points.append(pt) for pt in cube3_points: rs.ObjectColor(pt, colors[3]) #gelb ##################### cube 4 if 1: cube_corner = [-1000, 1000, 2500] #eck des wuerfels definieren cube_size = 1000 #laenge des wuerfels definieren points = 5000 #anzahl der points im wuerfel cube4_points = [] for i in range(points): rand_x = random.uniform(cube_corner[0], cube_corner[0] + cube_size) rand_y = random.uniform(cube_corner[1], cube_corner[1] + cube_size) rand_z = random.uniform(cube_corner[2], cube_corner[2] + cube_size) pt = rs.AddPoint([rand_x, rand_y, rand_z]) cube4_points.append(pt) for pt in cube4_points: rs.ObjectColor(pt, colors[4]) #orange ##################### curves between points if 1: curves = 1000 #anzahl der curves all_points = rs.ObjectsByType(1) if len(all_points) < 2: print("Not enough points to connect.") else: for i in range(curves): pt1 = rs.coerce3dpoint(all_points[random.randint(0, len(all_points) - 1)]) pt2 = rs.coerce3dpoint(all_points[random.randint(0, len(all_points) - 1)]) if pt1 and pt2: rs.AddCurve([pt1, pt2])