private void generateRandomBuildingDimensions(
            uint maxWidth, uint maxHeight)
        {
            uint height = 0, width = 0;

            height = Math.Max(minBuildingLength, Math.Min((uint)Math.Ceiling(
                                                              random.Beta(2.5d, 4.0d) * maxHeight), maxHeight - minBuildingLength));
            float scaling = 1.0f / (1.0f - (float)(height / maxWidth));

            width = Math.Max(minBuildingLength, Math.Min((uint)Math.Ceiling(
                                                             random.Beta(6.0d, 6.0d * scaling) * maxWidth), maxWidth -
                                                         minBuildingLength));
            this.buildingWidth  = width;
            this.buildingHeight = height;
        }