2020年5月30日土曜日

学習環境

新装版 数学読本3 (松坂 和夫(著)、岩波書店)の第11章(立体的な広がりの中の図形 - 空間図形)、11.3(直線・平面・球の方程式)、2直線の交点、2直線に直交する直線の問26の解答を求めてみる。



    1. 求める直線 AB と直線 l、 m との交点をそれぞれ

      A 3 s + 4 , 2 s + 3 , s B t - 6 , - t + 7 , t

      とおく。

      このとき、

      A B = - 3 s + t - 10 , - 2 s - t + 4 , - s + t
      { - 3 s + t - 10 , - 2 s - t + 4 , - s + t · 3 , 2 , 1 = 0 - 3 s + t - 10 , - 2 s - t + 4 , - s + t · 1 , - 1 , 1 = 0
      { - 14 s + 2 t = 22 - 2 s + 3 t = 14
      { - 7 s + t = 11 - 2 s + 3 t = 14
      { - 21 s + 3 t = 33 - 2 s + 3 t = 14
      - 19 s = 19 s = - 1 t = 4

      よって、 点 A、 B の座標はそれぞれ、

      A 1 , 1 , - 1 B - 2 , 3 , 4

      また、 直線 AB の方程式は、

      x - 1 - 3 = y - 1 2 = z + 1 5

    2. A 2 s + 1 , 3 s - 1 , s + 9 B t + 2 , 4 t + 2 , - 2 t + 14
      A B = t - 2 s + 1 , 4 t - 3 s + 3 , - 2 t - s + 5
      { 2 t - 4 s + 2 + 12 t - 9 s + 9 - 2 t - s + 5 = 0 t - 2 s + 1 + 16 t - 12 s + 12 + 4 t + 2 s - 10 = 0
      { 12 t - 14 s = - 16 21 t - 12 s = - 3
      { 6 t - 7 s = - 8 7 t - 4 s = - 1
      { 24 t - 28 s = - 32 49 t - 28 s = - 7
      25 t = 25 t = 1 7 - 4 s = - 1 s = 2
      A 5 , 5 , 11 B 3 , 6 , 12
      x - 5 2 = y - 5 - 1 = z - 11 - 1

コード

#!/usr/bin/env python3
from sympy import symbols
from sympy.plotting import plot3d_parametric_line

print('26.')

t = symbols('t')

for i, o in enumerate([[(4 + 3 * t, 3 + 2 * t, t),
                        (t - 6, -1 * t + 7, t),
                        (-3 * t + 1, 2 * t + 1, 5 * t - 1)],
                       [(2 * t + 1, 3 * t - 1, t + 9),
                        (t + 2, 4 * t + 2, -2 * t + 14),
                        (2 * t + 5, -1 * t + 5, -1 * t + 11)]], 1):
    p = plot3d_parametric_line(
        *[(*xyz, (t, -10, 10))
          for xyz in o],
        legend=True,
        show=False,
    )
    colors = ['red', 'green', 'blue', 'brown', 'orange',
              'purple', 'pink', 'gray', 'skyblue', 'yellow']
    for o, color in zip(p, colors):
        o.line_color = color

    p.save(f'sample26_{i}.png')

p.show()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample26.py
26.
%

0 コメント:

コメントを投稿