如何让等距投影成为平面二维视图的逆时针旋转
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;
我正在 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;