This is a partial answer. Each small mirror will impose its own strong six-spiked diffraction pattern in the telescopes point-spread function. For telescope apertures build from a large number of hexagonal mirrors this will dominate the point-spread function. The choice of pattern for the tiling of small mirrors to fill the full aperture will have a much smaller effect. JWST simulated point spread function from James Webb Space Telescope User Documentation's [NIRCam Point Spread Functions](https://jwst-docs.stsci.edu/near-infrared-camera/nircam-predicted-performance/nircam-point-spread-functions) [![WST simulated point spread function](https://i.sstatic.net/mCA4n.jpg)](https://i.sstatic.net/mCA4n.jpg) I found an analytical expression for the diffraction pattern from (or at least the Fourier transform of) a single hexagonal aperture (or flat mirror) in [this answer](https://physics.stackexchange.com/a/9910/83380) to *How does Fraunhofer diffraction depend on the orientation of the sides of a lens?* in Physics SE. >Hexagonal aperture. I take the following function: $$ \begin{split} h(x,y) = \left[\theta(2y+\sqrt{3})-\theta(2y-\sqrt{3})\right]\cdot \left[\theta(y-\sqrt{3}(x-1))-\theta(y-\sqrt{3}(x+1))\right]\cdot\\ \left[\theta(y-\sqrt{3}(-x-1))-\theta(y-\sqrt{3}(1-x))\right] \end{split}$$ With $\theta(x)$ -- is a [Heaviside step function][2]. While it is in principle possible to calculate the Fourier transform of this by hand, I've just fed it to CAS and I've got something like this: $$\frac{2\sqrt{3}\omega_x\left(\cos\frac{\omega_x}{2}\cos\frac{\sqrt{3}\omega_y}{2} -\cos\omega_x\right)-6\omega_y\sin\frac{\omega_x}{2}\sin\frac{\sqrt{3}\omega_y}{2}} {\pi \omega_x(\omega_x^2-3\omega_y^2)}$$ ...plus some singular terms that I've dropped. Plotting square of the result (from -100 to 100) Here's my plot and a python script based on that expression: [![diffraction from a hexagonal aperture](https://i.sstatic.net/T3yWE.png)](https://i.sstatic.net/T3yWE.png) import numpy as np import matplotlib.pyplot as plt def hexamp(omx, omy): """diffraction amplitude hexagonal aperture from https://physics.stackexchange.com/a/9910/83380""" C, S = np.cos, np.sin rt3 = np.sqrt(3) term_1 = 2 * rt3 * omx * (C(omx/2.)*C(rt3*omy/2.) - C(omx)) term_2 = -6 * omy * S(omx/2.) * S(rt3*omy/2.) bottom = np.pi * omx * (omx**2 - 3.*omy**2) return (term_1 + term_2)/bottom omega = np.arange(-100, 100, 0.1) omx, omy = np.meshgrid(omega, omega) amplitude = hexamp(omx, omy) I = np.abs(amplitude)**2 if True: plt.figure() plt.imshow(np.log10(I), cmap='gray', vmin=-6) plt.gca().set_aspect('equal') plt.gca().axes.xaxis.set_ticklabels([]) plt.gca().axes.yaxis.set_ticklabels([]) plt.colorbar() plt.title('log10(I)', fontsize=14) plt.show()