There is such a mysterious fact about linear transformations: some of them, namely non-uniform scaling and translation, for some reason distinguish between "ordinary" vectors and normals. When we transform a "normal" vector by a matrix, then the normals for some reason need to be transformed by an inverse transposed matrix. How to understand this?
With the help of simple calculations, you can make sure that the inverse transposed matrix preserves the perpendicularity of the normals to its tangent planes. To some extent, this proof is sufficient, but it misses a deeper and more interesting story about the geometry behind it all. This is the story I want to tell in the next few articles.
Units and scaling
Here's a quick rundown before we dig into the heart of the article. Consider good old uniform scaling (one factor across all axes). It's hard to think of a more innocuous transformation - it's just the multiplication of all vectors by the same number.
But upon closer inspection, something not entirely trivial is happening here. Certain quantities carry with them physical "dimensions" or "units" such as lengths, areas, and volumes. When scaling, these values ββchange in accordance with their units. Some values ββare generally "dimensionless" and do not change when scaled.
As an example, let's list all the possible behavior of units when scaling in three-dimensional space. We denote the scale factor asa > 0... Then:
- Dimensionless numbers do not change, in other words, they are multiplied bya 0...
- The lengths are multiplied bya...
- Areas are multiplied bya 2...
- Volumes are multiplied bya 3.
: , : - 1a.
- 1a 2.
- 1a 3.
, , . 3D- , , , .
, ( ) , : , ( ), , - . , -3 3. , k- , a k.
( Β± 4 , . , 3D.)
, - . ? ? ? -, .
, . , . , Geometric Algebra for Computer Science. .
β , , , , . k-, k β . , β . .
β ( ) , . , , . , .
, , . , . , . , , , .
, β , , . , , , , .
. , , . , , "" "", "" "". , , .
Μ , . , k- . .
k-
, . v = ( x , y , z ), , v :
v = x e x + y e y + z e z
e x, e y, e z x, y, z. B :
B = p e y z + q e z x + r e x y
e x y β , x y. e y z ezx . , , . " " (p,q,r), .
:
T=texyz
, 3D , : "" (xyz). β exyz .
, : ( 1), ( 2) ( 3). 0. , , , β§. , , :
exβ§ey=exy
, , . , ( ).
, "" . , , . , .
, , .
exβ§eyβ§ez=exyβ§ez=exyz
" ", , , .
, . . a :
(au)β§v=uβ§(av)=a(uβ§v)
, . u,v :
uβ§v=β(vβ§u)
. -, : vβ§v=0. , . , uβ§v=0 u v . , uβ§vβ§w=0 u,v,w .
3 . , .
k-
, , β , β . ?
, , - . a>0 , a,a2,a3 . , , .
, :
vβ¦Mv
[xyz]β¦[a000a000a][xyz]=[axay.az]=av
v , x,y,z, , a , , .
? ( ), . . , , :
B=uβ§v(uβ§v)β¦(Mu)β§(Mv)=(au)β§(av)=a2(uβ§v)=a2B
! , a, a2, .
, . , - a3. :
T=(uβ§vβ§w)(uβ§vβ§w)β¦(Mu)β§(Mv)β§(Mw)=(au)β§(av)β§(aw)=a3(uβ§vβ§w)=a3T
. , ?
, . 3 x, . :
M=[300010001]
: x 3, y,z . , : , x , yz β .
? . , "" . x , . : , yz, , , x, .
, . , , :
B=peyz+qezx+rexy
M , . M :
eyz=eyβ§ezβ¦(Mey)β§(Mez)=eyβ§ez=eyzezx=ezβ§exβ¦(Mez)β§(Mex)=ezβ§3ex=3ezxexy=exβ§eyβ¦(Mex)β§(Mey)=3exβ§ey=3exy
: eyz , ezx exy 3, x.
, M B:
Bβ¦peyz+3qezx+3rexy
, , B , :
[ p q r ] β¦ [ 1 0 0 0 3 0 0 0 3 ] [ p q r ] = [ p 3 q 3 r ]
, , . : M .
: M :
M - T = [ 13 00010001]
?
β , . .
nΓn . i- j- :
- nΓn i j. (nβ1)Γ(nβ1).
- .
- (β1)i+j, i+j . !
nΓn, .
, ? peyz. yz, , M y z. 1,1 M 2Γ2, M y z. , , yz!
- , eyz,ezx,exy , , M . , , M . , , .
( , . exz ezx. .)
, , n (nβ1)- . , k- (nβk)- , nβk .
. . : 3D. , (p,q,r) β (x,y,z) !
. , . , B :
Bβ§v=0
v, B , . , , , B v .
:
(peyz+qezx+rexy)β§(xex+yey+zez)=0(pxeyzx+qyezxy+rzexyz)=0(px+qy+rz)exyz=0px+qy+rz=0
. , , (, eyzβ§ey=0). exyz, , . . , exyz .
(p,q,r) (x,y,z)! , nβ v=0 n=(p,q,r).
, (p,q,r) eyz,ezx,exy ex,ey,ez. , . , . .
, - . β . ( ) " ".
, . , "" , . ? , , ? , , ( ). .
: , , -3 3. , k- k0 to 3. But what about vector units with negative degrees of scale? Do they exist? If so, what are they?
In the next episode, we will dig even deeper and complicate our geometric story even more.