##############################
###  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:/WWW/limafi/dm2")     ### add path where "DM_lib.py" can be found !!!                                              
import DM_lib as dm        ### reload(dm)    
############################## 

rs.EnableRedraw(0)
dm.eAA()
#alles loeschen

print dm.pntRandVec(-1,1)


#range liefert liste, loop 
#while schleifen eher vermeiden, if schleifen sind flexibler 

rad = random.uniform(5.0, 10)

#vektor: richtung und laenge 
#kreis erstellen 
rad = 5.0
vec = [rad,0, 0]
rs.AddPoint(vec)
#fuer naechsten punkt vektor rotieren 
vecX = rs.VectorRotate(vec, 10.0,[0,0,1]) 
#letzter vektor steht fuer die zachse um die gedreht wirdr
rs.AddPoint(vecX)


#vorher wissen wie viele punkte ich haben moechte
anz = 32*3
deltaangle = 360/anz


#for i in range(2000): 
#    vecX = rs.VectorRotate(vec, deltaangle*i, [random.uniform(-1,1),random.uniform(-1,1),random.uniform(-1,1)]) 
#    rs.AddPoint(vecX)


# statt [random.uniform(-1,1),random.uniform(-1,1),random.uniform(-1,1)] den Befehel nehmen print dm.pntRandVec(-1,1)

center = [27,3,17] #neuer mittelpunkt
for i in range(2000): 
    vecX = rs.VectorRotate(vec, deltaangle*i, dm.pntRandVec(-1,1)[0]) 
    vecX = rs.VectorScale(vecX, random.uniform(0,1)) #innen kugeln 
    vecX = rs.VectorAdd(vecX, center) #kugel verschieben 
    rs.AddPoint(vecX)


#punkte im inneren der kugel 

#hue
#kugel machen mit kombi wuerfel mit vektorrechnungen 
#vektor bestimmte laenge aber richtung ist einheitsgroesse
#evtl wird normalvektor benoetigt fuer das platzieren eines wuerfels im raum 
#auf ebene normalvektor drei punkte rs.vektorcorssproduct kreuzprodukt
#setup liefert korrdinaten fuer kreis und quadrat 
#wenn if auf 0 gestellt wird und oben aktivieren 