我遇到了 OpenGL 坐标系的问题。
我有一个使用以下代码创建六边形的小类:
for(int i = 0; i < 6; ++i) {
gl.glVertex2d(radius * Math.sin(i/6.0*2*Math.PI)-(radius*(x*1.75)),
radius * Math.cos(i/6.0*2*Math.PI)+(radius*(y*1.25)));
}
注意,所有这些都是在 java 中使用 JOGL 库。
创建六边形时,它们的坐标系为屏幕中心为 0,0,左上角设置为 -1,1
我想把这些坐标转换成屏幕坐标,所以左上角是0,0,中心是windowX/2,-windowY/2。因此,如果窗口为 500 像素 x 500 像素,则中心将为 250,-250。