使用三边测量应用的二维三边测量

时间:2017-05-22 13:00:50

标签: trilateration

我正在尝试在3个2D点之间实现Trilateration。我最终想要使用这个库Trilateration。我使用下面给出的示例并尝试执行它。以下是代码

import org.apache.commons.math3.fitting.leastsquares.LeastSquaresOptimizer.Optimum;
import org.apache.commons.math3.fitting.leastsquares.LevenbergMarquardtOptimizer;

import com.lemmingapex.trilateration.NonLinearLeastSquaresSolver;
import com.lemmingapex.trilateration.TrilaterationFunction;


public class Pointofintersection {
public static void main() {


    // TODO Auto-generated method stub
    double[][] positions = new double[][] { { 5.0, -6.0 }, { 13.0, -15.0 }, { 21.0, -3.0 }, { 12.4, -21.2 } };
    double[] distances = new double[] { 8.06, 13.97, 23.32, 15.31 };
    NonLinearLeastSquaresSolver solver = new NonLinearLeastSquaresSolver(new TrilaterationFunction(positions, distances), new LevenbergMarquardtOptimizer());
    Optimum optimum = solver.solve();
    double[] centroid = optimum.getPoint().toArray();
    System.out.println(centroid);
    //System.out.println(centroid[1]);
}

}

