############################## ### 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 !!! import DM_lib as dm ### reload(dm) import math ### ############################## 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()) ###################################### anz = random.choice( range(2**4, 2**8, 4) ) dm.allCoords = dm.setUp_hu_03( anz ) coordsCir = dm.allCoords[0] ### calling def from DM_lib to get *new* set of coords coordsCub = dm.allCoords[1] ### calling def from DM_lib to get *new* set of coords ###################################### randomVec = [random.uniform(-30,30) for i in range(3)] coordsCub = [rs.VectorRotate(cor, randomVec[0], randomVec) for cor in coordsCub] coordsCir = [rs.VectorRotate(cor, randomVec[0], randomVec) for cor in coordsCir] siz = rs.Distance( coordsCub[0], coordsCub[1] ) ### edge length of cubus #dm.textDots( coordsCub ) #rs.AddCurve( coordsCub, 1 ) #rs.AddCurve( coordsCir, 1 ) #dm.textDots( coordsCir ) anz = len(coordsCub) print "*** anz =", anz print "*** siz =", round(siz, 2), "/ edge lenght =", round(siz, 2),"*",int(anz/4),"=", round(siz*anz/4, 2) print "*** **********\n" #####Kugel1##### #rs.AddPoint( vec ) anz = 10000 rad = 10.0 center = [random.randint(10,20), 1,1] deltaAngle = 360/anz vec = [0, 0, 2] 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( 10,rad) ) vecX = rs.VectorAdd( vecX, center) rs.AddPoint( vecX ) #color# Kugel1 = rs.AddPoint(vecX) rs.ObjectColor(Kugel1, [155,199,234]) #####Kugel2##### anz = 10000 rad = 10.0 center = [10, -10,20] deltaAngle = 360/anz vec = [1, 1, 0] 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( 10,rad) ) vecX = rs.VectorAdd( vecX, center) rs.AddPoint( vecX ) #color# Kugel1 = rs.AddPoint(vecX) rs.ObjectColor(Kugel1, [230,199,234]) #####Kubus##### length = 25 diagSquare = math.sqrt(length**3 + length**2) diagCube = math.sqrt(diagSquare**2 + length**2) #Wuerfel if 1: for i in range(length): for j in range(length): for k in range(length): pnt = rs.CreatePoint(i, j, k) points = rs.AddPoint(pnt) rs.ObjectColor(points, [134, 156, 255]) ################ rs.ZoomExtents()