neighbors()
方法是Yuka.js库的Vehicle类中的一个成员方法,用于获取与当前车辆在给定距离和角度内相邻的其他车辆列表。
neighbors( distance, angle )
distance
: Number类型,表示相邻车辆与当前车辆的最近距离,单位为米。angle
: Number类型,表示相邻车辆的方向与当前车辆朝向的夹角,单位为弧度。返回一个由相邻车辆实例组成的数组。
以下示例展示了如何使用neighbors()
方法查找与当前车辆在一定距离内的其他车辆。
import { Vehicle } from 'yuka';
// 初始化3辆车,初始位置分别为(0,0), (10,0), (20,0)
const vehicle1 = new Vehicle().setPosition(0, 0);
const vehicle2 = new Vehicle().setPosition(10, 0);
const vehicle3 = new Vehicle().setPosition(20, 0);
// 设置vehicle1的朝向和速度
vehicle1.setMaxSpeed(10).setOrientation(0, 1);
// 计算与vehicle1在10米距离、方向与车头方向偏差15度内的相邻车辆
const neighbors = vehicle1.neighbors(10, 0.26);
// 输出邻居车辆的位置信息
console.log(neighbors.map(vehicle => vehicle.position.toArray()));
// 输出: [ [ 10, 0 ], [ 20, 0 ] ]
该示例中,在初始化了三辆车后,对车辆1调用neighbors()
方法查找与其在10米距离、方向偏差15度内的车辆。由于车辆2、3与车辆1之间距离不超过10米,位于车辆1的方向向左侧15度以内,所以它们被成功地检测为车辆1的相邻车辆。最后,neighbors()
方法返回由车辆2、3组成的数组,并输出了邻居车辆的位置信息。