那么我现在应该期待什么类型的输出。我得到了一些我无法理解的怪异输出。

    -2.0433926409457167E-7d,
    -9.1973399031975E-8d,
    -1.5723449006087263E-7d,
    +7.887051614592191E-8d,
    +1.4166246290402286E-7d,
    +3.330146018487787E-8d,
    +2.3278688667580978E-7d,
    -2.1139124097042925E-7d,
    +1.334449995534113E-7d,
    -1.6104730195920897E-7d,
    -1.3902314592614197E-7d,
    +2.0169027167169864E-7d,
    -9.040643863751471E-8d,
    -5.946190852360168E-8d,
    -1.8013411720005014E-7d,
    +2.6595401669835947E-8d,
    +8.607292924069425E-8d,
    +4.84038176769263E-10d,
    -2.2798356346688802E-7d,
    -1.203028719549339E-7d,
    -1.5111906039270745E-7d,
    +1.5859915617670956E-7d,
    -1.426262681506497E-7d,
    -9.892260062323546E-8d,
    -1.8492643515928268E-7d,
    +7.840210076743552E-8d,
    +2.1643071541578027E-7d,
    +2.313664294893465E-7d,
    +1.2541842003811723E-7d,
    -9.920197743470107E-8d,
    +3.655589133934081E-8d,
    +5.807052689551411E-8d,
    -3.244024724169575E-8d,
    -2.327564406466327E-7d,
    -6.38187356721971E-8d,
    -2.3995994000400915E-10d,
    -3.9793609609721186E-8d,
    -1.802510054588344E-7d,
    +5.745586744591196E-8d,
    +1.987228872666507E-7d,
    -2.3105188606976847E-7d,
    +2.0088042407239129E-7d,
    +6.624793114025702E-8d,
    -1.5587043044056635E-7d,
    +1.3606464059428694E-8d,
    +1.0008761540741556E-7d,
    +1.058213771597129E-7d,
    +3.3058299602856804E-8d,
    -1.1594886810010702E-7d,
    +1.378919824418909E-7d,
    -1.5683631181406778E-7d,
    -4.4200075770425176E-8d,
    +1.2250985436706623E-9d,
    -1.8297013058336644E-8d,
    -1.005004229646318E-7d,
    +2.337202285991116E-7d,
    +3.296104292035678E-8d,
    -2.23668185816307E-7d,
    -5.7055442971184756E-8d,
    +5.82391923137467E-8d,
    +1.244950238958056E-7d,
    +1.4399358260219398E-7d,
    +1.1901862840583523E-7d,
    +5.1856152603337505E-8d,
    -5.520562000491495E-8d,
    -1.9987622893254038E-7d,
    +9.697418238031897E-8d,
    -1.1603376405901542E-7d,
    +1.170714288147407E-7d,
    -1.550851303094034E-7d,
    +2.3472546699189522E-8d,
    +1.78211222185955E-7d,
    -1.6540009048230807E-7d,
    -5.137865010872577E-8d,
    +4.57490653163866E-8d,
    +1.2829599363166098E-7d,
    +1.985773325073412E-7d,
    -2.1792661654989742E-7d,
    -1.652218131743459E-7d,
    -1.178234251477505E-7d,
    -7.34071933723896E-8d,
    -2.9646587857612632E-8d,
    +1.5787194498912167E-8d,
    +6.52252321321176E-8d,
    +1.2100088103262734E-7d,
    +1.8544977697201776E-7d,
    -2.159273204728711E-7d,
    -1.2711589287782304E-7d,
    -2.2610609958205195E-8d,
    +9.993330547750349E-8d,
    -2.33974236642384E-7d,
    -6.830955860192377E-8d,
    +1.2244183812423448E-7d,
    -1.3620325027706252E-7d,
    +1.1178574689680927E-7d,
    -8.490693031052439E-8d,
    +2.2975389535985893E-7d,
    +1.0445707500867073E-7d,
    +1.8405243253979117E-8d,
    -2.6033812325397097E-8d,
    -2.6489990728664908E-8d,
    +1.9409124727247465E-8d,
    +1.1403826867020365E-7d,
    -2.1706266226554237E-7d,
    -1.7839974359909697E-8d,
    +2.3725087624341041E-7d,
    +7.37567604176979E-8d,
    -2.9098805266958403E-8d,
    -6.892713087722722E-8d,
    -4.333719263537725E-8d,
    +5.006436936098099E-8d,
    +2.1367325342138113E-7d,
    -2.6949659655907758E-8d,
    -1.9256682968755803E-7d,
    +1.960616287777496E-7d,
    +1.876664741413704E-7d,
    -2.1534486893602122E-7d,
    -5.688830723853217E-8d,
    +1.8861113228746644E-7d,
    +4.6730779443102234E-8d,
    -3.275360514112964E-9d,
    +4.1011920825226876E-8d,
    +1.820141955326842E-7d,
    -5.468175655175594E-8d,
    -1.8981247089866317E-7d,
    -2.209492705846306E-7d,
    -1.4566110577298295E-7d,
    +3.848544860465368E-8d,
    -1.429109630340783E-7d,
    -2.105749999899302E-7d,
    -1.6206609756618993E-7d,
    +5.058693461947143E-9d,
    -1.8359244902596882E-7d,
    +2.2810251664891242E-7d,
    -1.8791776732592608E-7d,
    +1.3106843166204263E-9d,
    -1.5543153797220025E-7d,
    -1.7884997059081524E-7d,
    -6.648490725635754E-8d,
    +1.8412576154421806E-7d,
    +9.860939269906055E-8d,
    +1.5627006743114285E-7d,
    -1.17260039161597E-7d,
    +2.3416513526430908E-7d,
    -2.1749172296989992E-7d,
    -3.9242560971295217E-8d,
    -1.822826971477839E-7d,
    -1.6729355321895212E-7d,
    +8.208715337901827E-9d,
    -1.301267783434537E-7d,
    -1.029741755377153E-7d,
    +9.215765583599035E-8d,
    -1.907487641016455E-8d,
    +4.2661388254716074E-8d,
    -1.9697226735187428E-7d,
    +2.1819935527247946E-7d,
    -1.398318929248588E-7d,
    +1.6195123407015624E-7d,
    +1.723826394935661E-7d,
    -1.0602700638269148E-7d,
    -1.9392742205954563E-7d,
    -8.880302882034106E-8d,
    +2.1186420987133E-7d,
    +2.3375763256988976E-7d,
    -2.0599801342241997E-8d,
    -7.184550924856607E-8d,
    +8.254840070367875E-8d,
};
LN_MANT
{ 
    {+0.0d,                   +0.0d,                   }, // 0
    {+9.760860120877624E-4d,  -3.903230345984362E-11d, }, // 1
    {+0.0019512202125042677d, -8.124251825289188E-11d, }, // 2
    {+0.0029254043474793434d, -1.8374207360194882E-11d,}, // 3
    {+0.0038986406289041042d, -2.1324678121885073E-10d,}, // 4
    {+0.004870930686593056d,  -4.5199654318611534E-10d,}, // 5
    {+0.025073636323213577d,  +1.2289023836765196E-9d, }, // 26
    ......
    {+0.02602556347846985d,   +1.7990281828096504E-9d, }, // 27
    {+0.026976589113473892d,  -1.4152718164638451E-9d, }, // 28
    {+0.02792670577764511d,   +7.568772963781632E-10d, }, // 29
    {+0.0288759246468544d,    -1.1449998592111558E-9d, }, // 30
    {+0.029824241995811462d,  -1.6850976862319495E-9d, }, // 31
    {+0.030771657824516296d,  +8.422373919843096E-10d, }, // 32
    {+0.0317181795835495d,    +6.872350402175489E-10d, }, // 33
    {+0.03266380727291107d,   -4.541194749189272E-10d, }, // 34
    {+0.03360854089260101d,   -8.9064764856495E-10d,   }, // 35
    {+0.034552380442619324d,  +1.0640404096769032E-9d, }, // 36
    {+0.0354953333735466d,    -3.5901655945224663E-10d,}, // 37
    {+0.03643739968538284d,   -3.4829517943661266E-9d, }, // 38
    {+0.037378571927547455d,  +8.149473794244232E-10d, }, // 39
    {+0.03831886500120163d,   -6.990650304449166E-10d, }, // 40
    {+0.03925827145576477d,   +1.0883076226453258E-9d, }, // 41
    {+0.040196798741817474d,  +3.845192807999274E-10d, }, // 42
    {+0.04113444685935974d,   -1.1570594692045927E-9d, }, // 43
    {+0.04207121580839157d,   -1.8877045166697178E-9d, }, // 44
    {+0.043007105588912964d,  -1.6332083257987747E-10d,}, // 45
    {+0.04394212365150452d,   -1.7950057534514933E-9d, }, // 46
    {+0.04487626254558563d,   +2.302710041648838E-9d,  }, // 47
    {+0.045809537172317505d,  -1.1410233017161343E-9d, }, // 48
    {+0.04674194008111954d,   -3.0498741599744685E-9d, }, // 49
    {+0.04767347127199173d,   -1.8026348269183678E-9d, }, // 50
    {+0.04860413819551468d,   -3.233204600453039E-9d,  }, // 51
    {+0.04953393340110779d,   +1.7211688427961583E-9d, }, // 52
    {+0.05046287178993225d,   -2.329967807055457E-10d, }, // 53
    {+0.05139094591140747d,   -4.191810118556531E-11d, }, // 54
    {+0.052318163216114044d,  -3.5574324788328143E-9d, }, // 55
    {+0.053244516253471375d,  -1.7346590916458485E-9d, }, // 56
    {+0.05417001247406006d,   -4.343048751383674E-10d, }, // 57
    {+0.055094651877880096d,  +1.92909364037955E-9d,   }, // 58
    {+0.056018441915512085d,  -5.139745677199588E-10d, }, // 59
    {+0.05694137513637543d,   +1.2637629975129189E-9d, }, // 60
    {+0.05786345899105072d,   +1.3840561112481119E-9d, }, // 61
    {+0.058784693479537964d,  +1.414889689612056E-9d,  }, // 62
    {+0.05970507860183716d,   +2.9199191907666474E-9d, }, // 63
    {+0.0606246218085289d,    +7.90594243412116E-12d,  }, // 64
    {+0.06154331564903259d,   +1.6844747839686189E-9d, }, // 65
    {+0.06246116757392883d,   +2.0498074572151747E-9d, }, // 66
    {+0.06337818503379822d,   -4.800180493433863E-9d,  }, // 67
    {+0.06429435312747955d,   -2.4220822960064277E-9d, }, // 68
    {+0.06520968675613403d,   -4.179048566709334E-9d,  }, // 69
    {+0.06612417101860046d,   +6.363872957010456E-9d,  }, // 70
    {+0.06703783571720123d,   +9.339468680056365E-10d, }, // 71
    {+0.06795066595077515d,   -4.04226739708981E-9d,   }, // 72
    .......
    {+0.47036975622177124d,   +1.6922605350647674E-8d, }, // 615
    {+0.4709796905517578d,    +2.4667033200046904E-8d, }, // 616
    .......
    {+0.5952457189559937d,    +3.67972590471072E-8d,   }, // 833
    {+0.595784068107605d,     +4.566672575206695E-8d,  }, // 834
    {+0.5963221788406372d,    +3.2813537149653483E-9d, }, // 835
    {+0.5968599319458008d,    +2.916199305533732E-8d,  }, // 836
    {+0.5973974466323853d,    +4.410412409109416E-9d,  }, // 837
    {+0.5979346036911011d,    +4.85464582112459E-8d,   }, // 838
    {+0.5984715223312378d,    +4.267089756924666E-8d,  }, // 839
    {+0.5990082025527954d,    -1.2906712010774655E-8d, }, // 840
    {+0.5995445251464844d,    +1.3319784467641742E-9d, }, // 841
    {+0.6000806093215942d,    -3.35137581974451E-8d,   }, // 842
    {+0.6006163358688354d,    +2.0734340706476473E-9d, }, // 843
    {+0.6011518239974976d,    -1.0808162722402073E-8d, }, // 844
    {+0.601686954498291d,     +4.735781872502109E-8d,  }, // 845
    {+0.6022218465805054d,    +5.76686738430634E-8d,   }, // 846
    {+0.6027565002441406d,    +2.043049589651736E-8d,  }, // 847
    {+0.6032907962799072d,    +5.515817703577808E-8d,  }, // 848
    {+0.6038248538970947d,    +4.2947540692649586E-8d, }, // 849
    {+0.6043586730957031d,    -1.589678872195875E-8d,  }, // 850
    {+0.6048921346664429d,    -1.8613847754677912E-9d, }, // 851
    {+0.6054253578186035d,    -3.3851886626187444E-8d, }, // 852
    {+0.6059582233428955d,    +7.64416021682279E-9d,   }, // 853
    .........
    {+0.6872705221176147d,    +4.995334552140326E-8d,  }, // 1012
    {+0.687761664390564d,     -5.3763211240398744E-8d, }, // 1013
    {+0.6882524490356445d,    -4.0852427502515625E-8d, }, // 1014
    {+0.688742995262146d,     -3.0287143914420064E-8d, }, // 1015
    {+0.6892333030700684d,    -2.183125937905008E-8d,  }, // 1016
    {+0.6897233724594116d,    -1.524901992178814E-8d,  }, // 1017
    {+0.6902132034301758d,    -1.0305018010328949E-8d, }, // 1018
    {+0.6907027959823608d,    -6.764191876212205E-9d,  }, // 1019
    {+0.6911921501159668d,    -4.391824838015402E-9d,  }, // 1020
    {+0.6916812658309937d,    -2.9535446262017846E-9d, }, // 1021
    {+0.6921701431274414d,    -2.2153227096187463E-9d, }, // 1022
    {+0.6926587820053101d,    -1.943473623641502E-9d,  }, // 1023
};
SINE_TABLE_A=
{
    +0.0d,
    +0.1246747374534607d,
    +0.24740394949913025d,
    +0.366272509098053d,
    +0.4794255495071411d,
    +0.5850973129272461d,
    +0.6816387176513672d,
    +0.7675435543060303d,
    +0.8414709568023682d,
    +0.902267575263977d,
    +0.9489846229553223d,
    +0.9808930158615112d,
    +0.9974949359893799d,
    +0.9985313415527344d,
};
SINE_TABLE_B=
{
    +0.0d,
    -4.068233003401932E-9d,
    +9.755392680573412E-9d,
    +1.9987994582857286E-8d,
    -1.0902938113007961E-8d,
    -3.9986783938944604E-8d,
    +4.23719669792332E-8d,
    -5.207000323380292E-8d,
    +2.800552834259E-8d,
    +1.883511811213715E-8d,
    -3.5997360512765566E-9d,
    +4.116164446561962E-8d,
    +5.0614674548127384E-8d,
    -1.0129027912496858E-9d,
};
COSINE_TABLE_A=
{
    +1.0d,
    +0.9921976327896118d,
    +0.9689123630523682d,
    +0.9305076599121094d,
    +0.8775825500488281d,
    +0.8109631538391113d,
    +0.7316888570785522d,
    +0.6409968137741089d,
    +0.5403022766113281d,
    +0.4311765432357788d,
    +0.3153223395347595d,
    +0.19454771280288696d,
    +0.07073719799518585d,
    -0.05417713522911072d,
};
COSINE_TABLE_B=
{
    +0.0d,
    +3.4439717236742845E-8d,
    +5.865827662008209E-8d,
    -3.7999795083850525E-8d,
    +1.184154459111628E-8d,
    -3.43338934259355E-8d,
    +1.1795268640216787E-8d,
    +4.438921624363781E-8d,
    +2.925681159240093E-8d,
    -2.6437112632041807E-8d,
    +2.2860509143963117E-8d,
    -4.813899778443457E-9d,
    +3.6725170580355583E-9d,
    +2.0217439756338078E-10d,
};
TANGENT_TABLE_A=
{
    +0.0d,
    +0.1256551444530487d,
    +0.25534194707870483d,
    +0.3936265707015991d,
    +0.5463024377822876d,
    +0.7214844226837158d,
    +0.9315965175628662d,
    +1.1974215507507324d,
    +1.5574076175689697d,
    +2.092571258544922d,
    +3.0095696449279785d,
    +5.041914939880371d,
    +14.101419448852539d,
    -18.430862426757812d,
};
TANGENT_TABLE_B=
{
    +0.0d,
    -7.877917738262007E-9d,
    -2.5857668567479893E-8d,
    +5.2240336371356666E-9d,
    +5.206150291559893E-8d,
    +1.8307188599677033E-8d,
    -5.7618793749770706E-8d,
    +7.848361555046424E-8d,
    +1.0708593250394448E-7d,
    +1.7827257129423813E-8d,
    +2.893485277253286E-8d,
    +3.1660099222737955E-7d,
    +4.983191803254889E-7d,
    -3.356118100840571E-7d,
};

所以,如果我做错了或者是我应该解析的真实数据并将其用于其他计算,请告诉我。

1 个答案:

答案 0 :(得分:0)

您可以使用System.out.println()打印双数组吗?

double[] centroid = optimum.getPoint().toArray();
System.out.println(centroid);

你尝试过这样的事吗: What's the simplest way to print a Java array?