############################## ### DM2_w24 hu_03_setUp ### ### _diag / 2024 10 17 ### ############################## 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:/dm2/") ### add path where "DM_lib.py" can be found !!! sys.path.append("C:/Users/annas/OneDrive/Dokumente/uni-dokumente/dm2") import DM_lib as dm ### reload(dm) ############################## rs.EnableRedraw(0) dm.eA() #######cube radiusX = rX = 1000 if(1): crv_X = rs.AddCurve( [ [0,0,0], [rX,0,0], [rX,0,rX], [0,0,rX], [0,0,0] ], 1) crv_X2 = rs.AddCurve( [ [0,rX,0], [rX,rX,0], [rX,rX,rX], [0,rX,rX], [0,rX,0] ], 1) crv_y = rs.AddCurve( [ [0,0,0], [0,rX,0], [0,rX,rX], [0,0,rX], [0,0,0] ], 1) crv_y2 = rs.AddCurve( [ [rX,0,0], [rX,rX,0], [rX,rX,rX], [rX,0,rX], [rX,0,0] ], 1) ######sphere Mitte if(1): anz = 250 rad = 50 cen = [rX/2,rX/2,rX/2] deltaAngle = 360/anz vec = [1,0,0] print vec CoordsCurve=[] for i in range(anz): angX = deltaAngle*i vecX = rs.VectorRotate(vec, angX, [random.uniform(-1,1),random.uniform(-1,1),random.uniform(-1,1)] ) vecX = rs.VectorScale(vecX, rad) vecX = rs.VectorAdd(vecX, cen) rs.AddPoint(vecX) #CoordsCurve.append(vecX) #rs.AddCurve(Coo ###Halbkugel aus Curves1 if(1): anz = 250 rad = 100 cen = [rX/2,rX/2,rX/2] deltaAngle = 90/anz vec = [0,0,-1] print vec Coords=[] for i in range(anz): angX = deltaAngle*i vecX = rs.VectorRotate(vec, angX, [random.uniform(-1,1),random.uniform(-1,1),random.uniform(-1,1)] ) vecX = rs.VectorScale(vecX, rad) vecX = rs.VectorAdd(vecX, cen) Coords.append(vecX) #rs.AddPoint(vecX) for i in range(anz//3): startpnt = random.choice(Coords) endpnt = random.choice(Coords) if startpnt != endpnt: Sphere2 = rs.AddLine(startpnt, endpnt) ###Halbkugel aus Curves2 if(1): anz = 250 rad = 100 cen = [rX/2,rX/2,rX/2] deltaAngle = 90/anz vec = [0,0,1] print vec Coords=[] for i in range(anz): angX = deltaAngle*i vecX = rs.VectorRotate(vec, angX, [random.uniform(-1,1),random.uniform(-1,1),random.uniform(-1,1)] ) vecX = rs.VectorScale(vecX, rad) vecX = rs.VectorAdd(vecX, cen) Coords.append(vecX) #rs.AddPoint(vecX) for i in range(anz//3): startpnt = random.choice(Coords) endpnt = random.choice(Coords) if startpnt != endpnt: Sphere2 = rs.AddLine(startpnt, endpnt) ######Kreise cen = [rX/2,rX/2,rX/2] rad = 500 cir_0 = rs.AddCircle( cen, rad) cir_1 = rs.AddCircle( cen, rad/2) cir_2 = rs.AddCircle( cen, rad/3) cir_3 = rs.AddCircle( cen, rad/4) cir_4 = rs.AddCircle( cen, rad/5) cir_5 = rs.AddCircle( cen, rad/6) cir_6 = rs.AddCircle( cen, rad/7) cir_7 = rs.AddCircle( cen, rad/8) cir_8 = rs.AddCircle( cen, rad/9) cir_9 = rs.AddCircle( cen, rad/10) #Erzeugen von Punkten an Seitenflaechen PointsY =[] length = rX for i in range(0,length): for k in range(0,length): pnt1 = rs.CreatePoint(0,i,k) #points = rs.AddPoint(pnt1) PointsY.append(pnt1) PointsY2 = [] for a in range(length-1,length): for b in range(0, length): for c in range(0, length): pnt2 = rs.CreatePoint(a,b,c) #points = rs.AddPoint(pnt2) PointsY2.append(pnt2) #####Curves an Seitenflaechen for i in range (50): pt1 = rs.coerce3dpoint(PointsY[random.randint(0,len(PointsY)-1)]) pt2 = rs.coerce3dpoint(PointsY[random.randint(0,len(PointsY)-1)]) if pt1 and pt2: curve = rs.AddCurve([pt1,pt2],3) for i in range(50): pt3 = rs.coerce3dpoint(PointsY2[random.randint(0,len(PointsY2)-1)]) pt4 = rs.coerce3dpoint(PointsY2[random.randint(0,len(PointsY2)-1)]) if pt2 and pt4: curve = rs.AddCurve([pt3,pt4],3) ######Curves von Mittelpunkt zur Seitenflaeche 1 cen = [rX/2,rX/2,rX/2] center = rs.CreatePoint(cen) center = rs.AddPoint(center) anz= 30 #base =[0,0,0] #Ursprung = rs.CreatePoint(base) #Ursprung = rs.AddPoint(Ursprung) #rs.AddLine(center, Ursprung) Middlepoint = [rX//3,rX//3,rX//2] for x in range(anz): rs.AddCurve([center,Middlepoint,random.choice(PointsY)],5) rs.AddCurve([center,random.choice(PointsY2)],8) rs.ZoomExtents()