Camera looking down the negative Z-Axis

11 ビュー (過去 30 日間)
Alex Ruiz
Alex Ruiz 2019 年 11 月 3 日
回答済み: George Abrahams 2024 年 2 月 10 日
Hello,
I have been trying to use the PlotCamera code to plot a camera using the world coordinate system but it currently only plots in the camera coordinate system.
I essentially want to produce this:
The Camera is looking down the negative Z Direction.
It is commonly used in game developement and in languages like openGL.
I have tried for a long time but I think there is just a limitation in the code since when you pass it the proper inputs it turns out errors.
Please let me know,
Thank you.

回答 (2 件)

Qu Cao
Qu Cao 2019 年 11 月 7 日
編集済み: Qu Cao 2019 年 11 月 7 日
Hi Alex,
In Computer Vision Toolbox we use the y-down/z-forward camera coordinate systems:
You can convert your coordinates [x1, y1, z1] to the one used in CVT [x2, y2, z2] as follows:
x2 = x1;
y2 =-y1;
z2 =-z1;
Thanks,
Qu
  1 件のコメント
Alex Ruiz
Alex Ruiz 2019 年 11 月 8 日
Hello, I appreciate the responce!
Im using this for a robust application using multiple cameras in different quadrants. Adding the negative sign to the code isnt the best practice, since this code is the ground truth for another project. I am relaying on camera matrix/oriention matrix/translation vectors for position and rendering.
is there any other way?
I have found this to be a huge road block for my research field.

サインインしてコメントする。


George Abrahams
George Abrahams 2024 年 2 月 10 日
Hi @Alex Ruiz. This is equivalent to an 180 degree rotation around the camera's local X-axis. The position of the camera won't be affected.
If you're using quaternions to store the rotations, you can do it like this. Note that in this example, randrot is from the Navigation Toolbox, while the quaternion class is available in multiple different toolboxes.
% Generate 10 random quaternion rotations, as sample data.
cameraRotations = quaternion( randrot( 10, 1 ) )
% This quaternion represents an 180 degree rotation around the X-axis.
basisRotation = quaternion( [0 1 0 0] );
% Perform the rotation in each camera's local coordinate system.
cameraRotations = cameraRotations * basisRotation

カテゴリ

Help Center および File ExchangeMATLAB Support Package for USB Webcams についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by