# Matrix nodes All the nodes below will return an "Odyssey Matrix Structure" value, whose the target is the input "Transform" in the epnoymous node :  ## Make Scale Matrix  Uses Float input to scale a block on X and Y axis. Value is a normalized percentage (0 = 0% | 0.5 = 50% | 1 = 100% | 2 = 200%). ## Make Rotation Matrix  Uses a Float input to rotate a block. Value is an angle (from 0° to 359,99°). ## Make Shear Matrix  Uses Float input to shear a block on X and Y axis. Value is a normalized percentage (0 = 0% | 0.5 = 50% | 1 = 100% | 2 = 200%).   ## Make Translation Matrix  This node is necessary when using a Block as a reference to make a translation from it, especially to define the origin X / Y of the Block before apllying any other modification (Scale, Rotate, etc).  If we combine the following nodes, we will be able to define the origin X / Y of the block thanks to Delta X and Delta Y:  The calculation of Block origin is done as follow : Δx = Width (Size X) / -2 Δy = Height (Size Y) / -2  This is a mandatory step, especially for macros that will rescale a Block. ## Compose Matrix  Composes 2 different matrices together. ## Get Matrix Result Rect  This node combines an "Odyssey Matrix Structure" input and an "Odyssey Rectangle Structure" input. Basically, the Rectangle can be the original Block used before any Matrix gets applied. The node "Get Block Rectangle" might be then necessary.  From that point, "Get Matrix Result Rect" shall be broken with Break Odyssey Rectangle. Width and Height will be then used to : • make another Translation Matrix to define the final X-Y value of the Rectangle • define the final Width and Height Output of the Block  ## Make Identity Matrix  This node sends a neutral value. Can be useful for complex operations that requires a neutral entry.