Apply the rotation in Penrose grid descriptions by rotating in the
[sgt/puzzles] / penrose.c
index 7adab03..ccde30d 100644 (file)
--- a/penrose.c
+++ b/penrose.c
@@ -434,7 +434,7 @@ void penrose_count_tiles(int depth, int *nlarge, int *nsmall)
  * (later mail: this is an overestimate by about 5%)
  */
 
-int penrose(penrose_state *state, int which)
+int penrose(penrose_state *state, int which, int angle)
 {
     vector vo = v_origin();
     vector vb = v_origin();
@@ -444,6 +444,9 @@ int penrose(penrose_state *state, int which)
 
     vb.b = state->start_size;
 
+    vo = v_rotate(vo, angle);
+    vb = v_rotate(vb, angle);
+
     if (which == PENROSE_P2)
         return penrose_p2_large(state, 0, 1, vo, vb);
     else