Earlier answers describe the procedural generation system of the Elite "galaxy". Also relevant, I think, is the way the ships were designed to be both easy to render quickly on an 8-bit micro, and to take up as little space as possible.
All of the original Elite ships were convex hulls with the possible exception of isolated spikes representing externally mounted guns. This allowed the use of a very efficient hidden-line-removal algorithm, without which it would not have been possible to render even wireframe 3D graphics in realtime using only a 2MHz 6502.
They were also symmetric over at least one axis, and often two. This allowed a significant reduction in the number of vertices, edges, and faces that had to be stored for each ship, since the fact of reflection took less space to encode than the extra vertices for the other half of the ship.
Obviously, they were also not stored as floating-point, but as tightly packed small integers:
Each vertex has 6 bytes of data. Bytes X,Y,Z are the magnitudes of the
3D coordinate. The signs for each component are stored in bits 7,6,5
of Byte S. The lower 5 bits are a visibility distance, with a maximum
value of 31 ensuring the vertex is processed for all distances until
the ship is plotted as a large dot. The 4 faces associated with each
vertex are stored in the 4 nibbles of Bytes F1 and F2.
Each edge has 4 bytes of data. The visibility distance is stored in
Byte V, with a maximum value of 31. The 2 faces associated with each
edge are stored in the 2 nibbles of Byte F. Byte N1 contains the
vertex id (*4) for one end of the line, Byte N2 the other end.
Each face has 4 bytes of data. The signs for each normal component are
stored in bits 7,6,5 of Byte S. The lower 5 bits are a visibility
distance, with a maximum value of 31 ensuring the face is processed
for all distances until the ship is plotted as a large dot. The
magnitudes of the normal's 3 components are stored in Bytes X,Y,Z.
The resulting hull shapes are still used in today's Elite:Dangerous, though with much more detail added.