Хорошие ответы уже, я просто хотел бы добавить несколько других вещей, которые вы должны принять во внимание. Как уже упоминали hardlib и Goufalite, способ сделать это - тригонометрически. Я нарисовал 2-е изображение камеры и объекта IoT:
Как вы можете видеть, поле зрения камеры будет больше, чем объект - если не на близком расстоянии, когда объект удаляется дальше.
Теперь вы можете захотеть, чтобы камера всегда была в центре объекта. В этом случае вы можете просто взять вычисления, на которые ссылается hardlib:
ϴ = arctan(y/x)
... который будет углом против часовой стрелки от оси x, в соответствии с соглашением. Вам также понадобится угол вдали от уровня:
α = arctan(z / ((y^2+x^2)^1/2))
Очевидно, вам придется рассчитывать, исходя из положения камеры в исходной точке по всем трем осям.
С другой стороны, вы можете предпочесть не заставлять камеру двигаться больше, чем необходимо, то есть заставлять камеру двигаться только после того, как объект, по-видимому, собирается выйти из кадра. В этом случае вам, вероятно, понадобится переменная «давление», которая увеличит вероятность изменения угла камеры в зависимости от того, насколько близко объект находится к краю кадра.
Если вы идете по этому маршруту, вам нужно знать угол поля зрения камеры в обоих полях обзора, чтобы вы могли определить, где объект сравнивается с полем зрения камеры.