I'm a OPENGL ES beginner, what I want to do is call "glTranslatef(X,Y,Z)" to move a sphere object in a 3D scene.

The Sphere object looks fine when it's position in (0,0,0), but when I call glTranslatef, the object became distorted.

I was using perspective projection view with code like this:

public void onSurfaceChanged(GL10 gl, int width, int height) {
float ratio = (float) width / height;
gl.glViewport(0, 0, width, height);
gl.glFrustumf(-ratio*1, ratio*1, -1, 1, 0.1f, 1000);

Did I miss anything ?