gpt4 book ai didi

java - 表示声纳/雷达/回声位置的数据类型

转载 作者:行者123 更新时间:2023-11-30 15:47:20 26 4
gpt4 key购买 nike

我只是对声纳设备有一个总体的思考。声纳结果如何用数据类型表示。

目前我想出的解决方案是拥有一个 360 2D array,其值表明物体被击中时的距离,最大范围意味着那里什么也没有。这样做的问题是,对于 3D 声纳示例来说,它会变得工作密集,并且对于 2D 声纳示例来说也不太便宜。

注意:我想要一个数据类型来表示主动声纳。

最佳答案

以下是测距仪数据的几种表示形式。根据您正在进行的处理,其中之一可能会帮助您降低处理成本。

极坐标,跳过缺失值

不要将缺失值设置为 MAX_RANGE,而是仅将命中值存储在极坐标中。在 C 中,您将使用此结构的数组:

struct Hit {
float angle;
float range;
float incline; // If you need 3d coordinates.
}

这种表示的好处是您不必花时间处理丢失的读数。缺点是极坐标很难直接使用,导致我......

笛卡尔坐标,跳过缺失值

笛卡尔坐标通常更容易处理。使用此结构的数组:

struct Point {
float x;
float y;
float z;
}

kd 树

kd 树是一种数据结构,它以一种可以轻松、快速地回答常见查询的方式对空间进行分区。像“哪些点距 (x,y,z) 5 米”或“距 (x,y,z) 最近的点是哪一个”之类的查询,使用 kd 树可以比迭代每个点更快地得到回答。单独点。

八叉树(或二维四叉树)

八叉树与 kd 树非常相似,但选择了不同的空间划分方法(kd 树通过确保点被分成相等的组来划分空间,而八叉树仅通过取中点来划分空间) 。如果您经常添加和删除点,那么使用八叉树会更容易。当点分布非常不均匀时,八叉树的工作效果较差 - 如果您使用 1 公里的空间,并且有两个相距 1 海里的点,则八叉树的效率将低于 kd 树。

结论

这些是测距仪数据的主要表示形式。其中一种可能适合您的情况,但您应该了解这些表示中的任何一种都可能导致处理速度缓慢。每种类型的处理可能有不同的最佳表示。如果您的处理速度仍然太慢,您应该询问有关您正在执行的特定处理类型的问题。

关于java - 表示声纳/雷达/回声位置的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17473693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com