I tried deriving height and weight from stats, but never successfully until I made stats into related pairs.
So where does all this come from?
The formula I chose were:
Height is 5’9’’ + (3*STR-CON)’
Weight is 156 lbs + (STR+CON-AG)/2.
If STR = CON and agility is average then height and weight are both are based on strength and keep you a similar build (BMI) for all heights.
If you’re less tough than you’re strong then you become slightly taller and less heavy (i.e. weedier), and if you’re tougher than you’re strong you become smaller and heavier (i.e. stockier).
If you’re agile then you’d expect to be of slighter build, and not overly tall. So you can’t make the person slighter by making them taller, you have to make them more compact. Hence AG affects only weight.
(The reason why it relies upon having related pairs is shown in the blank areas of the tables - you can never have +3 STR with -3 CON, CON is always restricted to being at most 2 different - hence the difficulty of determining a height for such an unlikely individual vanishes)
The distribution of weight is: