Пример #1
0
def test_cross_product_anti_commutative():
    vec1 = Vector([1, 2, 3])
    vec2 = Vector([4, 5, 6])
    vec3 = vec2.crossProduct(vec1)
    assert vec3 == Vector([3, -6, 3])
    assert vec1.dotProduct(vec3) == 0
    assert vec2.dotProduct(vec3) == 0
Пример #2
0
def test_cross_product():
    vec1 = Vector([1, 2, 3])
    vec2 = Vector([4, 5, 6])
    vec3 = vec1.crossProduct(vec2)
    assert vec3 == Vector([-3, 6, -3])
    assert vec1.dotProduct(vec3) == 0
    assert vec2.dotProduct(vec3) == 0
Пример #3
0
def test_cross_product_dimension_check_w():
    with pytest.raises(ValueError,
                       message="Cross product can only work for 3D vectors"):
        vec1 = Vector([1, 2, 3])
        vec2 = Vector([1, 2, 3, 4])
        vec3 = vec1.crossProduct(vec2)
Пример #4
0
answers.append(round(x3.scalarMultiple(y3), 3))
answers.append(round(x4.magnitude(), 3))
answers.append(round(x5.magnitude(), 3))
answers.append(round(x6.normalise(), 3))
answers.append(round(x7.normalise(), 3))
answers.append(round(x8.dotProduct(y8), 3))
answers.append(round(x9.dotProduct(y9), 3))
answers.append(round(x10.angle(y10), 3))
answers.append(round((x11.angle(y11, in_degrees=True)), 3))
answers.append("Q1 Is parallel " + str(x12.isParallel(y12)) +
               " : Is orthogonal " + str(x12.isOrthogonal(y12)))
answers.append("Q2 Is parallel " + str(x13.isParallel(y13)) +
               " : Is orthogonal " + str(x13.isOrthogonal(y13)))
answers.append("Q3 Is parallel " + str(x14.isParallel(y14)) +
               " : Is orthogonal " + str(x14.isOrthogonal(y14)))
answers.append("Q4 Is parallel " + str(x15.isParallel(y15)) +
               " : Is orthogonal " + str(x15.isOrthogonal(y15)))
answers.append(round(v1.vProjected(b1), 3))
answers.append(round(v2.vOrthogonal(b2), 3))
answers.append(
    str(round(v3.vProjected(b3), 3)) + "  " +
    str(round(v3.vOrthogonal(b3), 3)))
answers.append(round(v4.crossProduct(w4), 3))
v5w5 = v5.crossProduct(w5)
answers.append(round(v5w5.magnitude(), 3))
v6w6 = v6.crossProduct(w6)
answers.append(round(v6w6.magnitude() / 2, 3))

for i in answers:
    print(i)