Esempio n. 1
0
def test_Vec3_subtraction_operator():
    components1 = np.random.rand(3)
    components2 = np.random.rand(3)
    vec3_1py = vectormath.Vector3(*components1)
    vec3_2py = vectormath.Vector3(*components2)
    vec3_1cpp = NumCpp.Vec3(*components1)
    vec3_2cpp = NumCpp.Vec3(*components2)
    assert np.array_equal(
        np.round(vec3_1py - vec3_2py, DECIMALS_TO_ROUND),
        np.round((NumCpp.Vec3_minusVec3(vec3_1cpp,
                                        vec3_2cpp)).toNdArray().flatten(),
                 DECIMALS_TO_ROUND))

    components = np.random.rand(3)
    scaler = np.random.rand(1).item()
    vec3py = vectormath.Vector3(*components)
    vec3cpp = NumCpp.Vec3(*components)
    assert np.array_equal(
        np.round(vec3py - scaler, DECIMALS_TO_ROUND),
        np.round((NumCpp.Vec3_minusVec3Scaler(vec3cpp,
                                              scaler)).toNdArray().flatten(),
                 DECIMALS_TO_ROUND))

    components = np.random.rand(3)
    scaler = np.random.rand(1).item()
    vec3py = vectormath.Vector3(*components)
    vec3cpp = NumCpp.Vec3(*components)
    assert np.array_equal(
        np.round(-vec3py + scaler, DECIMALS_TO_ROUND),
        np.round((NumCpp.Vec3_minusScalerVec3(vec3cpp,
                                              scaler)).toNdArray().flatten(),
                 DECIMALS_TO_ROUND))
Esempio n. 2
0
def test_Vec3_cross():
    components1 = np.random.rand(3)
    components2 = np.random.rand(3)
    vec3_1py = vectormath.Vector3(*components1)
    vec3_2py = vectormath.Vector3(*components2)
    vec3_1cpp = NumCpp.Vec3(*components1)
    vec3_2cpp = NumCpp.Vec3(*components2)
    assert np.array_equal(np.round(vec3_1py.cross(vec3_2py), DECIMALS_TO_ROUND),
                          np.round(vec3_1cpp.cross(vec3_2cpp).toNdArray().flatten(), DECIMALS_TO_ROUND))
Esempio n. 3
0
def test_Vec3_dot():
    components1 = np.random.rand(3)
    components2 = np.random.rand(3)
    vec3_1py = vectormath.Vector3(*components1)
    vec3_2py = vectormath.Vector3(*components2)
    vec3_1cpp = NumCpp.Vec3(*components1)
    vec3_2cpp = NumCpp.Vec3(*components2)
    assert (round(vec3_1py.dot(vec3_2py), DECIMALS_TO_ROUND) ==
            round(vec3_1cpp.dot(vec3_2cpp), DECIMALS_TO_ROUND))
Esempio n. 4
0
def test_Vec3_distance():
    components1 = np.random.rand(3)
    components2 = np.random.rand(3)
    vec3_1py = vectormath.Vector3(*components1)
    vec3_2py = vectormath.Vector3(*components2)
    vec3_1cpp = NumCpp.Vec3(*components1)
    vec3_2cpp = NumCpp.Vec3(*components2)
    assert (round((vec3_2py - vec3_1py).length, DECIMALS_TO_ROUND) ==
            round(vec3_1cpp.distance(vec3_2cpp), DECIMALS_TO_ROUND))
Esempio n. 5
0
def test_Vec3_normalize():
    components = np.random.rand(3)
    vec3py = vectormath.Vector3(*components)
    vec3cpp = NumCpp.Vec3(*components)
    assert np.array_equal(
        np.round(vec3py.normalize(), DECIMALS_TO_ROUND),
        np.round(vec3cpp.normalize().toNdArray().flatten(), DECIMALS_TO_ROUND))
Esempio n. 6
0
def test_Vec3_norm():
    components = np.random.rand(3)
    vec3py = vectormath.Vector3(*components)
    vec3cpp = NumCpp.Vec3(*components)
    assert (round(vec3py.length,
                  DECIMALS_TO_ROUND) == round(vec3cpp.norm(),
                                              DECIMALS_TO_ROUND))
