Interface P3PLineDistance

All Known Implementing Classes:
`P3PFinsterwalder`, `P3PGrunert`

public interface P3PLineDistance

A related problem to the full P3P problem is to estimate the distance between the camera center and each of the 3 points being viewed. Once those distances are known the full 3D rigid body transform can be computed.

More formally states the problem is: Three points (P1,P2,P3) in 3D space are observed in the image plane in normalized image coordinates (obs1,obs2,obs3). The distance in 3D space between pairs of points (P1,P3), (P1,P2), and (P2,P3) is known. Solve for the distance between the camera's origin and each of the three points.

• Method Summary

Modifier and Type
Method
Description
`DogArray<PointDistance3>`
`getSolutions()`
Returns a set of solutions.
`boolean`
```process(Point2D_F64 obs1, Point2D_F64 obs2, Point2D_F64 obs3, double length23, double length13, double length12)```
Solve for the distance between the camera's origin and each of the 3 points in 3D space.
• Method Details

• process

boolean process(Point2D_F64 obs1, Point2D_F64 obs2, Point2D_F64 obs3, double length23, double length13, double length12)
Solve for the distance between the camera's origin and each of the 3 points in 3D space.
Parameters:
`obs1` - Observation of P1 in normalized image coordinates
`obs2` - Observation of P2 in normalized image coordinates
`obs3` - Observation of P3 in normalized image coordinates
`length23` - Distance between points P2 and P3
`length13` - Distance between points P1 and P3
`length12` - Distance between points P1 and P2
Returns:
true if successful or false if it failed to generate any solutions
• getSolutions

getSolutions()
Returns a set of solutions. Each solution contains the distance to the respective point.
Returns:
List of solutions.