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
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
def test_vector_dotproduct(): vec1 = Vector([2, 2]) vec2 = Vector([2, 2]) dotp = vec1.dotProduct(vec2) assert dotp == 8
v4 = Vector([8.462, 7.893, -8.187]) w4 = Vector([6.984, -5.975, 4.778]) v5 = Vector([-8.987, -9.838, 5.031]) w5 = Vector([-4.268, -1.861, -8.866]) v6 = Vector([1.5, 9.547, 3.691]) w6 = Vector([-6.007, 0.124, 5.772]) answers = [] answers.append(round(x1 + y1, 3)) answers.append(round(x2 - y2, 3)) 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)) + " " +