数学回続き
この辺の続き。
二つのベクトル A, B において、B に対して A 方向から垂直に光が当たったと仮定する。
この時、影となった部分のベクトルを「射影」という。
この射影の長さは、垂直の三角形の関係から計算できるので、内積角が分かっているなら
また、内積 を利用して射影をベクトルとして処理する場合
で、これが何の役に立つか…って「影」って言ってるよね(汗
ゲームでおなじみの影の処理で普通に使われております。
行列計算のブロック化
例えば次の様な行列 A, B について、 AB を求めたいとしたとき
このような行列のドット積を考えるとき
同様に
と分割し、 を考えると
の式に展開できる。
これを順に計算していく。
左上をまず計算すると
こんなノリで残りを計算して
検算してみると
import numpy as np a = np.array([ [1,1,1,2], [0,1,1,1], [0,0,1,1], [0,0,1,1] ]) b = np.array([ [2,1,1,1], [0,1,1,1], [0,0,2,1], [0,0,1,1] ]) print(a.dot(b))
[[2 2 6 5] [0 1 4 3] [0 0 3 2] [0 0 3 2]]
と、正しく計算された。