unity3d - 如果统一给出其他坐标(3 个或更多点),如何在 2d 平面图上找到用户位置?
问题描述
如果已知 A、B 和 c 的坐标分别为 A(floorpointx1,floorpointy1),B(floorpointx2,floorpointy2) 和 C(floorpointx3,floorpointy3) .D1,D2 和 D3,是否可以找到用户的位置也可以提供。通过所有这些详细信息,我们可以找到用户的位置[User(floorpoint_x,floorpoint_y)]?
float D1 = Vector3.Distance(userposition, PointAPosition);
float D2 = Vector3.Distance(userposition, PointBPosition);
float D3 = Vector3.Distance(userposition, PointCPosition);
解决方案
在我们在评论中讨论之后,我认为您的问题的最佳解决方案是 2D helmert 相似性转换。如果您的楼层地图中有 2 个或更多已知点并在这些点上放置模型/POI,(换句话说:您正在测量 ARKit 坐标系中的坐标!)您可以计算两个坐标系之间的关系,然后您可以将您的用户 ARKit 位置转换为您的平面图坐标系。
在这里您可以找到更多信息和示例,了解 2d helmert 相似性转换的外观:http ://www.geo.itu.edu.tr/dersler/Example%205_2D%20Helmert%20Similarity%20Transformation.pdf 研究文档并查看在第 6-8 页的数字示例中,实施起来应该没有问题。
推荐阅读
- git - Git fetch 永远运行
- symfony - Symfony 3 生产环境问题
- android-studio - 库未与 build make Android Studio 一起安装,但可与 CMAKE-GUI 一起使用
- facebook - Facebook 聊天插件未显示在我的网站上
- angular - 使用 ngx-translate 翻译 Kendo-UI 网格
- c# - 如何唯一标识另一个正在运行的程序?
- php - PHP | 波兰语字符 - 将 UTF-8 转换为 ANSI
- asp.net-mvc - Angular TypeScript 中的 JsonProperty
- xamarin.forms - Xamarin 表单 - 重复屏幕
- sql - 内联发票