Polar patterns at various frequencies for an array of 2 omnidirectional microphones, 2 cm apart, subtracted and time-delayed to behave like a cardioid pattern microphone.
Cardioids are typically bass-boosted to give them a flat frequency response. This explains why they rumble so much when handled! I haven't done that in this case, so it doesn't start flattening out until about 4500 kHz.
Screenshots are from my JavaScript microphone array simulator.