如何使等轴测投影成为平面 2D 视图的逆时针旋转



我正在Javascript项目中制作2D表格的等距投影。我正在使用以下函数计算我的等轴测坐标(来自笛卡尔(:

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

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

AB
CD

成为

A
C B
D

相反,我希望它成为

B
A D
C

我可以以某种方式调整上述功能来实现这一点吗?如果没有,有没有其他方法可以做到这一点?

一个想法是在投影步骤之前旋转表格。

逆时针 90 度的 2D 旋转矩阵为

[ 0 1]
[-1 0]

将其放入代码中,此转换会将所有内容围绕 (0,0( ccw 旋转 90 度:

var transformedX = y;
var transformedY = -x;

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

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

相关内容

  • 没有找到相关文章

最新更新