我正在使用http://structure.io/开发一个应用程序。在该应用程序中,当扫描对象完成360度旋转时,它将完成扫描..
从扫描仪我们得到GLKMatrix4的起点和终点。我们想检查起点和终点之间的角度。我们正在使用下面的代码,但这不是正确的方法。任何人都可以知道如何做到这一点......我对opengles很新吗?
case ScannerStateScanning:
{
// First try to estimate the 3D pose of the new frame.
NSError* trackingError = nil;
NSString *currentPoseStringMatrix = NSStringFromGLKMatrix4([self lastFrameCameraPose]);
NSString *initialPoseStringMatrix = NSStringFromGLKMatrix4([self initialCameraPose]);
if ([currentPoseStringMatrix isEqualToString:initialPoseStringMatrix]) {
// stop scanning
}
答案 0 :(得分:3)
在your own docs link之后,您需要从2个矩阵中获取第3行,以找出它们在矢量形式中面向的方向。使用this answer获取第3行,然后通过忽略vec4的最后一个元素将其转换为Vector3(参见图表)。然后你可以尝试GLKMatrix4GetRow来找到两个向量之间的角度,否则只要你自己编写一些示例代码就可以了解它。