我正在尝试创建一个包含显示9个平面的GLView的SurfaceView。 我试图让飞机在原点周围以钻石形状定向。基本上,它将使顶层全部指向120度角的原点,以120度的圆形分开。中间层也将分开120度但垂直于x轴并平行于y。底层将是顶层的倒数。
到目前为止,我已经尝试了循环(没有很好地结束,飞机分散在创作中)并且逐个飞机去确保偏航和俯仰正确设置。两者都没有奏效。
如果您有任何想法,请告诉我或指出我正确的教程。
由于 〜Aedon
以下是我的逐行代码段:
dyaw& dpitch:120度w& h:相应的宽度(2)和高度(3)
间距:.5f
// Top Layer
mGL.glRotatef(dyaw, 0, 1f, 0);
mGL.glRotatef(dpitch, 0, 0, 1f);
mGL.glTranslatef(0, h + spacing, 0);
mPanels[0].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[1].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[2].drawColorful(mGL);
// Middle Layer
mGL.glRotatef(dyaw, 0, 1f, 0);
mGL.glRotatef(-dpitch, 0, 0, 1f);
mGL.glTranslatef(0, -(h + spacing), 0);
mPanels[3].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[4].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[5].drawColorful(mGL);
// Bottom Layer
mGL.glRotatef(dyaw, 0, 1f, 0);
mGL.glRotatef(-dpitch, 0, 0, 1f);
mGL.glTranslatef(0, -(h + spacing), 0);
mPanels[6].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[7].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[8].drawColorful(mGL);