【发布时间】:2014-11-06 21:17:36
【问题描述】:
我正在运行下面的简单代码:
BoundingBox bounds = new BoundingBox();
Vector3 vmin = new Vector3();
Vector3 vmax = new Vector3();
vmin.x = -1;
vmin.y = -2;
vmin.z = 0;
vmax.x = 1;
vmax.y = 2;
vmax.z = 0;
bounds.set(vmin,vmax);
Matrix4 mrot = new Matrix4();
mrot.setToRotation(0, 0, 1, 90);
bounds.mul(mrot);
Gdx.app.log("xxx","minx " + bounds.min.x);
Gdx.app.log("xxx","maxx " + bounds.max.x);
Gdx.app.log("xxx","miny " + bounds.min.y);
Gdx.app.log("xxx","maxy " + bounds.max.y);
Gdx.app.log("xxx","dimx " + bounds.getWidth());
Gdx.app.log("xxx","dimy " + bounds.getHeight());
日志显示:
minx -2.0 // 好的,正如预期的那样
maxx 2.0 // 好的,正如预期的那样
miny -2.0 // 我希望 -1 !
最大 2.0 // 我希望 1 !
dimx 4.0 // 好的,正如预期的那样
dimy 4.0 // 我希望 2 !
我的理解是上面的代码应该简单地将一个 2D 矩形绕 Z 轴旋转 90°。日志的结果表明情况并非如此(即 y 坐标没有变化)
有没有人可以帮助我理解我错在哪里? 非常感谢
【问题讨论】:
标签: libgdx bounding-box