2020年6月19日金曜日

学習環境

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


  1. |p-a|=2|p-b|
    |p-a|2=4|p-b|2
    (p-a)·(p-a)=4(p-b)·(p-b)
    |p|2+|a|2-2a·p=4|p|2+4|b|2-8b·p
    3|p|2-|a|2+4|b|2+2a·p-8b·p=0
    |p|2-|a|23+43|b|2+23a·p-83b·p=0
    |p-4b-a3|2-19|4b-a|2+23(4b-a)·p-|a|23+43|b|2+23a·p-83b·p=0
    |p-4b-a3|2-49|a|2-49|b|2+89a·b=0
    |p-43(b-a)|2=49(|a|2-2a·b+|b|2)
    |p-43(b-a)|2=49|b-a|2
    |p-43(b-a)|=23|b-a|2
    |p-c|=r

    よって、 点 C を中心とする半径 r の 球面である。

    (証明終)

コード

#!/usr/bin/env python3
import random
from sympy import solve, Matrix, symbols, pprint
from sympy.plotting import plot3d

print('42.')

x, y, z = symbols('x, y, z', real=True)
p = Matrix([x, y, z])
for i in range(2):
    a = Matrix([random.randrange(-5, 6) for _ in range(3)])
    b = Matrix([random.randrange(-5, 6) for _ in range(3)])
    pprint(a)
    pprint(b)
    eq = (p - a).norm() - 2 * (p - b).norm()
    zs = solve(eq, z)
    pprint(zs)
    p3d = plot3d(*zs,
                 (x, -10, 10),
                 (y, -10, 10),
                 show=False)

    p3d.save(f'sample42_{i}.png')

p3d.show()

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

% ./sample42.py
42.
⎡-1⎤
⎢  ⎥
⎢-4⎥
⎢  ⎥
⎣2 ⎦
⎡-5⎤
⎢  ⎥
⎢-2⎥
⎢  ⎥
⎣5 ⎦
⎡       ____________________________________     _____________________________
⎢      ╱      2              2                  ╱      2              2       
⎢    ╲╱  - 9⋅x  - 114⋅x - 9⋅y  - 24⋅y - 261   ╲╱  - 9⋅x  - 114⋅x - 9⋅y  - 24⋅y
⎢6 - ───────────────────────────────────────, ────────────────────────────────
⎣                       3                                        3            

_______    ⎤
           ⎥
 - 261     ⎥
─────── + 6⎥
           ⎦
⎡3⎤
⎢ ⎥
⎢1⎥
⎢ ⎥
⎣3⎦
⎡-3⎤
⎢  ⎥
⎢2 ⎥
⎢  ⎥
⎣1 ⎦
⎡       ___________________________________     ______________________________
⎢      ╱      2             2                  ╱      2             2         
⎢1   ╲╱  - 9⋅x  - 90⋅x - 9⋅y  + 42⋅y - 110   ╲╱  - 9⋅x  - 90⋅x - 9⋅y  + 42⋅y -
⎢─ - ──────────────────────────────────────, ─────────────────────────────────
⎣3                     3                                       3              

_____    ⎤
         ⎥
 110    1⎥
───── + ─⎥
        3⎦
%

0 コメント:

コメントを投稿