I have some photos of 3D cube. I also know the 3D pose of the cube in each photo (yaw, pitch, roll).

I want to estimate the new pose (yaw, pitch, roll) of the cube after performing 2D rotation to the photo (like 2D camera rotation).

I don't care its new position but the pose only.

So, how can I calculate the new pose of 3D object after 2D rotation?

For example:
enter image description here

After image rotation (-45 deg) - Yaw, Pitch & Roll are different enter image description here

  • $\begingroup$ If its isometric you can use the area of the sides and their centroids for starters? $\endgroup$
    – beyond
    Jan 7, 2020 at 11:46
  • $\begingroup$ I don't have the cube shape (area, edges, surface, etc). The image is just 3D cube that tagged with yaw, pitch & roll and I need to know what are the new yaw, pitch & roll after camera rotation. $\endgroup$
    – nrofis
    Jan 7, 2020 at 13:58
  • $\begingroup$ I see that I misunderstoof you partly. First, find the rotation of the image (this should be fairly easy). Second, convert from YPR to a rotation matrix, multiply this with the rotation, convert back to YPR (well covered, google it :) ). $\endgroup$
    – beyond
    Jan 8, 2020 at 11:47
  • $\begingroup$ I tough about it. But multiply this with the rotation is the part that I think I have troubles with. YPR to a rotation matrix - fair, so I have 3x3 matrix. But how can I rotate it like camera rotation? $\endgroup$
    – nrofis
    Jan 8, 2020 at 14:16
  • $\begingroup$ Rotating a 2D image would be a rotation about only one axis. $\endgroup$
    – beyond
    Jan 8, 2020 at 15:06


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.