static void Main() { // Initialize Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; // Conversion from geodetic coordinates to Cartesian ConsoleHelper.Disp(X, "Target (Geodetic): ", "\n"); double[] Y = Navigation.FromGeodetic(X); ConsoleHelper.Disp(Y, "Target (Cartesian): ", "\n"); ConsoleHelper.Disp(S, "Scaling (Cartesian): ", "\n"); ConsoleHelper.Disp(sigma, "Sigma: ", "\n"); ConsoleHelper.Disp(count, "Receivers count: "); // Computing receivers and time difference double[][] A = RDMS.GetReceiver(Y, S, sigma, count); double[] T = RDMS.GetTime(A, Y); ConsoleHelper.Disp(A, "Receiver: ", "\n"); ConsoleHelper.Disp(T, "Time delays: ", "\n"); RDMS rdm = new RDMS(1e-12); // Range-difference method solution double[] R = rdm.Solve(A, T); ConsoleHelper.Disp(R, "RDM (Cartesian): "); ConsoleHelper.Disp(Vector.Accuracy(R, Y), "Accuracy: ", "\n"); ConsoleHelper.Disp(Vector.Similarity(R, Y), "Similarity: ", "\n"); ConsoleHelper.Disp(Vector.Loss(R, Y), "Loss: "); // Backward conversion to geodetic coordinates double[] Z = Navigation.ToGeodetic(R); ConsoleHelper.Disp(Z, "RDM (Geodetic): "); Console.ReadKey(); }
private void DispSolution(double[][] receivers, double[] target, double[] solution) { richTextBox1.Text = FormHelper.Disp(V, "Target: "); richTextBox1.Text += FormHelper.Disp(sigma, "Sigma: "); richTextBox1.Text += FormHelper.Disp(count, "Receivers count: "); richTextBox1.Text += FormHelper.Disp(receivers, "Receiver: "); richTextBox1.Text += FormHelper.Disp(solution, "RDM: "); richTextBox1.Text += FormHelper.Disp(Vector.Accuracy(solution, target), "Accuracy: "); richTextBox1.Text += FormHelper.Disp(Vector.Similarity(solution, target), "Similarity: "); richTextBox1.Text += FormHelper.Disp(Vector.Loss(solution, target), "Loss: ", ""); }