To reduce design complexity, the designers of two-dimensional array generators typically assume that the desired array is separable in two-dimensions. However, optical symbolic substitution systems and optical morphological systems require processing elements capable of generating arbitrary two-dimensional arrays. Techniques for designing array generators capable of realizing two-dimensional arbitrary arrays are discussed herein and include modification of the replicating function used to produce the grating, modification of the geometry of the basic period, and a combination of the two techniques. The replicating function is modified using three techniques: the multiplication of each replica by a phase term, the use of intercolumnar shifts, and the use of a nonrectilinear replication grid, for example, a hexagonal grid. The use of a nonrectangular base period, for example, hexagonal or circular, is also capable of changing the geometry of the output array. Using a combination of these techniques it is possible to reduce the complexity of the design problem yet produce nonseparable source arrays.