I am not able to wrap my head around setting up a shear transformation…
The xform wants a base plane and 3 “scale” vectors… Base plane, OK, but how do the scale vectors work?
Let’s say I want to take a simple cube with the lower left corner at the World origin, and shear it over 45° along the +Y axis (looking at it in right view, that would be a shear angle of -45° if one used the shear command)… I’ve tried a few things, but I cannot figure out how to set this up yet… I can manage to scale along one or more axes, but not shear over… Do I have to somehow align the base plane to the shear axis?
Scrolling half-ways down this page may perhaps illustrate what you’re looking for?
Look up the following text “What do linear transformations in two dimensions look like?”. The three or four videos that follows demonstrates shear effects.
I understand something like that
Vec 1 = 1: 1 (Scale factor)
FirstArray X = Direction and size for X
SecondArray Y = direction and size for Y, x element in this array determines Your wanted angle.
Third Z = direction and size for Z
I see that rhinoscriptsyntax.XformShear() docs talk about ‘scale factors’,
then I think that the coordinates of the object (relative to the reference plane) gets multiplied by the vectors and then summed to obtain the target points … maybe …
Yep, finally I figured it out, at first I thought the shear vector would be a vector from the origin to the result of adding the individual X, Y and Z vectors…