mbcp/tests/test_word_problem.py
2024-08-27 09:08:27 +08:00

44 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
"""
应用题测试集
"""
import logging
from mbcp.mp_math.line import Line3
from mbcp.mp_math.plane import Plane3
from mbcp.mp_math.point import Point3
class TestWordProblem:
def test_c8s4e4(self):
"""
同济大学《高等数学》第八版 下册 第八章第四节例4
问题求与两平面x-4z-3=0和2x-y-5z-1=0的交线平行且过点(-3, 2, 5)的直线方程。
"""
correct_ans = Line3(4, 3, 1, 1)
pl1 = Plane3(1, 0, -4, -3)
pl2 = Plane3(2, -1, -5, -1)
p = Point3(-3, 2, 5)
"""解法1"""
# 求直线方向向量s
s = pl1.normal @ pl2.normal
actual_ans = Line3.from_point_and_direction(p, s)
logging.info(f"正确答案:{correct_ans} 实际答案:{actual_ans}")
assert actual_ans == correct_ans
"""解法2"""
# 过点p且与pl1平行的平面pl3
pl3 = pl1.cal_parallel_plane3(p)
# 过点p且与pl2平行的平面pl4
pl4 = pl2.cal_parallel_plane3(p)
# 求pl3和pl4的交线
actual_ans = pl3.cal_intersection_line3(pl4)
print(pl3, pl4, actual_ans)
logging.info(f"正确答案:{correct_ans} 实际答案:{actual_ans}")
assert actual_ans == correct_ans