ARKit 屏幕坐标到三维坐标到转换
2017-11-13 14:36
761 查看
思路:
1.取得屏幕坐标:
CGPoint
2.根据2D坐标取得3D模型:
ARHitTestResult
3.通过SCNVector3Make将ARHitTestResult的worldTransform.columns[3].x,worldTransform.columns[3].y,worldTransform.columns[3].z做成SCNVector3,即可得到3维坐标。
实现:
1、获取屏幕坐标:
1.1 点击坐标:-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
1.2 直接通过button点击,取屏幕中心坐标:self.view.center(这个比较方便,个人推荐)
2、2D转换3D模型
通过ARSCNView的-(NSArray<ARHitTestResult *> *)hitTest:(CGPoint)point types:(ARHitTestResultType)types方法,得到3D模型,例如:
NSArray<ARHitTestResult *> *arrayResult = [self.sceneView
hitTest:self.view.center
types:ARHitTestResultTypeFeaturePoint];
fdsa
3、转为3维坐标:
SCNVector3 centerVector3 =
SCNVector3Make(arrayResult[0].worldTransform.columns[3].x, arrayResult[0].worldTransform.columns[3].y, arrayResult[0].worldTransform.columns[3].z);
1.取得屏幕坐标:
CGPoint
2.根据2D坐标取得3D模型:
ARHitTestResult
3.通过SCNVector3Make将ARHitTestResult的worldTransform.columns[3].x,worldTransform.columns[3].y,worldTransform.columns[3].z做成SCNVector3,即可得到3维坐标。
实现:
1、获取屏幕坐标:
1.1 点击坐标:-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
1.2 直接通过button点击,取屏幕中心坐标:self.view.center(这个比较方便,个人推荐)
2、2D转换3D模型
通过ARSCNView的-(NSArray<ARHitTestResult *> *)hitTest:(CGPoint)point types:(ARHitTestResultType)types方法,得到3D模型,例如:
NSArray<ARHitTestResult *> *arrayResult = [self.sceneView
hitTest:self.view.center
types:ARHitTestResultTypeFeaturePoint];
fdsa
3、转为3维坐标:
SCNVector3 centerVector3 =
SCNVector3Make(arrayResult[0].worldTransform.columns[3].x, arrayResult[0].worldTransform.columns[3].y, arrayResult[0].worldTransform.columns[3].z);
相关文章推荐
- opengl屏幕坐标到三维坐标的转换
- 将三维地理坐标转换到二维屏幕坐标
- OpenGL由屏幕坐标转换三维坐标
- opengl中将三维坐标转换到屏幕坐标
- openGL es2.0 render坐标(三维) 转换为 屏幕坐标(二维)
- opengl中将三维坐标转换到屏幕坐标
- osg 屏幕坐标和世界坐标转换
- VC++中屏幕坐标与窗口坐标的转换
- ArcGIS三维场景中(Globe)如何获得屏幕所在点的坐标值
- OpenGL 获取当前屏幕坐标对应的三维坐标,使用很简单glu库中的一个函数
- GIS 中地理坐标和屏幕坐标的标准转换方法
- (转)经纬度坐标转换为屏幕坐标
- 【ArcGIS for Android】经纬度坐标、地图投影坐标、屏幕坐标互相转换
- 自制3D显示引擎十:三维坐标在屏幕上的映射
- ogre世界坐标与屏幕坐标相互转换
- GIS 中地理坐标和屏幕坐标的标准转换方法
- 球面点三维坐标到纹理二维坐标的转换
- 屏幕坐标到opengl世界坐标转换
- OGRE中OIS与CEGUI的屏幕坐标转换
- [OpenS-CAD]屏幕坐标转换分析