Add DoubleTangentArc

This commit is contained in:
gumyr 2024-02-27 16:18:39 -05:00
parent ec495d5aa6
commit 18aafed8e6
7 changed files with 180 additions and 3 deletions

View file

@ -246,7 +246,19 @@ svg.add_shape(other, "dashed")
svg.add_shape(intersecting_line.line)
svg.add_shape(dot.moved(Location(Vector((1, 0)))))
svg.write("assets/intersecting_line_example.svg")
show(other, intersecting_line)
with BuildLine() as double_tangent:
l2 = JernArc(start=(0, 20), tangent=(0, 1), radius=5, arc_size=-300)
l3 = DoubleTangentArc((6, 0), tangent=(0, 1), other=l2)
s = 100 / max(*double_tangent.line.bounding_box().size)
svg = ExportSVG(scale=s)
svg.add_layer("dashed", line_type=LineType.ISO_DASH_SPACE)
svg.add_shape(l2, "dashed")
svg.add_shape(l3)
svg.add_shape(dot.scale(5).moved(Pos(6, 0)))
svg.add_shape(Edge.make_line((6, 0), (6, 5)), "dashed")
svg.write("assets/double_tangent_line_example.svg")
# show_object(example_1.line, name="Ex. 1")
# show_object(example_2.line, name="Ex. 2")
# show_object(example_3.line, name="Ex. 3")