如何让等距投影成为平面二维视图的逆时针旋转

How to have isometric projection be a counter-clockwise rotation of flat 2d view

我正在 Javascript 项目中制作二维 table 的等距投影。我正在使用以下函数计算我的等距坐标(来自笛卡尔):

var isoX = x - y;
var isoY = (x + y) / 2;

我遇到的问题是这会顺时针旋转所有内容:

AB
CD

变成

 A
C B
 D

相反,我希望它成为

 B
A D
 C

我可以通过某种方式调整上面的功能来实现这个吗?如果没有,还有其他方法吗?

一个想法是在 投影步骤之前旋转 table

逆时针90度的2D rotation matrix

[ 0 1]
[-1 0]

将其放入代码中,此转换将所有内容逆时针旋转 (0,0) 90 度:

var transformedX = y;
var transformedY = -x;

然后,只需使用变换后的坐标进行投影即可。

var isoX = transformedX - transformedY;
var isoY = (transformedX + transformedY) / 2;