def test_perpendicular(p1, p2, p3):
assume(p1 != p2)
l = Line(p1, p2)
foot = l.foot(p3)
perp = l.perpendicular(p3)
print(foot)
print(perp)
# Property: foot should be on l.
assert line_collinear(p1, p2, foot)
# Property: foot should be on perp.
assert line_collinear(perp.p1, perp.p2, foot)
# Property: perp's angle should be 90 degrees from l's.
angle_between = l.angle() - perp.angle()
assert math.isclose(angle_between % 180, 90)
# Segments
评论列表
文章目录