学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
続 解析入門 (原書第2版) (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第1章(ベクトル)、6(平面)の練習問題16の解答を求めてみる。
P を通り A の向きをもつ直線のパラメーター方程式は
平面との交点を求める。
平面の法線ベクトルの1つは
よって直線のパラメーター方程式は
求める平面との交点は
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import Rational, Matrix, solve, symbols
print('16.')
t, x, y, z = symbols('t, x, y, z', real=True)
p1 = Matrix([1, 3, 5])
a1 = Matrix([-2, 1, 1])
l1 = p1 + t * a1
eq1 = 2 * x + 3 * y - z - 1
p2 = Matrix([1, 2, -1])
a2 = Matrix([3, -4, 1])
l2 = p2 + t * a2
eq2 = 3 * x - 4 * y + z - 2
class Test(TestCase):
def test_a(self):
t0 = solve(eq1.subs({x: l1[0], y: l1[1], z: l1[2]}), t)[0]
self.assertEqual(l1.subs({t: t0}),
Matrix([-4, Rational(11, 2), Rational(15, 2)]))
def test_b(self):
t0 = solve(eq2.subs({x: l2[0], y: l2[1], z: l2[2]}), t)[0]
self.assertEqual(
l2.subs({t: t0}),
Matrix([Rational(25, 13), Rational(10, 13), -Rational(9, 13)]))
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample16.py -v
16.
test_a (__main__.Test) ... ok
test_b (__main__.Test) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.011s
OK
%
0 コメント:
コメントを投稿