地图上雷达探测到的物体实时映射到雷达图上

思路:通过运算公式求出在雷达图上的位置在用定位的方式展示出来

计算公式:

X=雷达图半径+雷达探测到的距离*cos雷达探测到的角度*雷达范围半径大小和雷达图半径大小的比例

Y=雷达图半径-雷达探测到的距离*sin雷达探测到的角度*雷达范围半径大小和雷达图半径大小的比例

具体实现代码:

export function positionRadar(data){
	let arrayp = []
	let ldradius = Math.floor(this.searchRadar.radius)*0.8   //雷达真实范围取整后按照一定比例缩小(比例可按实际情况调整)可以更准确的体现到雷达图上
	let imgradius = 75  //雷达图半径
	let scale = imgradius/ldradius  // 雷达实际范围和雷达图半径比例
	//雷达探测到的所有物体
	data.forEach(element => {
		let costheta = Math.cos(element.theta*Math.PI/180)   //探测到物体的角度cos值
		let sintheta = Math.sin(element.theta*Math.PI/180)   //探测到物体的角度sin值
		let positionx = 72 + element.distance*costheta*scale
		let positiony = 72 - element.distance*sintheta*scale
		let obj = {
			positionx: positionx,
			positiony: positiony
		}
		arrayp.push(obj)  //所有物体在雷达图上的定位值

	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值