A method for calculating the body fat content of a human includes the steps of measuring the body's mass and bio-electrical impedance. A 3D body scanner is used to create a digital 3D body model from which a body volume geometry is determined as a plurality of segments in a cylindrical or conical form with a measured length and a measured cross-section at each end of each segment. Taking account of the body volume geometry, each segment is assigned an electrical impedance to form an electrical body model. Taking account of the mass and electrical impedance of each segment, a body fat content of the segment is calculated. A body composition model can be calculated by summing the body fat contents of the segments of the body. A 3D body scanner for calculating the body fat content of a human is also disclosed.