pub struct WorldPoint(pub Vector4<f64>);
Expand description
A point in “world” coordinates. This means that the real-world units of the pose are unknown, but the unit of distance and orientation are the same as the current reconstruction.
The reason that the unit of measurement is typically unknown is because if
the whole world is scaled by any factor n
(excluding the camera itself), then
the normalized image coordinates will be exactly same on every frame. Due to this,
the scaling of the world is chosen arbitrarily.
To extract the real scale of the world, a known distance between two WorldPoint
s
must be used to scale the whole world (and all translations between cameras). At
that point, the world will be appropriately scaled. It is recommended not to make
the WorldPoint
in the reconstruction scale to the “correct” scale. This is for
two reasons:
Firstly, because it is possible for scale drift to occur due to the above situation, the further in the view graph you go from the reference measurement, the more the scale will drift from the reference. It would give a false impression that the scale is known globally when it is only known locally if the whole reconstruction was scaled.
Secondly, as the reconstruction progresses, the reference points might get rescaled as optimization of the reconstruction brings everything into global consistency. This means that, while the reference points would be initially scaled correctly, any graph optimization might cause them to drift in scale as well.
Please scale your points on-demand. When you need to know a real distance in the reconstruction, please use the closest known refenence in the view graph to scale it appropriately. In the future we will add APIs to utilize references as optimization constraints when a known reference reconstruction is present.
If you must join two reconstructions, please solve for the similarity (rotation, translation and scale) between the two reconstructions using an optimizer. APIs will eventually be added to perform this operation as well.
Tuple Fields§
§0: Vector4<f64>
Trait Implementations§
Source§impl AsMut<Matrix<f64, U4, U1, <DefaultAllocator as Allocator<f64, U4>>::Buffer>> for WorldPoint
impl AsMut<Matrix<f64, U4, U1, <DefaultAllocator as Allocator<f64, U4>>::Buffer>> for WorldPoint
Source§impl AsRef<Matrix<f64, U4, U1, <DefaultAllocator as Allocator<f64, U4>>::Buffer>> for WorldPoint
impl AsRef<Matrix<f64, U4, U1, <DefaultAllocator as Allocator<f64, U4>>::Buffer>> for WorldPoint
Source§impl Clone for WorldPoint
impl Clone for WorldPoint
Source§fn clone(&self) -> WorldPoint
fn clone(&self) -> WorldPoint
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for WorldPoint
impl Debug for WorldPoint
Source§impl Deref for WorldPoint
impl Deref for WorldPoint
Source§impl DerefMut for WorldPoint
impl DerefMut for WorldPoint
Source§impl From<Matrix<f64, U4, U1, <DefaultAllocator as Allocator<f64, U4>>::Buffer>> for WorldPoint
impl From<Matrix<f64, U4, U1, <DefaultAllocator as Allocator<f64, U4>>::Buffer>> for WorldPoint
Source§impl From<WorldPoint> for Vector4<f64>
impl From<WorldPoint> for Vector4<f64>
Source§fn from(original: WorldPoint) -> Self
fn from(original: WorldPoint) -> Self
Source§impl PartialEq for WorldPoint
impl PartialEq for WorldPoint
Source§impl PartialOrd for WorldPoint
impl PartialOrd for WorldPoint
Source§impl Projective for WorldPoint
impl Projective for WorldPoint
impl Copy for WorldPoint
impl StructuralPartialEq for WorldPoint
Auto Trait Implementations§
impl Freeze for WorldPoint
impl RefUnwindSafe for WorldPoint
impl Send for WorldPoint
impl Sync for WorldPoint
impl Unpin for WorldPoint
impl UnwindSafe for WorldPoint
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.