I'm trying to use GeometricScene to visualize a finite patch of a periodic tiling of triangles and rhombi. When I require the rhombi to be squares (using "Regular" property on the Polygons), Mathematica can find the answer (using RandomInstance) in seconds. Relaxing the requirement to be a square introduces only one unconstrained parameter, but Mathematica takes a long time to not find an answer. Is this because I could have structured my code better, e.g. with GeometricSteps?

Below is the result for the case using squares, and the code that generated it. However, when I replace the GeometricAssertion of "Regular" with "Equilateral", it doesn't return an answer.

enter image description here

 GeometricScene[{a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r,
    s, t, u, v, w, x, y, z, aa, bb, cc, dd, ee, ff, gg, hh, ii, jj},
   s1 = Style[Polygon[{e, d, b, a}], Red],
   s2 = Style[Polygon[{a, f, h, g}], Red],
   s3 = Style[Polygon[{e, i, j, k}], Red],
   s4 = Style[Polygon[{i, g, l, m}], Red],
   s5 = Style[Polygon[{o, h, q, r}], Red],
   s6 = Style[Polygon[{l, o, s, t}], Red],
   s7 = Style[Polygon[{n, m, u, v}], Red],
   s8 = Style[Polygon[{j, n, w, x}], Red],
   s9 = Style[Polygon[{c, b, bb, dd}], Red],
   s10 = Style[Polygon[{y, f, c, ee}], Red],
   s11 = Style[Polygon[{aa, d, p, ff}], Red],
   s12 = Style[Polygon[{p, k, z, gg}], Red],
   t1 = Triangle[{a, b, c}],
   t2 = Triangle[{a, c, f}],
   t3 = Style[Triangle[{a, g, e}], Green],
   t4 = Style[Triangle[{e, g, i}], Green],
   t5 = Triangle[{g, h, l}],
   t6 = Triangle[{e, k, d}],
   t7 = Triangle[{i, m, n}],
   t8 = Triangle[{j, i, n}],
   t9 = Triangle[{l, h, o}],
   t10 = Triangle[{d, k, p}],
   t11 = Triangle[{h, f, q}],
   t12 = Triangle[{q, f, y}],
   t13 = Triangle[{m, l, t}],
   t14 = Triangle[{m, t, u}],
   t15 = Triangle[{k, j, z}],
   t16 = Triangle[{j, x, z}],
   t17 = Triangle[{b, d, aa}],
   t18 = Triangle[{b, aa, bb}],
   t19 = Triangle[{o, r, cc}],
   t20 = Triangle[{s, o, cc}],
   t21 = Triangle[{p, gg, hh}],
   t22 = Triangle[{p, hh, ff}],
   t23 = Triangle[{c, dd, ee}],
   t24 = Triangle[{ee, dd, ii}],
   t25 = Triangle[{n, v, w}],
   t26 = Triangle[{w, v, jj}],
   GeometricAssertion[{t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, 
     t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, 
     t25, t26}, "Equilateral", "Clockwise"],
   GeometricAssertion[{s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, 
     s12}, "Regular", "Clockwise"]

It does work, however, if I use a smaller tiling, e.g.:

enter image description here



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.