예제 #1
0
파일: utils.py 프로젝트: Jintram/egfrd
def random_vector(r):
    v = [
        myrandom.uniform(-1, 1),
        myrandom.uniform(-1, 1),
        myrandom.uniform(-1, 1)
    ]
    return _gfrd.normalize(v, r)
예제 #2
0
파일: utils.py 프로젝트: YukiSakamoto/epdp
def random_vector(r):
    # v, s = [0.0, 0.0, 0.0], 2.0
    # while s > 1.0:
    #     v[0] = myrandom.uniform (-1, 1)
    #     v[1] = myrandom.uniform (-1, 1)
    #     s = v[0] * v[0] + v[1] * v[1]

    # v[2] = -1 + 2 * s
    # a = 2 * numpy.sqrt(1 - s)
    # v[0] *= a
    # v[1] *= a

    cos_theta = myrandom.uniform(-1, 1)
    sin_theta = numpy.sqrt(1 - cos_theta * cos_theta)
    phi = myrandom.uniform(0, Pi2)
    sin_phi, cos_phi = math.sin(phi), math.cos(phi) # sincos
    v = [sin_theta * cos_phi, sin_theta * sin_phi, cos_theta]
    return _gfrd.normalize(v, r)
예제 #3
0
def random_vector(r):
    # v, s = [0.0, 0.0, 0.0], 2.0
    # while s > 1.0:
    #     v[0] = myrandom.uniform (-1, 1)
    #     v[1] = myrandom.uniform (-1, 1)
    #     s = v[0] * v[0] + v[1] * v[1]

    # v[2] = -1 + 2 * s
    # a = 2 * numpy.sqrt(1 - s)
    # v[0] *= a
    # v[1] *= a

    cos_theta = myrandom.uniform(-1, 1)
    sin_theta = numpy.sqrt(1 - cos_theta * cos_theta)
    phi = myrandom.uniform(0, Pi2)
    sin_phi, cos_phi = math.sin(phi), math.cos(phi)  # sincos
    v = [sin_theta * cos_phi, sin_theta * sin_phi, cos_theta]
    return _gfrd.normalize(v, r)
예제 #4
0
def normalize(a, l=1):
    return _gfrd.normalize(a, l)
예제 #5
0
def random_vector(r):
    v = [myrandom.uniform(-1,1), myrandom.uniform(-1,1), myrandom.uniform(-1,1)]
    return _gfrd.normalize(v, r)
예제 #6
0
파일: utils.py 프로젝트: Jintram/egfrd
def normalize(a, l=1):
    return _gfrd.normalize(a, l)