python - 制作有多少粒子(x、y、z 和时间)通过不同定义的 3D 区域的直方图
问题描述
您将如何创建执行以下操作的算法;制作有多少粒子(x、y、z 和时间)通过不同定义的 3D 区域的直方图。我可能会看到任何类似的问题吗?
换句话说,如果把棒球扔满房子,知道棒球的位置和房间在同一坐标系中的尺寸,有多少棒球穿过客厅、餐厅或厨房?
解决方案
考虑监控车辆交通。如果我们看一下这张收费站的图片,每个单独的收费站或检查站都可以在 3 个维度上定义。当有人开车通过时,传感器或摄像头可能会增加通过特定车道的汽车的计数器。这个过程可以进一步检测经过的车辆是汽车、卡车还是摩托车(x、y 或 z)和/或汽车是否支付了过路费。例如,通行费通常按车辆的轴数计费,因此区分车辆类型将需要相应的付款。就直方图而言,我们可以将这个过程更进一步,并说我们的计数器每小时重置一次,并且每小时记录/显示数据。收费站广场可以使用这个系统来审核他们的记录,以确保所有车辆都支付了通行费。或者根据司机更频繁地通过哪些车道来决定哪些收费车道保持开放和关闭。
这里的关键是我们有某种位置感知时间过程,它执行以下操作:
1. 定义每个 3 维区域
2. 感知物体进入 3 维区域之一
3. 区分进入区域的对象类型(x、y 或 z)
4. 记录小时、分钟或其他指定时间间隔的数据
在其他应用中,零售店通常会根据客流量、客户年龄、人口统计等因素在商店的某些区域销售产品。这也可以通过使用包围一个区域的商店中的摄像头或传感器跟踪客流量来完成. 通常,商店真正想要出售的更昂贵的商品或清仓商品被放置在交通更频繁的区域,因为它会将产品暴露给更多的人。你会在像沃尔玛这样的地方看到这种情况,它们将清仓商品放在入口处,因为他们需要尽快将商品送走,并且每个顾客都必须通过入口。
推荐阅读
- c# - Pascal 代码到 C# 代码的转换(ord 和 chr)
- node.js - Socket.io v3 不支持的协议版本错误
- php - 此集合实例上不存在属性 [id] - Laravel 6
- postgresql - API 结果与 SQL 查询不同的响应
- kotlin - 是否有更惯用的方式来执行订阅和异步/等待操作?
- c# - 在 c#.net 中将视图 SQL Server 替换为 public List<>
- git - Gitlab-CI 中存在已删除的标签
- javascript - Javascript Date getDay() 格式问题
- linux - makefile 包括路径层次结构和库位置?
- ansible - 我已将任务的输出存储到寄存器变量中,因此我想将值转换为列表并需要在 ansible playbook 中获取特定值