行列の基本とアフィン変換
2×2行列で平面の空間を伸縮・回転・せん断させる幾何学
- 1
- 行列の基本とアフィン変換の本質的な定義と直感的ビジュアルをシミュレーターで体験できる。
- 2
- 公式や証明の背景にある数学的意味と、厳密な導出ステップを解説。
- 3
- 実社会における工学応用(CSS / WebGL における 2D アフィン変換マトリクス)のTypeScript実装コードを収録。
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
膨大な数の未知数が絡み合う連立方程式を、1つの塊(ブロック)としてまとめて扱い、一括で解くために考案された。
身につく武器・思考力
数万個の座標やデータ点を、たった1回の行列の掛け算で「回転・拡大・移動」させる並列計算の思考体系が身につく。
実社会・ITでの活躍現場
- •PhotoshopやInstagramの画像フィルター、アフィン変換(回転・歪み補正)
- •GPU(グラフィックスプロセッサ)による毎秒数百億回の行列並列演算
- •ディープニューラルネットワークにおける入力と重みの大規模積和演算
- •経済学における産業連関表(国全体の産業間の資材の流れ分析)
Layer 1 — 直感・シミュレーター
行列の各成分 a, b, c, d のスライダーを動かしてみよう。正方形グリッドがどのように伸び縮みし、傾き(せん断)、回転するかをリアルタイムに観察できる。行列式の値 det(A) = ad - bc が、変換後の正方形の面積拡大率に対応していることも確認しよう。
↑ 青い矢印は元の の行き先、赤い矢印は の行き先です。行列とは「2本の基本矢印をどこへ飛ばすか」を決めるルールであり、その結果として空間全体が伸縮・回転・せん断します。
Layer 2 — 定義・受験・証明
定義
2次元のベクトル に対し、2行2列の正方行列 を左から掛けることで、新しいベクトル を得る。これは基底ベクトル をそれぞれ へ写す線形写像である。
公式・数理モデル
証明・導出
行列式の図形的意味:単位正方形(面積1)の4頂点 を行列 で変換すると、 を頂点とする平行四辺形に移る。
この平行四辺形の面積は外積(クロス積)の大きさとして計算され、
となる。行列式の値 は空間の面積拡大率を表し、符号が負のときは空間が裏返し(鏡映反転)になっていることを意味する。
押さえておきたいポイント
- 行列の掛け算は、空間の幾何学的な変形(拡大縮小・回転・せん断)を意味する
- 第1列 は 軸の単位ベクトルの行き先、第2列 は 軸の行き先を表す
- 行列式 は図形の面積比率を表す
- のとき、平面は1本の直線または点につぶれて元に戻せなくなる(逆行列が存在しない)
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
CSS / WebGL における 2D アフィン変換マトリクス
ブラウザの CSS transform (`matrix(a, b, c, d, tx, ty)`) や HTML5 Canvas の `ctx.transform(a, b, c, d, e, f)` は、まさにこの行列演算をそのまま利用して画面上の要素を回転・拡大・せん断させている。
1type Point2D = { x: number; y: number };23// 2x2 行列による点ベクトルの変換4function applyMatrix(matrix: [number, number, number, number], p: Point2D): Point2D {5 const [a, b, c, d] = matrix;6 return {7 x: a * p.x + b * p.y,8 y: c * p.x + d * p.y,9 };10}1112// 例: 45度回転行列 [cosθ, -sinθ, sinθ, cosθ]13const theta = (45 * Math.PI) / 180;14const rotMatrix: [number, number, number, number] = [15 Math.cos(theta), -Math.sin(theta),16 Math.sin(theta), Math.cos(theta),17];1819const original: Point2D = { x: 1, y: 0 };20const rotated = applyMatrix(rotMatrix, original);21console.log(rotated); // { x: 0.7071, y: 0.7071 }
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元