Cum se analizează matricea pe scară, se rotește, se traduce, se deplasează stivă în rusă

Lucrul este, getComputedStyle (element) .getPropertyValue ("transform") returnează matricea (a, c, b, d, tx, ty). C traduce totul pare simplu: translateX = tx. translateY = ty. Iată cum să trageți scara, rotiți, oblic, nu înțeleg un pic, deoarece în primul rând în rotație și scară ar trebui să fie grade, în al doilea: ca skewX = b. skewY = c. și scaleX = a. scaleY = d. dar în același timp să rotim elementul în matricea a = cos (x). b = sin (x). c = -sin (x). dcos (x). În general, din setul de parametri matrice pe care l-aș fi construit, dar din parametrii de tragere a matricei nu înțeleg cum. Vă rog să-mi spuneți cum să traduceți matricea într-o limbă simplă înțeleasă de omul obișnuit sau să-mi spuneți cum puteți obține proprietatea de transformare nu în matrice. dar la scară. roti. traduce. oblic?

a fost văzută ultima dată pe 8 decembrie 15 la 19:55

Proiectul de specificație descrie ce înseamnă valorile.

Transformările se realizează folosind o matrice de transformare, în general (3D) o matrice de 4x4

Matricea pe care o obțineți matricea (a, c, b, d, tx, ty) este reprezentată după cum urmează:

După cum ați observat în mod corect: tx, ty - responsabil pentru mișcare.

Scalarea corespunde valorilor situate pe diagonala principală, în cazul nostru este a, d. La el a - scalarea pe lățime, d - înălțime.

c, b - responsabil pentru panta

și toate împreună a, b, c, d - pentru o întoarcere.

Mai multe detalii pot fi văzute în imagine

Cum se analizează matricea pe scară, se rotește, se traduce, se deplasează stivă în rusă

@ Kirpich643, de fapt, dacă sunt aplicate mai multe transformări care definesc lor foarte non-triviale, deoarece transformările reprezintă un plus de matrice-vector sau matrice, și din moment ce avem doar două stări: o inițiale - de fapt matricea de identitate și finite - este foarte problematică cunoașterea vectorului pe care se înmulțește matricea - Grundy Dec 9 '15 la 6:13 am