module support(dimensions, width) {
    aspect_ratio = 3.75 / 12.0;

    length = dimensions[0];
    height = dimensions[1];

    module right_triangle(base) {
        hypot = sqrt(2*(base^2));

        intersection() {
            square([base, base]);

            translate([-base, 0, 0])
            rotate([0, 0, -45])
            square([hypot, hypot]);
        }
    }

    module shape() {
        /* Height ratio of lower aspect to upper aspect */
        aspect_upper_height = height;
        aspect_lower_height = aspect_ratio * height;

        /* The length of each individual support aspect */
        aspect_length = 1/3 * length;

        hypotenuse     = sqrt(2*(aspect_length^2));
        lower_x_offset = aspect_length - (hypotenuse - aspect_length);

        right_triangle(height);

        square([length, aspect_lower_height], false);

        translate([3 * aspect_length, 0, 0])
        mirror([1, 0, 0])
        right_triangle(height);
    }

    translate([0, length, 0])
    rotate([-90, 0, -90])
    linear_extrude(width)
    intersection() {
        shape();
        square([length, height], false);
    }
}