【マイクラ】プレーヤーを軸に周りのブロックを回転させたい!

キャラクターを軸に周りのブロックを回転させたいと思った。

プラグインの World Edit を使ってみたが、コピー元とコピー先が重なっている時に、

ローテーションして、ペーストすると、思った通りにいかなかった。

ということで、オリジナルのプラグインで対応することにした。

Y座標は動かさずに、プレーヤーのいるY座標を軸に回転させる。

X座標とZ座標を変更させるが、3次元の回転の数式がよくわからない。

例えば、5 x 5 のブロックの場合。

上から見るとこうなる。(X座標,Z座標)

(-2,-2)(-2,-1)(-2,0)(-2,1)(-2,2)
(-1,-2)(-1,-1)(-1,0)(-1,1)(-1,2)
(0,-2)(0,-1)(0,0)(0,1)(0,2)
(1,-2)(1,-1)(1,0)(1,1)(1,2)
(2,-2)(2,-1)(2,0)(2,1)(2,2)

これが、左か右方向に回転するということで、

ある法則を見つけた。

90度回転した場合、X座標 と Z座標 が反対になって、
90度の時は、X座標に マイナス1をかける。
ー 90度の時は、Z座標に マイナス1をかける。

これでいけた。