@Cedric, quick question around the `fov`

. So what I have found out is that `fov`

is the `dfov`

.

Please check the article I have sent below.

http://chrisjones.id.au/FOV/fovtext.htm

So what I did was that I set the `fovMode`

of ArcRotateCamera as `FIXED`

.

```
defaultCamera.fovMode = ArcRotateCamera.FOVMODE_HORIZONTAL_FIXED
```

And calculated the `hfov`

and `vfov`

from `dfov`

and based on that, I calculated the `radius`

.

Is this the right choice?

It seems working but still shows some paddings.

Please let me know if that makes sense.

```
export function zoomOnCamera (mesh: Mesh, camera: ArcRotateCamera) {
camera.fovMode = ArcRotateCamera.FOVMODE_HORIZONTAL_FIXED
const { max, min } = mesh.getHierarchyBoundingVectors(true, x => x.isVisible)
const boundingInfo = new BoundingInfo(min, max)
const bbox = boundingInfo.boundingBox
const ratio = camera.getScene().getEngine().getAspectRatio(camera, true)
const dfov = camera.fov
const vfov = Math.atan(Math.tan(dfov / 2.0) * Math.cos(Math.atan(ratio))) * 2.0
const vtheta = vfov / 2
const vr = (bbox.maximum._y - bbox.minimum._y) / 2
const vdistance = vr / Math.sin(vtheta)
const hfov = Math.atan(Math.tan(dfov / 2.0) * Math.sin(Math.atan(ratio))) * 2.0
const htheta = hfov / 2
const hr = (bbox.maximum._x - bbox.minimum._x) / 2
const hdistance = hr / Math.sin(htheta)
camera.radius = Math.max(hdistance, vdistance)
}
```