############################## ### DM2_w24 hu_03_setUp ### ### _diag / 2024 10 17 ### ############################## import rhinoscriptsyntax as rs import random, time, sys ### sys.path.append("P:/WWW/lsb24802/dm2/") ### add path where "DM_lib.py" can be found !!! import DM_lib as dm ### reload(dm) ############################## rs.UnitSystem(3) rs.ShowGrid(view=None, show=0) rs.ShowGridAxes(view=None, show=0) rs.ViewDisplayMode(view=None, mode="Wireframe") rs.EnableRedraw(0) dm.PointRadius(displayModeX=0, rad=3, styl=1) rs.DeleteObjects(rs.AllObjects()) #hu_03 #laurenz baumgartner #12227424 #Wuerfel print "-----------------------------" print "hu_03" print "-----------------------------" print "laurenz baumgartner" print "-----------------------------" print "12227424" print "-----------------------------" l= random.randint(1,20) #kantenlaenge print "Kantenlaenge Wuerfel =", l, "cm" print "-----------------------------" pktA= [0,0,0] pktB= rs.VectorAdd(pktA, [l,0,0]) pktC= rs.VectorAdd(pktB, [0,l,0]) pktD= rs.VectorAdd(pktC, [-l,0,0]) pktE= rs.VectorAdd(pktA, [0,0,l]) pktF= rs.VectorAdd(pktE, [l,0,0]) pktG= rs.VectorAdd(pktF, [0,l,0]) pktH= rs.VectorAdd(pktG, [-l,0,0]) basecrv= rs.AddCurve([pktA, pktB, pktC, pktD, pktA], 1) topcrv= rs.AddCurve([pktE, pktF, pktG, pktH, pktE], 1) #wuerfel punkte newcoords = [] for x in range(l+1): for y in range(l+1): for z in range(l+1): #z += 16 cor = [x,y,z] newcoords.append(cor) colourcube=rs.AddPoints(newcoords) rs.AddCurve(newcoords, 2) for pnt in colourcube: colo = [255,255,0] rs.ObjectColor(pnt, colo) cen= dm.pntInbetween(pktA, pktG) cen2= rs.VectorAdd(cen, [0,0,l]) coords = rs.DivideCurve(topcrv, l, 0) for i, cor in enumerate(coords): vec= rs.VectorSubtract(cor, cen2) unitVec= rs.VectorUnitize(vec) scalVec= rs.VectorScale(vec, l/20) circPnt= rs.VectorAdd(cen2,scalVec) if 1==1: rs.AddLine(cor, circPnt) rs.ObjectColor(rs.AddPoint(circPnt),[200,20,20]) #kugel coords = [] for i in range(100): scalVec= rs.VectorRotate(scalVec, random.uniform(-90,90), [random.uniform(-1,1) for i in range(3)]) coords.append( rs.VectorAdd( cen2, scalVec ) ) colourcoords= rs.AddPoints( coords ) rot=[255,127,127] blau=[63,191,191] gruen=[0,127,0] farbekugel=[rot,blau,gruen] for pnt in colourcoords: colo = random.choice(farbekugel) rs.ObjectColor(pnt, colo) rs.ZoomExtents()