Если оба объекта имеют z = 0 и ваш угол обзора экрана (от центра экрана к краю) равен ax и ay для горизонтальных и вертикальных углов, то:
zx = abs((p1.x-p2.x)*0.5)/tan(ax)
zy = abs((p1.y-p2.y)*0.5)/tan(ay)
и
camz = max(zx, zy)
Здесь zx и zy - это расстояния, на которые объекты попадают на горизонтальные и вертикальные размеры экрана, а camz - это расстояние, которое удовлетворяет обоим критериям. Также обратите внимание, что ax и ay указаны в радианах (например, если вы предполагаете, что ваш экран имеет ширину 40 градусов, то у ax будет 20 градусов или ax = 20 * (pi / 180) = 0,3419 радиан).
Ваши значения для camx и camy были правильными.