Schon gute Antworten, ich möchte nur ein paar andere Dinge hinzufügen, die Sie berücksichtigen sollten. Wie Hardlib und Goufalite bereits erwähnt haben, ist der Weg dazu trigonometrisch. Ich habe eine 2-D-Darstellung der Kamera und des IoT-Objekts erstellt:
Wie Sie sehen können, ist das Sichtfeld der Kamera größer als das Objekt - wenn nicht im Nahbereich, wenn sich das Objekt weiter entfernt.
Jetzt möchten Sie vielleicht, dass die Kamera immer auf dem Objekt zentriert ist. In diesem Fall können Sie einfach die Berechnungen verwenden, auf die sich hardlib bezieht:
ϴ = arctan(y/x)
... der gemäß Konvention der Winkel gegen den Uhrzeigersinn von der x-Achse ist. Sie benötigen auch den Winkel von der Ebene weg:
α = arctan(z / ((y^2+x^2)^1/2))
Natürlich müssen Sie anhand der Kameraposition berechnen, die in allen drei Achsen am Ursprung liegt.
Auf der anderen Seite möchten Sie möglicherweise die Kamera nicht mehr als nötig bewegen, dh die Kamera erst dann bewegen, wenn sich das Objekt scheinbar aus dem Rahmen herausbewegt. In diesem Fall möchten Sie wahrscheinlich eine "Druck" -Variable, mit der die Wahrscheinlichkeit erhöht wird, dass die Kamera ihren Winkel ändert, je nachdem, wie nahe das Objekt am Rand des Rahmens liegt.
Wenn Sie diesen Weg gehen, müssen Sie den Winkel des Sichtfelds der Kamera in beiden Sichtfeldern kennen, damit Sie bestimmen können, wo das Objekt mit dem Sichtfeld der Kamera verglichen wird.