Let’s assume that the 4 zones are exact quadrants on the circle - from 0 to 90 to 180 to 270 degrees.
Here is a procedural way to generate masks for the 4 quadrants based on either fixed vectors in object space or on a reference object.
*I created a Torus and turned into a PRT Volume to represent a circle of particles.
*I added a KCM to the stack and connected the following flow:
This takes the Normalized position of the particle (which is a vector from the origin in object space, the center of the torus) to the particle, and calculates the Dot Product with the +X, +Y and -Y local axes of a Point Helper. (alternatively, you could simply enter Vectors [1,0,0], [0,1,0] and [0,-1,0] instead of using Script Operators to read the transforms of the Point Helper).
These Dot Products go into the R, G and B channels, thus producing a Gradient which has Red between -90 and +90 degrees (dot product with the X axis changes from 0 to 1 to 0), Green color from 0 to 180 with max. at 90, and Blue going from 0 through 1 to 0 from 180 to 360 with max. at 270 degrees.
If you would rotate the Point Helper, these gradients would slide around the Torus particles, following the X and Y axes orientations:
Note that the Position of the Point Helper plays no role, it does NOT have to be in the center of the Torus. Only its axes in world space define the color gradient in object space of the Torus.
Now you can take a set of Blend Materials and use the R,G and B channels of the Vertex Color Map to combine them based on the generated data:
The first sub-material has a Cellular Map and shows up where there Red <=0. The second has a Checker map and shows up where Red > 0.0.
Then I added another set of Blend Materials as sub-material of the first Blend Material. Here I controlled the blending with the Green channel of the Vertex Color Map, producing the Orange Noise Map see in the screenshot where the Green is > 0:
I could then add yet another level of Blend Material where the Blue is > 0 and blend in a 4th material… See the attached Max 2010 scene!
Of course, we could calculate the actual angle of the particle’s position vector and define gradients in ranges less than 180 degrees, but the above approach is quite useful when only 4 are needed…
Hope this helps.
KRA_CircleQuadrantColorMapping_v002.zip (21.1 KB)