我正在使用一个基于信标的项目,我的项目中的主要功能之一是带有信标的室内导航,因为我尝试了一些 3rd 方 sdks,但没有任何帮助。所以我决定用一组方程做我自己的三边测量然后我又被它困住了,因为为了我的目的,我想知道从用户到每个信标的大致距离,我的信标接近值总是给出 0,1,3 所以我将如何获得这些近似距离请帮助我。
我的计算方法userlocation(x,y)
如下
-(void)indorLocationCalculationProximity1:(float*)ra proximity2:(float*)rb proximity3:(float*)rc
{
CGPoint a=CGPointMake(100, 0);
CGPoint b=CGPointMake(200,100);
CGPoint c=CGPointMake(0, 100);
float S = (pow(c.x, 2.) - pow(b.x, 2.) + pow(c.y, 2.) - pow(b.y, 2.) + pow(rb, 2.) - pow(rc, 2.)) / 2.0;
float T = (pow(a.x, 2.) - pow(b.x, 2.) + pow(a.y, 2.) - pow(b.y, 2.) + pow(rb, 2.) - pow(ra, 2.)) / 2.0;
float y = ((T * (b.x - c.x)) - (S * (b.x - a.x))) / (((a.y - b.y) * (b.x - c.x)) - ((c.y - b.y) * (b.x - a.x)));
float x = ((y * (a.y - b.y)) - T) / (b.x - a.x);
}