As a counterpoint to the one which I recently worked up in Alibre Atom3D:
Here’s the beginnings of an OpenSCAD version of the one shown at the top of that post:
Looking a bit tedious to add support for a total of four regions, but at least it’s a tedium which only needs to be set up once (wonder if there’s an array feature in OpenSCAD which would work better for this).