private void calculateCameraPosition(float hDistance, float vDistance) { float theta = player.getRotY() + angleAroundPlayer; float offsetX = (float) (hDistance * Math.sin(Math.toRadians(theta))); float offsetZ = (float) (hDistance * Math.cos(Math.toRadians(theta))); position.x = player.getPosition().x - offsetX; position.z = player.getPosition().z - offsetZ; position.y = player.getPosition().y + vDistance + player.getScale() * 2; }