Я использую Vuforia для распознавания целей через камеру.
У меня есть маркеры: маленькая цель и гораздо большая цель. Мне нужно определить, что меньшая цель находится внутри большей цели.
Я уже вижу два маркера во времени. Я могу получить матрицу целей 4x4. Одна из идей заключалась в том, чтобы сделать проекцию 4x4 на плоскость z0x для обеих целей, а затем определить, содержит ли одна матрица проекции вторую (но я не знаю, как это сделать)
Некоторый код, как я получаю матрицу
- (void) renderFrameWithState:(const Vuforia::State&)state projectMatrix:(Vuforia::Matrix44F&)projectionMatrix {
//some opengl initializations
for (int i = 0; i < state.getNumTrackableResults(); ++i) {
// Get the trackable
const Vuforia::TrackableResult* result = state.getTrackableResult(i);
const Vuforia::Trackable& trackable = result->getTrackable();
Vuforia::Matrix44F modelViewMatrix = Vuforia::Tool::convertPose2GLMatrix(result->getPose()); //getPose() returns 3x4 matrix
}
}