- こちらの文献をまとめる。
- 始めましょうか
- 動機
- 例
- 原点を通る直線は、単位円と2回交わる
- 上半円は、X軸を除き、1個の交点を持つ。
- Antipodal point対蹠点
- 対蹠点同士をくっつける
- すると、円になる。
- 射影直線
- 直線を、単位円上の2点と見なして、その2点を同一視する(上半円上の点とする、ただし、X軸上なら(1,0))
- 3次元に拡張する。
- すると、上半球面を考える。
- 対称的正定値行列(Symmetric Positive Definite Matrices)
確認
import numpy as np
s = np.array([[1,3],
[3,10]])
a = np.array([[3,4],
[2,1]])
ans = np.dot(a,s)
ans = np.dot(ans,a.T)
print(ans)[[241 79] [ 79 26]]
- お絵描きする。
- Steiner’s Roman曲面
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
# データ生成していく、u,vで2つの自由度持たせている。
u = np.linspace(0, 2 * np.pi, 10000)
v = np.linspace(0, np.pi, 10000)
#numpy.outerを使っているのは、u,vの2つの自由度を持たせたら、行列になる。
#なので、行列を作るために、2つのリスト(ベクトル)の外積を取った
x = 10 * np.outer(np.cos(u), np.sin(v))
y = 10 * np.outer(np.sin(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))
#表面を表示する・プロットしていく
fig = plt.figure(figsize=(8,8))
ax = fig.add_subplot(111, projection='3d',facecolor="w")
#plt.savefig("3d_ball.jpg",dpi=120)
plt.show()
バイバイ!