Divide a rectangle into a number of unequal triangles: Difference between revisions

m
Line 29:
n < 2 && error("Cannot cut rectangle into < 2 triangles")
triangles, i, j = [Triangle(A, B, C), Triangle(C, D, A)], 1, 2
for _ in 12:n-1
t = popfirst!(triangles)
p = Point(t.v3.x + i/(2j) * (t.v1.x - t.v3.x), t.v3.y + i/(2j) * (t.v1.y - t.v3.y))
Line 56:
</lang>{{out}}
<pre>
t = Triangle(Point(200.0, 0.0), Point(150.0, 150.0), Point(147105.50, 58105.0263157894736850))
t = Triangle(Point(200.0, 0.0), Point(200.0, 200.0), Point(181167.133540372670885714285714286, 5696.59937888198757642857142857143))
t = Triangle(Point(200.0, 200.0), Point(150.0, 150.0), Point(167.85714285714286, 96.42857142857143))
t = Triangle(Point(200.0, 200.0), Point(0.0, 200.0), Point(109.0909090909091, 109.0909090909091))
Line 63 ⟶ 65:
t = Triangle(Point(0.0, 0.0), Point(200.0, 0.0), Point(64.8529411764706, 64.8529411764706))
t = Triangle(Point(200.0, 0.0), Point(105.0, 105.0), Point(64.8529411764706, 64.8529411764706))
t = Triangle(Point(200.0, 0.0), Point(150.0, 150.0), Point(147.5, 58.026315789473685))
t = Triangle(Point(150.0, 150.0), Point(105.0, 105.0), Point(147.5, 58.026315789473685))
t = Triangle(Point(200.0, 0.0), Point(200.0, 200.0), Point(181.1335403726708, 56.599378881987576))
t = Triangle(Point(200.0, 200.0), Point(167.85714285714286, 96.42857142857143), Point(181.1335403726708, 56.599378881987576))
</pre>
 
4,105

edits