
Translate a hyperplane arrangement to a new center
Source:R/make_offset_ineqmat.R
make_offset_ineqmat.Rd
By default, the various hyperplane arrangements of musicMCT treat the "white" perfectly even scale as their center. (It is the point where all the hyperplanes of the MCT, white, and black arrangements intersect, and although the Rothenberg arrangements do not pass through the scale by definition, it is still a center of symmetry for them.) This function let you construct hyperplane arrangements that have been shifted to treat any other set as their center. (Details on why you might want this to come.)
Arguments
- set
Numeric vector of pitch-classes in the set intended to be the center of the new arrangement
- ineqmat
Specifies which hyperplane arrangement to consider. By default (or by explicitly entering "mct") it supplies the standard "Modal Color Theory" arrangements of
getineqmat()
, but can be set to "white," "black", "gray", "roth", "pastel," or "rosy", giving theineqmat
s ofmake_white_ineqmat()
,make_black_ineqmat()
,make_gray_ineqmat()
,make_roth_ineqmat()
,make_pastel_ineqmat()
, andmake_rosy_ineqmat()
. For other arrangements, the desired inequality matrix can be entered directly.- edo
Number of unit steps in an octave. Defaults to
12
.
See also
makeineqmat()
for modal color theory arrangements; make_white_ineqmat()
,
make_black_ineqmat()
, and make_roth_ineqmat()
for other relevant arrangements.
Examples
# When used for the sign vector with any central arrangement, the
# input `set` will have a sign vector of all 0s:
viennese_trichord <- c(0, 1, 6)
signvector(viennese_trichord, ineqmat=make_offset_ineqmat(viennese_trichord))
#> [1] 0 0 0
# Where does melodic minor lie in relation to major?
major <- c(0, 2, 4, 5, 7, 9, 11)
melmin <- c(0, 2, 3, 5, 7, 9, 11)
signvector(melmin, ineqmat=make_offset_ineqmat(major, ineqmat="white"))
#> [1] 0 -1 0 0 0 0 -1 0 0 0 0 1 1 1 1 0 0 0 0 0 0