aboutsummaryrefslogtreecommitdiff
path: root/penrose.h
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2011-05-06 17:09:03 +0000
committerSimon Tatham <anakin@pobox.com>2011-05-06 17:09:03 +0000
commit4a172274f2abde1c2ad23ba46b183e1d767fb902 (patch)
treee8b39e62d938bb5a7e5a20fff144a88a42dea7a1 /penrose.h
parent5619904bcc12427e88a05281872231f69f06180d (diff)
downloadpuzzles-4a172274f2abde1c2ad23ba46b183e1d767fb902.zip
puzzles-4a172274f2abde1c2ad23ba46b183e1d767fb902.tar.gz
puzzles-4a172274f2abde1c2ad23ba46b183e1d767fb902.tar.bz2
puzzles-4a172274f2abde1c2ad23ba46b183e1d767fb902.tar.xz
Apply the rotation in Penrose grid descriptions by rotating in the
4-vector representation, rather than mucking about with sines and cosines after grid generation. _Should_ make no difference in the generated grids (there's a theoretical risk of an unlucky rounding error just about managing to push some point in or out of bounds, but I think it's vanishingly small), but simplifies the coordinate- flattening procedure, and in particular increases its chance of getting vertical lines actually vertical. (Prior to this change, the game ID 10x10t12:G2554,-31,108_a3b12h0a212a3d102b2a23a2e3b01b0a2c2a0c0 was generating a not-quite-vertical edge at top left, in the Java port but not on Linux; I suspect differences in sin and cos as the cause of the discrepancy. With the rotation done like this, the points' x-coordinates are now computed without reference to their y-coordinates.) [originally from svn r9168]
Diffstat (limited to 'penrose.h')
-rw-r--r--penrose.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/penrose.h b/penrose.h
index f7b23e2..ba5ae16 100644
--- a/penrose.h
+++ b/penrose.h
@@ -42,7 +42,7 @@ struct penrose_state {
enum { PENROSE_P2, PENROSE_P3 };
-extern int penrose(penrose_state *state, int which);
+extern int penrose(penrose_state *state, int which, int angle);
/* Returns the side-length of a penrose tile at recursion level
* gen, given a starting side length. */