Skip to main content
Tweeted twitter.com/#!/StackGameDev/status/530821242475929600
deleted 66 characters in body; edited title
Source Link
user1430
user1430

With a 4x4 matrix, what does What is the other edge domeaning of the row "opposite" the translation column?

Usually, weI do ourmy matrix multiplication like this, for example just some shifting around:
[1 0 0 dx] _ [px] _ [px+dx]
[0 1 0 dy] _ [py] _ [py+dy]
[0 0 1 dz] * [pz] = [pz+dz]
[0 0 0 1] __ [1] ___ [1]
We put

[1 0 0 dx] | [px] [px + dx] [0 1 0 dy] | [py] [py + dy] [0 0 1 dz] | [pz] = [pz + dz] [A B C 1] | [1] [1] 

Where the translation amountis along the right hand-hand edge of the matrix.

While programming aroundOnce, I forgot about that and put them on the lower line instead, on the places marked in boldas A B C above.

I wonder what thatWhat did that do to the Pointsresulting points? With With the upper-left 3x3 in the left top being an identity matrix, and the d'stranslation being zero, nothing happened to my point

[1 0 0 0] _ [1] _ [1]
[0 1 0 0] _ [1] _ [1]
[0 0 1 0] * [1] = [1]
[1 2 3 1] _ [1] _ [7]

[1 0 0 0] | [1] [1] [0 1 0 0] | [1] [1] [0 0 1 0] | [1] = [1] [1 2 3 1] | [1] [7] 

except that 1 we always use in fourth place gets changed (meaning. Does this mean further multiplication with the point results in a mess?)

What am I doing by makingchanging the fourth coordinate changebottom row?

With a 4x4 matrix, what does the other edge do?

Usually, we do our multiplication like this, for example just some shifting around:
[1 0 0 dx] _ [px] _ [px+dx]
[0 1 0 dy] _ [py] _ [py+dy]
[0 0 1 dz] * [pz] = [pz+dz]
[0 0 0 1] __ [1] ___ [1]
We put the translation amount along the right hand edge of the matrix.

While programming around I forgot about that and put them on the lower line instead, on the places marked in bold above.

I wonder what that did to the Points? With the 3x3 in the left top being an identity matrix, and the d's being zero nothing happened to my point

[1 0 0 0] _ [1] _ [1]
[0 1 0 0] _ [1] _ [1]
[0 0 1 0] * [1] = [1]
[1 2 3 1] _ [1] _ [7]

except that 1 we always use in fourth place gets changed (meaning further multiplication with the point results in a mess?)

What am I doing by making the fourth coordinate change?

What is the meaning of the row "opposite" the translation column?

Usually, I do my matrix multiplication like this:

[1 0 0 dx] | [px] [px + dx] [0 1 0 dy] | [py] [py + dy] [0 0 1 dz] | [pz] = [pz + dz] [A B C 1] | [1] [1] 

Where the translation is along the right-hand edge of the matrix.

Once, I forgot about that and put them on the lower line instead, on the places marked as A B C above.

What did that do to the resulting points? With the upper-left 3x3 being an identity matrix, and the translation being zero, nothing happened to my point

[1 0 0 0] | [1] [1] [0 1 0 0] | [1] [1] [0 0 1 0] | [1] = [1] [1 2 3 1] | [1] [7] 

except that 1 we always use in fourth place gets changed. Does this mean further multiplication with the point results in a mess? What am I doing by changing the bottom row?

Source Link
Ralf
  • 21
  • 1

With a 4x4 matrix, what does the other edge do?

Usually, we do our multiplication like this, for example just some shifting around:
[1 0 0 dx] _ [px] _ [px+dx]
[0 1 0 dy] _ [py] _ [py+dy]
[0 0 1 dz] * [pz] = [pz+dz]
[0 0 0 1] __ [1] ___ [1]
We put the translation amount along the right hand edge of the matrix.

While programming around I forgot about that and put them on the lower line instead, on the places marked in bold above.

I wonder what that did to the Points? With the 3x3 in the left top being an identity matrix, and the d's being zero nothing happened to my point

[1 0 0 0] _ [1] _ [1]
[0 1 0 0] _ [1] _ [1]
[0 0 1 0] * [1] = [1]
[1 2 3 1] _ [1] _ [7]

except that 1 we always use in fourth place gets changed (meaning further multiplication with the point results in a mess?)

What am I doing by making the fourth coordinate change?