#DM2 Hausuebung 02 #Melissa Schnell #Gruppe Gruber 01 import rhinoscriptsyntax as rs import random # rs.EnableRedraw(0) # alleObjekte = rs.AllObjects() ##print alleObjekte rs.DeleteObjects(alleObjekte) rs.Redraw() #Wuerfel 1 coords1 = [] anzahl1 = 25 xVal1 = 5 yVal1 = 5 zVal1 = 5 for i in range(anzahl1): for j in range(anzahl1): for k in range(0, anzahl1): x1 = i*xVal1 + random.uniform(0.5, 0.5) y1 = j*yVal1 + random.uniform(0.5, 0.5) z1 = k*zVal1 + random.uniform(0.5, 0.5) if i >= anzahl1*0.5 and j >= anzahl1*0.5: #and k%2==0: z1 = z1*0.5 if i <= anzahl1*0.5 and j<= anzahl1*0.5: z1 = z1*0.5 +60 cor1 = [x1, y1, z1] coords1.append(cor1) #points1=rs.AddPoints( coords1 ) #curve1=rs.AddCurve(coords1,1) #rs.ObjectColor( curve1, [255,0,255]) #rs.ObjectColor( points1, [255,0,255]) #Wuerfel 2 coords2 = [] anzahl2 = 25 xVal2 = 5 yVal2 = 5 zVal2 = 5 for a in range(anzahl2): for b in range(anzahl2): for c in range(anzahl2): x2 = a*xVal2 + random.uniform(0.5, 0.5) y2 = b*yVal2 + random.uniform(0.5, 0.5) z2 = c*zVal2 + random.uniform(0.5, 0.5)+135 if a >= anzahl2*0.5 and b >= anzahl2*0.5: # and c%2==0: z2=z2*0.5+65+62.5 if a <= anzahl2*0.5 and b <= anzahl2*0.5: z2=z2*0.5+67.5 cor2 = [x2, y2, z2] coords2.append(cor2) #points2=rs.AddPoints( coords2 ) #curve2=rs.AddCurve(coords2,1) #rs.ObjectColor( curve2, [0,255,255]) #rs.ObjectColor( points2, [0,255,255]) #Quader coords3 = [] anzahl3 = 25 xVal3 = 2.5 yVal3 = 2.5 zVal3 = 5 for m in range (anzahl3): for n in range (anzahl3): for o in range (anzahl3): x3 = m*xVal3 + random.uniform(0.5, 0.5)+anzahl3*2.5+anzahl3 y3 = n*yVal3 + random.uniform(0.5, 0.5)+anzahl3*2.5+anzahl3 z3 = o*zVal3 + random.uniform(0.5, 0.5)+anzahl3*2.5+5 if o == 2.5: z3 = z3 + 10 cor3 = [x3, y3, z3] coords3.append(cor3) print len(coords3) points3 = rs.AddPoints( coords3 ) curve3=rs.AddCurve(coords3,1) rs.ObjectColor( curve3, [255,255,0]) rs.ObjectColor( points3, [255,255,0]) print (3>2)+(3<2)*1 print 10%5 rs.DeleteObjects(rs.ObjectsByType(1+4)) random.shuffle(coords3) coords = coords3[0: int(len(coords3)*.1)] rs.AddCurve( coords, 10) for i in range(len(coords)-2): p0 = coords[i] p1 = coords[i+1] crvID = rs.AddCurve( [p0, p1, coords[i+2]], 2 ) x = p0[0] if p0 in coords3: pass rs.ObjectColor( crvID, [200,0,0] ) rs.AddPoints( coords1 + coords2) "FINI"