Tool: Sierpinski
Input: A, B
Output: D, E, F, a, b, e

c = Circle(B, A)
d = Circle(A, B)
C = Intersect(c, d, 2.0)
D_1 = Midpoint(B, C)
D = Midpoint(B, C)
E_1 = Midpoint(C, A)
E = Midpoint(C, A)
F = Midpoint(A, B)
a = Segment(E, F)
b = Segment(F, D)
e = Segment(D, E)

Tool: Koch
Input: A, B
Output: C, D, T, a, b

T: A + 1.0 / 3.0 * Vector[A, B]
C_1 = Midpoint(T, B)
C = Midpoint(T, B)
c = Circle(T, C)
d = Circle(C, T)
D = Intersect(c, d, 1.0)
a = Segment(T, D)
b = Segment(C, D)