Matrices and tidiness in compounds' PPG.
Matrices and tidiness in compounds' PPG.
So there's Multiply 3D Vector by Matrix and usually works fine for getting world space point positions calculations but I found myself trying to get all sorts of operations that only required a portion or actually "Divide 3D Vector by Matrix", but didn't find it (Strangely there's only divide by scalar not even by vector). So I went berserk and did a "big", monolithic compound to handle these for me, once and for all.
Multiplying or Dividing matrices and then apply them to the point positions, filtering channels, inverting, etc. But I ended up with a very long vertical PPG. To start off each matrix input occupies a lot of space. Plus for filters I'm using 4D Vectors one for each SRT component; so XYZ filter each scalar channel respectively and W filters the three channels all around. Instead of number inputs I wished they were just check boxes like:
Filters ON: ☑
Scale
X ☑ Y ☑ Z ☑ All ☑ Invert ☐
Rotation
X ☑ Y ☑ Z ☑ All ☑ Invert ☐
Translation
X ☑ Y ☑ Z ☑ All ☑ Invert ☐
But, having several boolean inputs in the PPG looks like:
X ☑
Y ☑
Z ☑
All ☑
Invert ☐
So, can one hide some input from the PPG (who writes in matrices?) or have a 2D array of tidy checkboxes? I'm asking because I'll be using several of these at a time and these conversion routines can get confusing and messy, especially for other people when I post it, and a clean PPG would help in understanding what that node is actually doing.
Cheers
Multiplying or Dividing matrices and then apply them to the point positions, filtering channels, inverting, etc. But I ended up with a very long vertical PPG. To start off each matrix input occupies a lot of space. Plus for filters I'm using 4D Vectors one for each SRT component; so XYZ filter each scalar channel respectively and W filters the three channels all around. Instead of number inputs I wished they were just check boxes like:
Filters ON: ☑
Scale
X ☑ Y ☑ Z ☑ All ☑ Invert ☐
Rotation
X ☑ Y ☑ Z ☑ All ☑ Invert ☐
Translation
X ☑ Y ☑ Z ☑ All ☑ Invert ☐
But, having several boolean inputs in the PPG looks like:
X ☑
Y ☑
Z ☑
All ☑
Invert ☐
So, can one hide some input from the PPG (who writes in matrices?) or have a 2D array of tidy checkboxes? I'm asking because I'll be using several of these at a time and these conversion routines can get confusing and messy, especially for other people when I post it, and a clean PPG would help in understanding what that node is actually doing.
Cheers
- Attachments
-
- PPG_Matrix.png (8.4 KiB) Viewed 2379 times
-
- PPG_Matrix_Filters.png (8.93 KiB) Viewed 2379 times
Re: Matrices and tidiness in compounds' PPG.
I think this mock-up pic shows better what kind of PPG panel I would like to have on the compound.
By the way the main motivation to do such compound at this time is because Matrix to SRT and SRT to Matrix give don't return inverted matrices correctly. There's no Transformation Order option, like for example Rotation to Euler and Euler to Rotation give (XYZ, XZY, YXZ, etc...). So if I invert a Matrix passing it by those two node will break the Matrix Transformation Order.
Do you guys use some other solution other than doing it one self? I'm on it, just wanted to know if I was wasting my time completly
Anyways I think this is something that could be included on those nodes.
Cheers
EDIT: on the images had a wrong text.
By the way the main motivation to do such compound at this time is because Matrix to SRT and SRT to Matrix give don't return inverted matrices correctly. There's no Transformation Order option, like for example Rotation to Euler and Euler to Rotation give (XYZ, XZY, YXZ, etc...). So if I invert a Matrix passing it by those two node will break the Matrix Transformation Order.
Do you guys use some other solution other than doing it one self? I'm on it, just wanted to know if I was wasting my time completly
Anyways I think this is something that could be included on those nodes.
Cheers
EDIT: on the images had a wrong text.
Last edited by probiner on 21 Jan 2014, 03:59, edited 2 times in total.
Re: Matrices and tidiness in compounds' PPG.
Well, that's because you can't divide a vector by a matrix. Or do you mean multiply a vector by the inverse of a matrix? That's not quite the same thing.probiner wrote:So there's Multiply 3D Vector by Matrix and usually works fine for getting world space point positions calculations but I found myself trying to get all sorts of operations that only required a portion or actually "Divide 3D Vector by Matrix", but didn't find it (Strangely there's only divide by scalar not even by vector).
Also, "divide by vector" is mathematically meaningless and undefined.
What exactly are you trying to do?
Sorry, this makes very little sense to me. If you have a matrix and want to invert it, why not just use the Invert node?probiner wrote:By the way the main motivation to do such compound at this time is because Matrix to SRT and SRT to Matrix give don't return inverted matrices correctly. There's no Transformation Order option, like for example Rotation to Euler and Euler to Rotation give (XYZ, XZY, YXZ, etc...). So if I invert a Matrix passing it by those two node will break the Matrix Transformation Order.
Matrix to SRT and SRT to Matrix have nothing to do with inverses, they just convert between matrix and SRT representations of transforms. They don't account for rotation order because they deal with rotations in axis+angle form -- only rotations expressed as Euler angles need to specify the order.
Again, what exactly are you trying to do? I think you might need to study up some more on transformations and linear algebra.
Re: Matrices and tidiness in compounds' PPG.
I need to study many things, those ones included. Any web site comes to mind?grahamef wrote:Again, what exactly are you trying to do? I think you might need to study up some more on transformations and linear algebra.
In my ignorance I use a brute force approach on problems and then I try to output as much as I can, and it seems to come out as a mess. I'm sorry. Let me try again as I know I got a point (somewhere).
What do I want?
1a - Have a compound where I decompose a matrix so I can filter its components, channels, and choose both SRT transform and rotation orders. I have it already but only outputting the Multiplied Vector.
1b - In the compound, output the final matrix after having all those changes. But right now I can't, because SRT to Matrix as no Transform Order, only uses SRT order. (explained further on the post)
2 - Get a better PPG look for a matrix input and a 2D array of check-boxes for UI clarity.
Oh why not? I thought following 3 / 5 == 3 * 1/5 would do fine. I know the multiplication order with matrices matters.grahamef wrote: Well, that's because you can't divide a vector by a matrix. Or do you mean multiply a vector by the inverse of a matrix? That's not quite the same thing.
Anyways an Inverted Matrix fed onto "Multiply by 3D Vector" does what I want; instead of applying the kinematics, it takes them. But there's a problem!
If you split and combine the Matrix (I want to filter stuff, right?) it comes out with differences!! That's because "SRT to Matrix" does not respect the Inverted matrix Transform Order, TRS.
You misread me. I did not said there was a relation with Rotation Order. Just that "Matrix to SRT" does not offer a Transform Order option like "Euler to Rotation" offers Rotation Oder. See below!grahamef wrote: Matrix to SRT and SRT to Matrix have nothing to do with inverses, they just convert between matrix and SRT representations of transforms. They don't account for rotation order because they deal with rotations in axis+angle form -- only rotations expressed as Euler angles need to specify the order.
Upper Tree is the same as "Multiply 3D Vector by Matrix".
Bottom Tree is the same as "Multiply 3D Vector by Matrix" with an Inverted Matrix.
They use different Trasform Orders. SRT and TSR. But there's no way in "SRT to Matrix" to output a TRS Multiplication Order, so I don't know how to combine again the components into a matrix output.
I'm sure I was not the first to notice this! So I was asking how you guys deal with it.
Cheers
Edit: Now I came to realise that Softimage doesn't even offer SRT Transform Order not even the Kinematics options ._.
-
- Posts: 91
- Joined: 19 Dec 2012, 18:16
Re: Matrices and tidiness in compounds' PPG.
the linear algebra wiki, or transformation matrix wiki page would be a good place to start.
it's not free, but certainly worth every penny. This CGsociety workshop has two sections on linear algebra, and Raff does a great job of introducing transformation matrices, and explaining them quite well using ICE to visualize.
https://tod.cgsociety.org/index.php/hom ... ith_python
it's not free, but certainly worth every penny. This CGsociety workshop has two sections on linear algebra, and Raff does a great job of introducing transformation matrices, and explaining them quite well using ICE to visualize.
https://tod.cgsociety.org/index.php/hom ... ith_python
Re: Matrices and tidiness in compounds' PPG.
@Missingkey that CGSociety Training seems to be an all around pill of information I'm needing. ICE, Python, Linear Algebra! Did you take it? It has its price but if the value is there, it's actually cheap.
When you said the wikis, you meant SI wiki pages and not entire wikis dedicated to wither linear algebra and transformation matrices, right? Thank you again
Some interesting info here: http://vinyldevelopment.wordpress.com/2012/03/30/simple-introduction-to-matrixs-in-softimage/
Closing my compound up. PPG issue was solved with "Select Case". I dislike drop-down menus but for fast checking of options was the best PPG solution.
So my sole issue now is having a Matrix output with all the filtering and Orders taken into account so I can use it on objects' kinematics and not just output transformed point positions. I hope that when I sit to study these matters the solution afterwards seems very simple to me, because right now it's like a conundrum with that 4x4 grid looking at me.
Fixed last post's second image falacious data.
Cheers
When you said the wikis, you meant SI wiki pages and not entire wikis dedicated to wither linear algebra and transformation matrices, right? Thank you again
Some interesting info here: http://vinyldevelopment.wordpress.com/2012/03/30/simple-introduction-to-matrixs-in-softimage/
Closing my compound up. PPG issue was solved with "Select Case". I dislike drop-down menus but for fast checking of options was the best PPG solution.
So my sole issue now is having a Matrix output with all the filtering and Orders taken into account so I can use it on objects' kinematics and not just output transformed point positions. I hope that when I sit to study these matters the solution afterwards seems very simple to me, because right now it's like a conundrum with that 4x4 grid looking at me.
Fixed last post's second image falacious data.
Cheers
-
- Posts: 91
- Joined: 19 Dec 2012, 18:16
Re: Matrices and tidiness in compounds' PPG.
well I didn't take the workshop when it was offered. But I do have access to it through the CGTOD (training on demand). It's alot of info, that's actually really hard to find elsewhere. I think if your ready for it, then it's worth every penny. It can be frustrating though.
the SI wiki page, or just any linear algebra wiki. It's all relative.
BTW, I'm really not sure what your trying to achieve with different transformation orders? can you elaborate a bit?
the SI wiki page, or just any linear algebra wiki. It's all relative.
BTW, I'm really not sure what your trying to achieve with different transformation orders? can you elaborate a bit?
- Daniel Brassard
- Posts: 878
- Joined: 18 Mar 2010, 23:38
- Location: St. Thomas, Ontario
- Contact:
Re: Matrices and tidiness in compounds' PPG.
Maybe this information will help, It's old but still relevant.
http://www.isner.com/Transform/IsnerTra ... nip_04.htm
http://www.isner.com/Transform/IsnerTra ... nip_04.htm
$ifndef "Softimage"
set "Softimage" "true"
$endif
set "Softimage" "true"
$endif
- Daniel Brassard
- Posts: 878
- Joined: 18 Mar 2010, 23:38
- Location: St. Thomas, Ontario
- Contact:
Re: Matrices and tidiness in compounds' PPG.
And, this is my matrix transform testbed.
I am showing a shear on X axis on the matrix as an example. I don't use the Matrix to SRT and SRT to Matrix nodes.
Hope that help, Expand as you wish.
I am showing a shear on X axis on the matrix as an example. I don't use the Matrix to SRT and SRT to Matrix nodes.
Hope that help, Expand as you wish.
$ifndef "Softimage"
set "Softimage" "true"
$endif
set "Softimage" "true"
$endif
Re: Matrices and tidiness in compounds' PPG.
Some applications allow one to do this, like Modo where the Transforms can be moved up and down the stack: http://docs.luxology.com/modo/701/help/ ... nnels.htmlmissingkey wrote:BTW, I'm really not sure what your trying to achieve with different transformation orders? can you elaborate a bit?
For some effects it can come handy. Example. Steached cartoon eye. Transform Order changed to Rotation Scale Translation as it's applied on Point Positions.
Since my compound is a Matrix Filter I wanted to mute/flip certain channels to have fine control. But with the current nodes it is not straight forward for anything other than SRT it seems. And I wanted to ouput a Matrix also to Kinematics, not only PointPosition.
Below SRT to Matrix differential with an Inverted Matrix apparently that 3x3 upper left space contains all the differences.
Sure, I now came with a different approach. Filter the Matrix first (Matrix to SRT/SRT to Matrix), then Invert it at the end. Still only SRT and TRS, but good enough for most conversion tasks ._.
Of course not, because you're a freaking ninja But you decompose the matrix into components and then back into matrix?Daniel Brassard wrote:I am showing a shear on X axis on the matrix as an example. I don't use the Matrix to SRT and SRT to Matrix nodes.
Hope that help, Expand as you wish
I wouldn't know how to expand that right now.
The link you posted looks like it will be very useful. Thanks.
Now I need time... some good ammount of time
Cheers
Who is online
Users browsing this forum: No registered users and 48 guests