学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- 数式入力ソフト(TeX, MathML): MathType
- MathML対応ブラウザ: Firefox、Safari
- MathML非対応ブラウザ(Internet Explorer, Microsoft Edge, Google Chrome...)用JavaScript Library: MathJax
- 参考書籍
ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の1章(R^n におけるベクトル)、5(直線と平面)、練習問題16、17.を取り組んでみる。
問題の方程式を変形。
Nは平面の法線ベクトル、Pは平面上の1点、Xは平面上の点。
Qは平面上の点ではないので、Q + tNが平面上にあるようなtはただ1つ存在する。
Pを通りNの向きを持つ直線の方程式。
Qを通り、Nに垂直な平面の方程式。
前問よりtを求める。
よって求める直線と平面との交点は、X = P = (1, 3, -2)。
コード(Emacs)
Python 3
#!/usr/bin/env python3 from sympy import pprint, symbols, Matrix, solve print('17.') X = Matrix(symbols('x y z')) Q = Matrix([1, -1, 2]) P = Matrix([1, 3, -2]) N = Matrix([1, 2, 2]) t = symbols('t') eq1 = P + t * N eq2 = (X - Q).dot(N) eq3 = eq2.subs({k:v for k, v in zip(X, eq1)}) for t0 in [eq1.T, eq2, eq3]: pprint(t0) print() t0 = solve(eq3)[0] pprint(eq1.subs({t:t0}).T)
入出力結果(Terminal, Jupyter(IPython))
$ ./sample16.py 17. [t + 1 2⋅t + 3 2⋅t - 2] x + 2⋅y + 2⋅z - 3 9⋅t [1 3 -2] $
macOS High Sierraの標準搭載されているグラフ作成ソフト、Grapher で作成。
0 コメント:
コメントを投稿