### https://iam.tugraz.at/diag/dm2/ue_03/demo_1030_01.py
### grabbed:  2021-10-22 10:58:53
#################################


import rhinoscriptsyntax as rs
import random, time, sys
##############################

rs.EnableRedraw( 0 )
rs.DeleteObjects( rs.AllObjects() )

abst = 5.5
radiusX = 111.5


def coords2sphere(myRadius, anzPts, makeCrvs, mindestZ):
    coordsOnSph = []
    for i in range(anzPts):
        cor = [random.uniform(-abst, abst), random.uniform(-abst, abst), random.uniform(-abst, abst),]
        #rs.AddPoint( cor )
        uni_vec = rs.VectorUnitize( cor )                   #einheitsvec
        vec_sph = rs.VectorScale( uni_vec, myRadius)
        if makeCrvs and cor[2] > mindestZ:
            rs.AddLine( cor, vec_sph)
        if cor[2] > mindestZ:
            #rs.AddPoint( vec_sph )
            coordsOnSph.append( vec_sph )
    #rs.AddPoints( coordsOnSph )
    return coordsOnSph
    
    
coords = coords2sphere(10.8, 1001, 1, 3.1)

rs.AddCurve( coords, 1 )
rs.AddPoints( coords2sphere(11,2, 1001, 0, -1.1)


##############

#cor = [1.898, 98989.0, 0.776]
#print cor[2] 
#print cor[ 0: ]


#rs.ZoomExtents()


#abstand = 5.5
#allCoords = []
#for i in range(2001):
    #cor = [random.uniform(-abstand,abstand), random.uniform(-abstand,abstand),random.uniform(-abstand,abstand)]
    #rs.AddPoint( cor )
    #allCoords.append( cor )

#radiusX = abstand*2.0
#rs.AddSphere( [0,0,0], radiusX)

