How to create my own transformation matrix

Hi. I’m new to VVVV and really love how powerful it is and how quickly I can implement and test ideas. I want to create a transformation matrix that uses elements of a 3D vector [lx, ly, lz] in this way: [ [0 lz -ly] [-lz 0 lx] [ly -lx 0] ]. My initial attempts included trying to change an IOBox (3d vector) node to have multiple inputs but I’m still having trouble. I’d appreciate your time in showing me how to do this. Best regards.

The way I have managed to do this is to create three separate spreads using an IOBox (3D vector node) by setting the slice in each to be what I want (using the setSlice node). Finally using the ‘cons’ node to concatenate each spread.

Is there a more efficient way?

hm…not really sure what you’d need this for since it should always be much more comfortable to just use some of the transform (scale, rotate, translate) nodes to create the desired transformation, but you can of course always configure an iobox to return a spread of 3x3 that you can edit directly in one box. see also the helppatch of IOBox (Value Advanced) for some example configurations.

Thanks for your time in getting back to me… I want to rotate a 3d vector about another vector normal to a plane… I’ve been using the Rodrigues’ rotation formula but I feel this is an overkill. Wasn’t sure how to use the rotate node to do this… would be very grateful for your help

if you want to rotate around an axis (normal of the plane), the you need the AxisAngle (Set Vector) node. it outputs a quaternion that you can put into Rotate (Point Vector) node.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.