roidsLOS = roidbelt => point => {
const belt = roidbelt.slice()
.filter(z => z.roid && !(z.x==point.x && z.y==point.y))
.map(z => {z.angle = Math.atan2(z.y - point.y, z.x - point.x); return z})
.map(z => {z.dist = Math.sqrt(Math.pow(z.x - point.x, 2) + Math.pow(z.y - point.y, 2)); return z})
const uniqueAngles = new Set(belt.map(z => z.angle))
const closest = Array.from(uniqueAngles)
.map(uniqueAngle => belt.filter(roid => roid.angle==uniqueAngle)
.reduce((acc, inc) => inc.dist < acc.dist? inc : acc))
return closest
}