To transform something from one coordinate system to another, create a transform object using Transform.ChangeBasis
.
For example, if you need convert a 3-D point from world x-y coordinates to Windows screen coordinates, you would use a change of basis transformation.
If you had a point in Rhino’s camera coordinate system and you need it translated into world x-y coordinates, you would use a change of basis transformation.
If you had a point in 3-D point from world x-y coordinates and you wanted to report to the user what that point was in construction plane coordinates (of the active viewport), you would use a change of basis transformation.
If you wanted to orient an object oriented from one plane to another plane, you would not use a change of basis transformation. Rather, you use a plane-to-plane transformation using Transform.PlaneToPlane
. This is because you are not looking to convert from one coordinate system to another. You are simply looking orient in the same coordinate system.
Hope this helps.
– Dale