Understanding Doc Object's Transformation Matrix


How do object transforms work in Rhino? Usually in 3D programs each object has a local transformation matrix, so they can be stacked in a hierarchy, and the underlying geometry doesn’t need to be touched when simply transforming objects around in the scene.

I think this is also how Rhino works, because when you query underlying geometry it looks like it’s expressed in local space. But I cannot figure out how to get that matrix.

How do I access a scene object’s transformation matrix?

You don’t.

Objects in Rhino do not have a transformation. Whenever you transform an object (move, scale, rotate) that geometry gets changed in world space. The expection to the rule is block instance. But that is a special construct rather than geometry.

Thanks for the reply Nathan!

Is that true all the way down? Object -> Brep -> BrepFace -> Loops -> Edges -> Knots? Is everything really in world space?