Kial estas 4×4 matricoj uzataj por transformi aferojn en 3D?
Kialo Malantaŭ Uzo De 4×4 matricoj por Transformi Aĵojn en 3D
Ekzemple, rotacio estas kutime farita uzante matricon, do por trakti multoblajn transformojn (rotacio/tradukado/skalo/projekcio…ktp) en unuforma maniero, vi devas kodi ilin en matrico.
Nu, pli teknike parolante; transformo estas mapado de punkto/vektoro al alia punkto/vektoro.
p` = T(p);
kie p` estas la transformita punkto kaj T(p) estas la transformfunkcio.
Konsiderante ke ni ne uzas matricon ni devas fari tion por kombini plurajn transformojn:
p1= T(p);
pfinalo = M(p1);
Ne nur matrico povas kombini plurajn specojn de transformoj en ununuran matricon (ekz. afina, lineara, projekcia).
Uzado de matrico donas al ni la ŝancon kombini ĉenojn de transformoj kaj poste multobligi ilin. Ĉi tio ŝparas al ni multon da cikloj kutime per la GPU (dankon al @ChristianRau por atentigi ĝin).
Tfinalo = T * Kiel rompi amidan ligon * P; // tradukiturniprojekto
pfinalo = Tfinalo*p;
Ankaŭ estas bone atentigi, ke GPU-oj kaj eĉ iuj CPU-oj estas optimumigitaj por vektoraj operacioj; CPUoj uzantaj SIMD kaj GPU-oj estantaj datumo movitaj paralelaj procesoroj laŭ dezajno, do uzi matricojn perfekte kongruas kun aparatara akcelo (efektive, GPUoj estis dizajnitaj por konveni matric-/vektorajn operaciojn).
KREDITO:
https://gamedev.stackexchange.com/questions/72044/why-do-we-use-4×4-matricoj-por-transformi-aferojn-en-3d?answertab=aktiva#tab-supro
Lasu respondon
Vi devas Ensaluti aŭ registri aldoni novan respondon.