我正在使用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
}
最佳答案
在this answer之后,您需要从2个矩阵中找出第3行,以找出它们以矢量形式面对的方向。使用GLKMatrix4GetRow获取第三行,然后通过忽略vec4的最后一个元素将其转换为Vector3(请参见图)。那么您可以尝试this method来找到两个向量之间的角度,否则,如果您不想自己编写数学代码,请在Google周围搜索一些示例代码。
关于ios - opengles中2个GLKMatrix4对象之间的角度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36612198/