--- title: 矩陣運算 tags: math, calculation --- # 矩陣(Matrix) 在數學和程式領域,基本上矩陣是一個很常見且容易設計的一個用法, 但在Minecraft中這是一個非常難以設計的東西, 最大的原因是在於「Minecraft處理二維陣列和動態陣列」非常不便, --- ## 如何儲存自定義矩陣 ### 方塊陣列 利用方塊來儲存矩陣的值: 已知在一個chunk中,x和z一共有16格,y為256格, 也就是在一個chunk中一共可以儲存16\*16\*256=65536格方塊, 又或著是可以看成256個大小為16x16的矩陣 (方塊內亦可用其他資料來額外儲存矩陣) ### 二維陣列 最方便的做法是將矩陣的二維陣列、長與寬存入一個Compound中,利用長寬的數值可以實現矩陣的相對位置計算的功能 --- # 矩陣運算(Matrix Operation) ### 矩陣加法與減法(Matrix Addition & Subtraction) 若兩個矩陣等大, 將欄位的值加上或減去另一個矩陣對應欄位上的值, ### 矩陣乘法(Matrix Multiplication) 可套用向量內積的方式計算: 1. 幾何點與角度 2. 乘積和 一般而言,使用第一種方式的效率是最好的, 但在小矩陣,如2x2矩陣乘積時使用第二種會更好