############################## ### DM2_w24 hu_03_setUp ### ### _diag / 2024 10 17 ### ############################## import rhinoscriptsyntax as rs import random, time, sys ### import math sys.path.append("C:\Users\user\Desktop\Graz\Digitale Methoden der Gestaltung\DM2_lib.py") ### add path where "DM_lib.py" can be found !!! sys.path.append("P:\WWW\mmars\DM2\DM2_lib.py") import DM2_lib as dm ### reload(dm) ############################## rs.EnableRedraw(0) dm.eA() rad = 2 vec1 = [rad, 0, 0] a=600 alpha=360/a center=[20,20,0] for i in range (a): vecX = rs.VectorRotate( vec1, alpha*i, [random.uniform(-1,1),random.uniform(-1,1),random.uniform(-1,1)]) vecX = rs.VectorScale( vecX, random.uniform(0, 1)) vecX = rs.VectorAdd( vecX, center) #rs.AddPoint(vecX) for i in range (a): vecX = rs.VectorRotate( vec1, alpha*i, [random.uniform(-1,1),random.uniform(-1,1),random.uniform(-1,1)]) vecX = rs.VectorAdd( vecX, center) #rs.AddPoint(vecX) b=1 a2=5 def cube(side,iter): vec2 = [-side,0,0] #vec2 = rs.VectorAdd(vec2,[o1,o2,o3]) #vec2 = rs.VectorRotate(vec2,random.uniform(0,90),[random.uniform(0,1),random.uniform(0,1),random.uniform(0,1)]) vec3 = rs.VectorScale(vec2,-1/iter) # =[b/a2,0,0] tvec3 = vec3 #tvec2Y = rs.VectorRotate(vec2,90,[0,0,1]) #tvec3Y = rs.VectorRotate(vec3,90,[0,0,1]) #tvec3Z = rs.VectorRotate(vec3,90,[0,1,0]) for i in range (iter): for j in range (iter): for k in range(iter): tvec3 = rs.VectorAdd(tvec3,vec3) rs.AddPoint(tvec3) tvec3 = rs.VectorAdd(tvec3,vec2) # for k in range (a2): # tvec3 = rs.VectorSubtract(tvec3,vec3) # rs.AddPoint(tvec3) # tvec3 = rs.VectorSubtract(tvec3,vec2) tvec3 = rs.VectorAdd(tvec3,[0,side/iter,0]) tvec3 = rs.VectorAdd(tvec3,[0,-side,0]) tvec3 = rs.VectorAdd(tvec3,[0,0,side/iter]) vec5 = [random.uniform(-10,10),random.uniform(-10,10),random.uniform(-10,10)] rs.AddPoint(vec5) rad = random.uniform(2,5) vec1 = [rad, 0, 0] a=600 alpha=360/a center=vec5 a2=1500 alpha2=360/a2 for i in range (a): vecX = rs.VectorRotate( vec1, alpha*i, [random.uniform(-1,1),random.uniform(-1,1),random.uniform(-1,1)]) vecX = rs.VectorAdd( vecX, center) rs.AddPoint(vecX) for i in range (a2): vecX = rs.VectorScale( vec1, random.uniform(0, 1)) vecX = rs.VectorRotate( vecX, alpha2*i, [random.uniform(-1,0),random.uniform(-1,0),random.uniform(-1,0)]) vecX = rs.VectorAdd( vecX, center) rs.AddPoint(vecX) side = random.randint(5,15) iter = side vec2 = [-side,0,0] vec3 = rs.VectorScale(vec2,-1/iter) # =[b/a2,0,0] tvec3 = vec3 for i in range (iter): for j in range (iter): for k in range(iter): tvec3 = rs.VectorAdd(tvec3,vec3) rs.AddPoint(tvec3) line1 = rs.AddLine(tvec3,vec5) #rs.ScaleObject(id(line1),vec5,rad) tvec3 = rs.VectorAdd(tvec3,vec2) tvec3 = rs.VectorAdd(tvec3,[0,side/iter,0]) tvec3 = rs.VectorAdd(tvec3,[0,-side,0]) tvec3 = rs.VectorAdd(tvec3,[0,0,side/iter]) vec4 = [random.randint(2,11),random.randint(0,9),random.randint(0,9)] iter4 = 36 delta = 360/iter4 O4 = [random.randint(20,110),random.randint(0,90),random.randint(0,9)] for i in range (iter4): tvec4 = rs.VectorRotate(vec4, delta*i, [0,0,1]) tvec4 = rs.VectorAdd(tvec4, O4) #rs.AddPoint(tvec4) rs.ZoomExtents() #cube1 = rs.AddGroup(cube1) #rs.AddObjectToGroup(vec2,cube1)