Esempio n. 7
0
def test_Vec3_multiplication_operator():
    components = np.random.rand(3)
    scaler = np.random.rand(1).item()
    vec3py = vectormath.Vector3(*components)
    vec3cpp = NumCpp.Vec3(*components)
    assert np.array_equal(np.round(vec3py * scaler, DECIMALS_TO_ROUND),
                          np.round((NumCpp.Vec3_multVec3Scaler(vec3cpp, scaler)).toNdArray().flatten(),
                                   DECIMALS_TO_ROUND))

    components = np.random.rand(3)
    scaler = np.random.rand(1).item()
    vec3py = vectormath.Vector3(*components)
    vec3cpp = NumCpp.Vec3(*components)
    assert np.array_equal(np.round(vec3py * scaler, DECIMALS_TO_ROUND),
                          np.round((NumCpp.Vec3_multScalerVec3(vec3cpp, scaler)).toNdArray().flatten(),
                                   DECIMALS_TO_ROUND))
Esempio n. 8
0
def test_Vec3_clampedVec():
    components = np.random.rand(3) + 10
    clampMag = np.random.randint(1, 10, [1, ]).item()
    vec3 = NumCpp.Vec3(*components)
    clampedVec = vec3.clampMagnitude(float(clampMag))
    assert np.round(clampedVec.norm(), DECIMALS_TO_ROUND) == clampMag
    assert np.round(vec3.dot(clampedVec) / vec3.norm() / clampedVec.norm(), DECIMALS_TO_ROUND) == 1
Esempio n. 9
0
def test_Vec3_division_assignment_operator():
    components1 = np.random.rand(3)
    scaler = np.random.rand(1).item()
    vec3_1py = vectormath.Vector3(*components1)
    vec3_1cpp = NumCpp.Vec3(*components1)
    vec3_1cpp /= scaler
    assert np.array_equal(np.round(vec3_1py / scaler, DECIMALS_TO_ROUND),
                          np.round(vec3_1cpp.toNdArray().flatten(), DECIMALS_TO_ROUND))
Esempio n. 10
0
def test_Vec3_array_constructor():
    components = np.random.rand(3)
    shape = NumCpp.Shape(1, 3)
    cArray = NumCpp.NdArray(shape)
    cArray.setArray(components)
    vec3 = NumCpp.Vec3(cArray)
    assert vec3.x == components[0].item()
    assert vec3.y == components[1].item()
    assert vec3.z == components[2].item()
Esempio n. 11
0
def test_Vec3_subtraction_assignment_operator():
    components1 = np.random.rand(3)
    components2 = np.random.rand(3)
    vec3_1py = vectormath.Vector3(*components1)
    vec3_2py = vectormath.Vector3(*components2)
    vec3_1cpp = NumCpp.Vec3(*components1)
    vec3_2cpp = NumCpp.Vec3(*components2)
    vec3_1cpp -= vec3_2cpp
    assert np.array_equal(np.round(vec3_1py - vec3_2py, DECIMALS_TO_ROUND),
                          np.round(vec3_1cpp.toNdArray().flatten(), DECIMALS_TO_ROUND))

    components1 = np.random.rand(3)
    scaler = np.random.rand(1).item()
    vec3_1py = vectormath.Vector3(*components1)
    vec3_1cpp = NumCpp.Vec3(*components1)
    vec3_1cpp -= scaler
    assert np.array_equal(np.round(vec3_1py - scaler, DECIMALS_TO_ROUND),
                          np.round(vec3_1cpp.toNdArray().flatten(), DECIMALS_TO_ROUND))
Esempio n. 12
0
def test_Vec3_print():
    components = np.random.rand(3)
    vec3cpp = NumCpp.Vec3(*components)
    NumCpp.Vec3_print(vec3cpp)
Esempio n. 13
0
def test_Vec3_equality_operator():
    components = np.random.rand(3)
    vec3_1cpp = NumCpp.Vec3(*components)
    vec3_2cpp = NumCpp.Vec3(*components)
    assert vec3_1cpp == vec3_2cpp
    assert not (vec3_1cpp != vec3_2cpp)
Esempio n. 14
0
def test_Vec3_component_constructor():
    components = np.random.rand(3)
    vec2 = NumCpp.Vec3(*components)
    assert vec2.x == components[0].item()
    assert vec2.y == components[1].item()
    assert vec2.z == components[2].item()
Esempio n. 15
0
def test_Vec3_default_constructor():
    assert NumCpp.Vec3()