本周我和一位同事们正在使用可视化声纳数据的想法(我们都在发展数据可视化工具的工作)。
首先,听起来像是一个真正简单的2D热手套应用,其中x坐标表示时间,Y坐标表示声纳角度,或者横轴相对于船,颜色表示深度。
我最初想要制作一些数据发生器,模拟真正的生活声纳场景,但它让我真正快速地击中了很多方法可以使事情复杂化。我真的没有动机或需要创造任何适当的解决方案,而是一种灵感的火花击中了我们,这导致了我创建了一种新的解决方案,它能够实现简单的声纳可视化仿真。
我是一个软件开发人员,没有3D建模或设计的经验,下载的搅拌机,免费的3D建模软件,在半小时内我在我面前的水床的3D模型。
接下来,我将模型导出到obj格式,我对我以前的生活进行了一般性的理解。我特别感兴趣的是对obj格式的是它包含了所有几何坐标的列表,并且很容易解析。然后,我写了一个节点.js脚本1.加载obj文件。 2.解析模型的所有几何坐标。 3.将模型的Y坐标扫描到XZ网格,有效地形成高度图(矩阵,该矩阵包含每个列/网格的值“值”)。
遵循是一个光荣的时刻(至少在上班后有一个质量的好老朋友) - 我将高度图输入到我们的Web数据可视化软件中,并满足了这个:
它实际上有效了!最终,我不得不尝试模拟实时记录的数据,真正获得声纳扫描的感觉 - 这个最终结果,即使它远离真正的声纳应用程序也非常满意。
在这个时刻的时间里,我也做了一些我发现的快乐事故,我发现看起来真的很酷(有些是故意的,有些没有)。 以下是在高度地图扫描阶段(侧投影)中翻转的一些顶点的结果: 这是3D版本(而不是使用用于描绘高度的颜色,实际的3D几何用于可视化):