rotate45
rotate45
is a rarely used transform filter corresponding to the rotation by a multiple of 45°. The set of all 8 such multiples is called C8 and is discussed more explicitly here.
rotate45
is invoked with a single argument filter:
rotate45 F
This constructs all 8 of the rotations of F by multiples of 45° The rotate45
filter matches if any of these 8 transforms match.
Any square designator within F must represent all 64 squares, and is unchanged by 45° rotation. The only effect of such rotation is to modify directions filters and keywords. For example,
rotate45 ray up (♖ ♚)
matches a position if and only if one of the eight rotations of the filter matches, that is, one for each of the compass directions:
ray up (♖ ♚) ray northwest (♖ ♚) ray left (♖ ♚) ray southwest (♖ ♚) ray down (♖ ♚) ray southeast (♖ ♚) ray right (♖ ♚) ray northeast (♖ ♚)
Thus, rotate45 ray up (♖ ♚)
matches if and only if
ray (♖ ♚)matches.
rotate45
follows the conventions of the other transform filters in having a set value if its argument does; having a numeric value if its argument does; and accepting the count
parameter.
Examples
rotate45
is used in Qq-rotations.cql to find games in which all
possible orientations of the
configuration of a black and white queen separated by a single piece appear.