Is it possible to perform math operations with transform data? For instance, if I have a rotation transform data and I want to divide it by 2 is there a simple way to do it? I know if I deconstruct the Transform matrix divide some parameters by 2 and then bundle them back together it’s probably possible but requires a lot of fiddling.
@anon39580149 Hmm, the smart trigonometry solution, really thanks. But I suppose there will be much more fiddling if there is a 3D revolution instead of simple 2D. Anyway I get the idea, I will try to write a more universal solution for 3D revolve data as well
Matrices are sometimes invertible and you could play with that… Most of the time though, transformation matrices are a sum of transformations, specially in 3d. Keep in mind that the order of e.g. rotations is crucial. In this case, “half a transformation” is a bit difficult to define.
The solution for 3d rotation is possible by finding (yaw, pitch, roll)
But the problem that python can’t recognize your internalized transform as rotation so we can’t use GetYawPitchRoll.
@benedict So, it’s often convenient to use relative Transform data during modeling to avoid creating every time spaghetti monster from common components
Converting a rotation to yaw/pitch/roll, then performing a rotation by a multiple of these angles does not in general give you a multiple of the original rotation. It will get to the same result when multiplying by 1, but along the way can follow some strange curves.
Any compound of rotations can be seen as a rotation around a single axis. To get this from a transformation in RhinoCommon you can convert to Quaternion, and from this get the Axis and Angle. Then you can multiply the angle and get exactly what you would if multiplying the angle of the original rotation.