Book XI · Proposition 33
Similar parallelepipedal solids are to one another in the triplicate ratio of their corresponding sides.Heath, 1908
Needs: XI.27
Rests on: VI.Def.1, XI.Def.11, XI.Def.9
Depth: 3 steps of argument above the first principles. Parallel postulate: not needed.
Nothing. It draws no intersections and reads nothing off the picture.
@proposition("XI.33", THEOREM, sample=samples3.corner_and_arms)
def prop_XI_33(o: Point3, a: Point3, b: Point3, c: Point3) -> Out:
"""Similar parallelepipeds are to one another in the triplicate ratio of
their corresponding sides."""
hypothesis("the three arms are not in one plane", not coplanar(o, a, b, c))
first = _built(parallelepiped(o, a, b, c, "the first solid"))
scale = Fraction(3, 2)
arms = tuple(posit3(_along(o, point, scale), name)
for point, name in ((a, "P"), (b, "Q"), (c, "R")))
second = _built(parallelepiped(o, *arms, "the second solid"))
because(prop_XI_27, o, a, b, c, o, a, b, c)
side, answering = length3(o, a), length3(o, arms[0])
claim("the solids are similar, their edges in one ratio and their solid "
"angles equal", "XI.Def.9",
all(other == scale * scale * one for one, other in
zip(edge_lengths(first), edge_lengths(second)))
and _solid_angle_of(o, (a, b, c)) == _solid_angle_of(o, arms))
claim("as the solid is to the solid, so is the cube on the side to the cube "
"on the answering side", "XI.33",
content(first) * answering * answering * answering
== content(second) * side * side * side)
return Out(solids=(first, second), sides=(side, answering))