| View previous topic :: View next topic |
| Author |
Message |
jonbrooks2 Newbie

Joined: 03 Jun 2004 Posts: 2 Location: UK
|
Posted: Tue Jun 08, 2004 12:01 am Post subject: Concise Homogeneous Matrix |
|
|
I am trying to construct a homogeneous matrix in concise notation as used in David Eberly's book Game Engine Design. This has 4 elements in the matrix divided by a cross structure. It doesn't matter particularly what the elements are for the sake of the question, but since this representation is new to me I will describe it for those who also don't know since it took me a while to figure it out. (Using column major order)
The top left element is the 3x3 non-homogeneous matrix, the top right element is a column translation vector, the bottom left is a row scaling vector and the bottom right element is a single scalar. If anyone in the know finds this explanation misleading, please feel free to comment.
Anyone know how to construct such a formula?
thanks
Jon |
|
| Back to top |
|
 |
RGB Super User


Joined: 25 Nov 2003 Posts: 1743 Location: In Lombardy, near a glass of red Tuscany wine
|
Posted: Tue Jun 08, 2004 12:53 am Post subject: |
|
|
For the cross, I have no idea, and think is not possible. You can do a vertical line with mline:
| Code: | | left[binom{a }{a} mline binom{b}{b} right] |
but no more. For the array, I not so sure about what you meant with non-homogeneous matrix and the other stuff, but maybe you could try inserting a matrix inside a matrix:
| Code: | | left[matrix{{left( matrix{a # a #a ## a # a # a ## a # a # a}right) } # left(stack{d # d # d} right) ## left(matrix {b # b} right) # c} right] |
Good luck |
|
| Back to top |
|
 |
Ole Holm Newbie

Joined: 25 Oct 2004 Posts: 3
|
Posted: Tue Oct 26, 2004 11:18 am Post subject: |
|
|
I can't get the horisontal lines right, but isn't this a bit closer
| Code: | left [ matrix{a # a #a ## a # a # a ## a # a # a } mline stack {b # b # b } right ] newline
overline {left [matrix {c # c # c``} mline x right ]} |
Horisontal lines doesn't seem to be the easiest thing to come around |
|
| Back to top |
|
 |
RGB Super User


Joined: 25 Nov 2003 Posts: 1743 Location: In Lombardy, near a glass of red Tuscany wine
|
Posted: Wed Oct 27, 2004 1:39 am Post subject: |
|
|
Two variants:
| Code: | left[stack{underline matrix{a # a #a ## a # a # a ## a # a # a }#matrix {c # c # c}}mline stack{underline stack {b # b # b }#a} right]
newline
left[stack{{matrix{a # a #a ## a # a # a ## a # a # a }csub{"___________"}}#matrix {c # c # c}}mline stack{{stack{b # b # b }}csub{"__"}#a} right] |
And now, to work...  |
|
| Back to top |
|
 |
dkeith Power User

Joined: 01 Nov 2003 Posts: 93 Location: UK
|
Posted: Wed Oct 27, 2004 3:33 am Post subject: |
|
|
Here's another attempt:
| Code: | | left[{matrix{a#a#a##a#a#a##a#a#a} over matrix{c#c#c}} mline {stack{b#b#b}} over d right] |
|
|
| Back to top |
|
 |
|