2023测绘创新创业智能大赛程序设计(点云平面分割随机一致性算法)

本次参赛最遗憾的就是没有获奖,各种阴差阳错也好,不甘心也罢,都已结束。
或许有时候没有获奖会比获奖收获更多,这次我的收获就是编程不是上手就来,更重要的是一个全盘规划,比如类的设计,方法设计。第二个就是一个仔细,千万别看错题,敲错公式。第三就是心态的把握,第一次参赛我心态上有点紧张,这是需要改进的。第四就是要更加独立,最重要的是专注。
所有的经历皆是一笔财富,各方面变得更好,一步一步养成更多好习惯,改掉一些坏习惯。更重要的是成为独一无二的自己。

点云数据分割的目标是将具有相似特征的点聚类成均匀区域,主要方法有基于边缘信息的分割、基于模型拟合的分割、基于属性的分割等多种方法。本题主要基于采用基于栅格投影的点云分割算法和随机抽样一致(RANSAC)平面分割方法。

1. 题目和相关算法

1.1 求点云坐标x,y,z数据的极值

题目
坐标分量 x 的最小值 xmin
坐标分量 x 的最大值 xmax
坐标分量 y 的最小值 ymin
坐标分量 y 的最大值 ymax
坐标分量 z 的最小值 zmin
坐标分量 z的最大值 zmax

1.2 点云数据栅格化

在这里插入图片描述

题目
求p5点的行列值
栅格C的点云数量

1.3 计算栅格单元的几何特征信息

在这里插入图片描述

题目
栅格C的平均高度
栅格C高度的最大值
栅格C的高度差
栅格C的高度方差

1.4 随机抽样一致(RANSAC)平面分割

随机抽样一致(RANdom SAmple Consensus ,RANSAC)算法是 1981 年由 Fischler 和 Bolles
首次提出,它是一种迭代方法,用于从一组包含内部点(Inliers)和外部点(outliers)数据中,通过迭代方式估计出数学模型的参数。内部点(Inliers)可以解释为适合模型参数的一组点,外部点(outliers)则是不适合模型的点 RANSAC 是一种不确定的算法——它有一定的概率得出一个合理的结果,为了提高概率 必须提高迭代次数。

平面拟合
在这里插入图片描述

题目
拟合平面S1的A参数
拟合平面S1的B参数
拟合平面S1的C参数
拟合平面S1的D参数

内部点外部点计算

在这里插入图片描述

题目
P1000 到拟合平面 S1 的距离
P5 到拟合平面 S1 的距离
拟合平面 S1 的内部点数量
拟合平面 S1 的外部点数量

最佳分割平面J1
在这里插入图片描述

题目
最佳分割平面 J1 的参数 A
最佳分割平面 J1 的参数 B
最佳分割平面 J1 的参数 C
最佳分割平面 J1 的参数 D
最佳分割平面 J1 的内部点数量
最佳分割平面 J1 的外部点数量

迭代平面分割
在这里插入图片描述|

题目
分割平面 J2的参数 A
分割平面 J2 的参数 B
分割平面 J2 的参数 C
分割平面 J2 的参数 D
分割平面 J2 的内部点数量
分割平面 J2 的外部点数量

点云水平截面投影
在这里插入图片描述

题目
P5 点到最佳分割面(J1)的投影坐标 xt
P5 点到最佳分割面(J1)的投影坐标 yt
P5 点到最佳分割面(J1)的投影坐标 zt
P800 点到最佳分割面(J2)的投影坐标 xt
P800 点到最佳分割面(J2)的投影坐标 yt
P800 点到最佳分割面(J2)的投影坐标 zt

2. 程序界面

在这里插入图片描述

3. 程序思路设计

在这里插入图片描述

4. 代码

4.1 calculation.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace pclsegmation
{
    class calculation
    {
        public static int count = 0;//点云数据的数量
        public static List<point3D> points = new List<point3D>();//点云数据
        public static List<point3D> points1 = new List<point3D>();//点云数据,防止排序打乱顺序
        public static double maxX;//X最大值
        public static double maxY;//Y最大值
        public static double maxZ;//Z最大值
        public static double minX;//X最小值
        public static double minY;//Y最小值
        public static double minZ;//Z最小值
        public static List<Raster> rasters = new List<Raster>();//栅格数据
        public static int countC = 0;//C栅格的数量
        public static double heightmaxC = 0;//C栅格的高度最大值
        public static double meanheightC = 0;//C栅格的高度均值
        public static double heightC = 0;//C栅格的高度差
        public static double fchaC = 0;//C栅格的方差
        public static List<int> Count = new List<int>();//栅格数量
        public static List<double> heightmax = new List<double>();//高度最大值
        public static List<double> meanheight = new List<double>();//平均高度
        public static List<double> heightc = new List<double>();//高度差
        public static List<double> fcha = new List<double>();//方差
        public static double areap;//p1,p2,p3构成面积
        public static double S1A, S1B, S1C, S1D;//S1平面系数
        public static double disp1000;//第1000个点到平面的距离
        public static double disp5;//第5个点到平面的距离 
        public static List<double> dis = new List<double>();//距离集合
        public static int neibucount = 0;//内部点数量
        public static int waibucount = 0;//外部点数量
        public static double J1A, J1B, J1C, J1D;//平面系数
        public static int J1neibucount = 0;//内部点数量
        public static int J1waibucount = 0;//外部点数量
        public static List<point3D> J1neibu;//J1面内部点云
        public static List<point3D> J1waibu;//J1面外部点云
        public static List<point3D> J2neibu;//J2面内部点云
        public static List<point3D> J2waibu;//J2面内部点云
        public static double J2A, J2B, J2C, J2D;//J2平面系数
        public static int J2neibucount = 0;//J2内部点数量
        public static int J2waibucount = 0;//J2外部点数量
        public static double xt = 0;
        public static double yt = 0;
        public static double zt = 0;
        public static double Xt = 0;
        public static double Yt = 0;
        public static double Zt = 0;
        /// <summary>
        /// 获取指定行列栅格的点云数量
        /// </summary>
        /// <param name="rasters">栅格数据</param>
        /// <param name="rows">行</param>
        /// <param name="cols">列</param>
        /// <returns></returns>
        public static int size(List<Raster> rasters, int rows, int cols)
        {
            int count = 0;
            foreach (var val in rasters)
            {
                if (val.rows == rows && val.cols == cols)
                {
                    count++;
                }
            }
            return count;
        }
        /// <summary>
        /// 获取指定栅格行列里的点云
        /// </summary>
        /// <param name="rasters">栅格数据</param>
        /// <param name="rows">行</param>
        /// <param name="cols">列</param>
        /// <returns></returns>
        public static List<point3D> getrasterpoint(List<Raster> rasters, int rows, int cols)
        {
            List<point3D> point3s = new List<point3D>();
            foreach (var val in rasters)
            {
                if (val.rows == rows && val.cols == cols)
                {
                    point3s.Add(new point3D(val.Point3D.name, val.Point3D.X, val.Point3D.Y, val.Point3D.Z));
                }
            }
            return point3s;
        }
        /// <summary>
        /// 求极值
        /// </summary>
        public static void Maxmin()
        {
            List<point3D> x = points;//中间变量
            x.Sort(delegate (point3D a1, point3D b1)
            {
                return a1.X.CompareTo(b1.X);
            });
            maxX = x[count - 1].X;
            minX = x[0].X;
            List<point3D> y = points;//中间变量
            x.Sort(delegate (point3D a1, point3D b1)
            {
                return a1.Y.CompareTo(b1.Y);
            });
            maxY = y[count - 1].Y;
            minY = y[0].Y;
            List<point3D> Z = points;//中间变量
            Z.Sort(delegate (point3D a1, point3D b1)
            {
                return a1.Z.CompareTo(b1.Z);
            });
            maxZ = Z[count - 1].Z;
            minZ = Z[0].Z;
        }
        /// <summary>
        /// 点云数据栅格化
        /// </summary>
        public static void To_raster()
        {
            foreach (var val in points1)
            {
                rasters.Add(new Raster
                {
                    rows = Convert.ToInt32(Math.Floor(val.Y / 10)),
                    cols = Convert.ToInt32((Math.Floor(val.X / 10))),
                    Point3D = new point3D(val.name, val.X, val.Y, val.Z)
                });

            }

            for (int i = 0; i < 10; i++)//获取指定行列栅格的点云数量
            {
                for (int j = 0; j < 10; j++)
                {
                    Count.Add(size(rasters, i, j));
                    double m = 1.0 / size(rasters, i, j);//中间变量
                    List<point3D> point3s = getrasterpoint(rasters, i, j);
                    double sumz = 0;
                    for (int k = 0; k < point3s.Count; k++)
                    {
                        sumz += point3s[k].Z;
                    }
                    double meanheight1 = m / sumz;
                    meanheight.Add(meanheight1);
                    point3s.Sort(delegate (point3D a1, point3D b1)
                    {
                        return a1.Z.CompareTo(b1.Z);
                    });
                    heightc.Add(point3s[point3s.Count - 1].Z - point3s[0].Z);
                    heightmax.Add(point3s[point3s.Count - 1].Z);
                    double fchaz = 0;//中间变量
                    for (int k = 0; k < point3s.Count; k++)
                    {
                        fchaz += Math.Pow(point3s[k].Z - meanheight1, 2);
                    }
                    fchaz = m * fchaz;
                    fcha.Add(fchaz);
                }
            }
            countC = Count[32];
            meanheightC = meanheight[32];
            heightmaxC = heightmax[32];
            heightC = heightc[32];
            fchaC = fcha[32];
        }
        /// <summary>
        /// 点云平面分割
        /// </summary>
        public static void calculate()
        {
            #region//s1平面
            double a, b, c;//中间变量
            double p;//中间变量
            a = Math.Sqrt(Math.Pow(points1[0].X - points1[1].X, 2) + Math.Pow(points1[0].Y - points1[1].Y, 2) + Math.Pow(points1[0].Z - points1[1].Z, 2));
            b = Math.Sqrt(Math.Pow(points1[1].X - points1[2].X, 2) + Math.Pow(points1[1].Y - points1[2].Y, 2) + Math.Pow(points1[1].Z - points1[2].Z, 2));
            c = Math.Sqrt(Math.Pow(points1[0].X - points1[2].X, 2) + Math.Pow(points1[0].Y - points1[2].Y, 2) + Math.Pow(points1[0].Z - points1[2].Z, 2));
            p = ((a + b + c) / 2);
            areap = Math.Sqrt(p * (p - a) * (p - b) * (p - c));
            S1A = (points1[1].Y - points1[0].Y) * (points1[2].Z - points1[0].Z) - (points1[2].Y - points1[0].Y) * (points1[1].Z - points1[0].Z);
            S1B = (points1[2].X - points1[0].X) * (points1[1].Z - points1[0].Z) - (points1[1].X - points1[0].X) * (points1[2].Z - points1[0].Z);
            S1C = (points1[1].X - points1[0].X) * (points1[2].Y - points1[0].Y) - (points1[2].X - points1[0].X) * (points1[1].Y - points1[0].Y);
            S1D = -S1A * points1[0].X - S1B * points1[0].Y - S1C * points1[0].Z;
            for (int i = 3; i < count; i++)
            {
                dis.Add(Math.Abs(S1A * points1[i].X + S1B * points1[i].Y + S1C * points1[i].Z + S1D) / (Math.Sqrt(S1A * S1A + S1B * S1B + S1C * S1C)));
            }
            disp1000 = dis[996];
            disp5 = dis[1];
            for (int i = 0; i < 997; i++)
            {
                if (dis[i] < 0.1)
                {
                    neibucount++;
                }
                else
                {
                    waibucount++;
                }
            }
            #endregion
            #region//计算最佳分割平面
            J1neibucount = neibucount;
            J1waibucount = waibucount;
            for (int i = 3;; i=i+3)
            {
                if (i + 3 > points1.Count - 1)
                {
                    break;
                }
                double a1, b1, c1;//中间变量
                double p1;//中间变量
                a1 = Math.Sqrt(Math.Pow(points1[i].X - points1[i+1].X, 2) + Math.Pow(points1[i].Y - points1[i+1].Y, 2) + Math.Pow(points1[i].Z - points1[i+1].Z, 2));
                b1 = Math.Sqrt(Math.Pow(points1[i+1].X - points1[i+2].X, 2) + Math.Pow(points1[i+1].Y - points1[i+2].Y, 2) + Math.Pow(points1[i+1].Z - points1[i+2].Z, 2));
                c1 = Math.Sqrt(Math.Pow(points1[i].X - points1[i+2].X, 2) + Math.Pow(points1[i].Y - points1[i+2].Y, 2) + Math.Pow(points1[i].Z - points1[i+2].Z, 2));
                p1 = ((a1 + b1+ c1) / 2);
                double areap1 = Math.Sqrt(p1 * (p1 - a1) * (p1 - b1) * (p1 - c1)); 
                if(areap1>0.1)
                {
                    List<point3D> points11 = new List<point3D>();
                    for (int j = 0; j < count; j++)
                    { 
                        if (j != i && j != i + 1 && j != i + 2)
                        {
                            points11.Add(new point3D(points1[j].name, points1[j].X, points1[j].Y, points1[j].Z));
                        }
                    }

                    double A = (points1[i + 1].Y - points1[i].Y) * (points1[i + 2].Z - points1[i].Z) - (points1[i + 2].Y - points1[i].Y) * (points1[i + 1].Z - points1[i].Z);
                    double B = (points1[i + 2].X - points1[i].X) * (points1[i + 1].Z - points1[i].Z) - (points1[i + 1].X - points1[i].X) * (points1[i + 2].Z - points1[i].Z);
                    double C = (points1[i + 1].X - points1[i].X) * (points1[i + 2].Y - points1[i].Y) - (points1[i + 2].X - points1[i].X) * (points1[i + 1].Y - points1[i].Y);
                    double D = -A * points1[i].X - B * points1[i].Y - C * points1[i].Z;
                    dis = new List<double>();
                    foreach (var val in points11)
                    {
                        dis.Add(Math.Abs(A * val.X + B * val.Y + C * val.Z + D) / (Math.Sqrt(A * A + B * B + C * C)));
                    }
                    int J1neibucount1 = 0, J1waibucount1 = 0;
                    List<point3D> J1neibu1 = new List<point3D>();//中间变量
                    List<point3D> J1waibu1 = new List<point3D>();//中间变量
                    for (int k = 0; k < count - 3; k++)
                    {
                        if (dis[k] < 0.1)
                        {
                            J1neibucount1++;
                            point3D J1neibu11 = new point3D(points11[k].name, points11[k].X, points11[k].Y, points11[k].Z);
                            J1neibu1.Add(J1neibu11);
                        }
                        else
                        {
                            J1waibucount1++;
                            point3D J1waibu11 = new point3D(points11[k].name, points11[k].X, points11[k].Y, points11[k].Z);
                            J1waibu1.Add(J1waibu11);
                        }
                    }
                    if (J1neibucount1>J1neibucount)
                    {
                        J1neibucount = J1neibucount1;
                        J1waibucount = J1waibucount1;
                        J1neibu = J1neibu1;
                        J1waibu = J1waibu1;
                        J1A = A;
                        J1B = B;
                        J1C = C;
                        J1D = D;
                    }
                }
            }
            #endregion
            #region//迭代平面分割
            J2neibucount = 0;
            J2waibucount = 0;
            for (int i = 0; ; i = i + 3)
            {
                if (i + 3 > J1waibu.Count - 1)
                {
                    break;
                }
                double a1, b1, c1;//中间变量
                double p1;//中间变量
                a1 = Math.Sqrt(Math.Pow(points1[i].X - points1[i + 1].X, 2) + Math.Pow(points1[i].Y - points1[i + 1].Y, 2) + Math.Pow(points1[i].Z - points1[i + 1].Z, 2));
                b1 = Math.Sqrt(Math.Pow(points1[i + 1].X - points1[i + 2].X, 2) + Math.Pow(points1[i + 1].Y - points1[i + 2].Y, 2) + Math.Pow(points1[i + 1].Z - points1[i + 2].Z, 2));
                c1 = Math.Sqrt(Math.Pow(points1[i].X - points1[i + 2].X, 2) + Math.Pow(points1[i].Y - points1[i + 2].Y, 2) + Math.Pow(points1[i].Z - points1[i + 2].Z, 2));
                p1 = ((a1 + b1 + c1) / 2);
                double areap1 = Math.Sqrt(p1 * (p1 - a1) * (p1 - b1) * (p1 - c1));
                if (areap1 > 0.1)
                {
                    List<point3D> points11 = new List<point3D>();
                    for (int j = 0; j < J1waibu.Count; j++)
                    {
                        if (j != i && j != i + 1 && j != i + 2)
                        {
                            point3D point = new point3D(J1waibu[j].name, J1waibu[j].X, J1waibu[j].Y, J1waibu[j].Z);
                            points11.Add(point);
                        }
                    }
                    double A = (J1waibu[i + 1].Y - J1waibu[i].Y) * (J1waibu[i + 2].Z - J1waibu[i].Z) - (J1waibu[i + 2].Y - J1waibu[i].Y) * (J1waibu[i + 1].Z - J1waibu[i].Z);
                    double B = (J1waibu[i + 2].X - J1waibu[i].X) * (J1waibu[i + 1].Z - J1waibu[i].Z) - (J1waibu[i + 1].X - J1waibu[i].X) * (J1waibu[i + 2].Z - J1waibu[i].Z);
                    double C = (J1waibu[i + 1].X - J1waibu[i].X) * (J1waibu[i + 2].Y - J1waibu[i].Y) - (J1waibu[i + 2].X - J1waibu[i].X) * (J1waibu[i + 1].Y - J1waibu[i].Y);
                    double D = -A * J1waibu[i].X - B * J1waibu[i].Y - C * J1waibu[i].Z;
                    dis = new List<double>();
                    foreach (var val in points11)
                    {
                        dis.Add(Math.Abs(A * val.X + B * val.Y + C * val.Z + D) / Math.Sqrt(A * A + B * B + C * C));
                    }
                    int J2neibucount1 = 0, J2waibucount1 = 0;
                    List<point3D> J2neibu1 = new List<point3D>();//中间变量
                    List<point3D> J2waibu1 = new List<point3D>();//中间变量
                    for (int k = 0; k < J1waibu.Count - 3; k++)
                    {
                        if (dis[k] < 0.1)
                        {
                            J2neibucount1++;
                            point3D J2neibu11 = new point3D(points11[k].name, points11[k].X, points11[k].Y, points11[k].Z);
                            J2neibu1.Add(J2neibu11);
                        }
                        else
                        {
                            J2waibucount1++;
                            point3D J2waibu11 = new point3D(points11[k].name, points11[k].X, points11[k].Y, points11[k].Z);
                            J2waibu1.Add(J2waibu11);
                        }
                    }
                    if (J2neibucount1 > J2neibucount)
                    {
                        J2neibucount = J2neibucount1;
                        J2waibucount = J2waibucount1;
                        J2neibu = J2neibu1;
                        J2waibu = J2waibu1;
                        J2A = A;
                        J2B = B;
                        J2C = C;
                        J2D = D;
                    }
                }
            }
            #endregion
            #region//计算点云水平截面投影
            xt = (J1B * J1B + J1C * J1C) * points1[4].X - J1A * (J1B * points1[4].Y + J1C * points1[4].Z + J1D) / (J1A * J1A + J1B * J1B + J1C * J1C);
            yt = (J1A * J1A + J1C * J1C) * points1[4].Y - J1B * (J1A * points1[4].X + J1C * points1[4].Z + J1D) / (J1A * J1A + J1B * J1B + J1C * J1C);
            zt = (J1B * J1B + J1A * J1A) * points1[4].Z - J1C * (J1A * points1[4].X + J1B * points1[4].Y + J1D) / (J1A * J1A + J1B * J1B + J1C * J1C);
            Xt = (J2B * J2B + J2C * J2C) * points1[799].X - J2A * (J2B * points1[799].Y + J2C * points1[799].Z + J2D) / (J2A * J2A + J2B * J2B + J2C * J2C);
            Yt = (J2A * J2A + J2C * J2C) * points1[799].Y - J2B * (J2A * points1[799].X + J2C * points1[799].Z + J2D) / (J2A * J2A + J2B * J2B + J2C * J2C);
            Zt = (J2B * J2B + J2A * J2A) * points1[799].Z - J2C * (J2A * points1[799].X + J2B * points1[799].Y + J2D) / (J2A * J2A + J2B * J2B + J2C * J2C);
            #endregion
        }
    }
    class point3D
    {
        public string name;//点名
        public double X;//x坐标
        public double Y;//y坐标
        public double Z;//z坐标
        public point3D(string name1, double x, double y, double z)
        {
            name = name1;
            X = x;
            Y = y;
            Z = z;
        }
    }
    class Raster
    {
        public int rows = 0;//栅格行
        public int cols = 0;//栅格列
        public point3D Point3D;
    }
}

4.2 Filehelp.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace pclsegmation
{
    class Filehelp
    {
        public static string datastr;//将数据读取成一个字符串
        public static string[] splitstr = new string[] { "\r\n" };//分隔符
        public static string[] datalines;
        /// <summary>
        /// 读取点云数据
        /// </summary>
        /// <param name="rich1"></param>
        public static void readdata(RichTextBox rich1)
        {
            using (OpenFileDialog ofd = new OpenFileDialog())
            {
                ofd.Filter = "文本文件(*.txt)|*.txt";
                if(ofd.ShowDialog()==DialogResult.OK)
                {
                    datastr = File.ReadAllText(ofd.FileName);
                    rich1.Text = datastr;
                    datalines = datastr.Split(splitstr, StringSplitOptions.RemoveEmptyEntries);
                    calculation.count = Convert.ToInt32(datalines[0]);
                    for(int i=1;i<datalines.Length;i++)
                    {
                        var arr = datalines[i].Split(',');
                        point3D point = new point3D(arr[0],Convert.ToDouble(arr[1]), Convert.ToDouble(arr[2]), Convert.ToDouble(arr[3]));
                        calculation.points.Add(point);
                        calculation.points1.Add(point);
                    }
                }
            }
        }
        /// <summary>
        /// 将结果保存为txt文件
        /// </summary>
        /// <param name="rich1"></param>
        public static void savetxt(RichTextBox rich1)
        {
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = "文本文件(*.txt)|*.txt";
            sfd.FileName = "result";
            sfd.InitialDirectory = @"C:\";
            if(sfd.ShowDialog()==DialogResult.OK)
            {
                File.WriteAllText(sfd.FileName, rich1.Text);
            }
        }
    }
}

4.3 Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace pclsegmation
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void 导入文件ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Filehelp.readdata(richTextBox1);
        }

        private void 保存结果为txt文件ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Filehelp.savetxt(richTextBox2);
        }

        private void 原始数据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.SelectTab(0);
        }

        private void 结果ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.SelectTab(1);
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            if(calculation.points1.Count==0)
            {
                MessageBox.Show("请先导入数据", "提示", MessageBoxButtons.OK);
            }
            else
            {
                calculation.Maxmin();
                calculation.To_raster();
                calculation.calculate();
                string tempt = "";
                tempt += "点号,x,y,z,标识\n";
                DataTable dataTable = new DataTable("");
                dataTable.Columns.Add("点号");
                dataTable.Columns.Add("x");
                dataTable.Columns.Add("y");
                dataTable.Columns.Add("z");
                dataTable.Columns.Add("标识");
                for (int i=0;i<calculation.points1.Count;i++)
                {
                    int index = calculation.J1neibu.FindIndex(f => f.name == calculation.points1[i].name);
                    int index1 = calculation.J2neibu.FindIndex(f => f.name == calculation.points1[i].name);
                    if(index!=-1)
                    {
                        tempt += string.Format("{0},{1},{2},{3},J1\n", calculation.points1[i].name, calculation.points1[i].X, calculation.points1[i].Y, calculation.points1[i].Z);
                        dataTable.Rows.Add(calculation.points1[i].name, calculation.points1[i].X, calculation.points1[i].Y, calculation.points1[i].Z, "J1");
                    }
                    else if(index1!= -1)
                    {
                        tempt += string.Format("{0},{1},{2},{3},J2\n", calculation.points1[i].name, calculation.points1[i].X, calculation.points1[i].Y, calculation.points1[i].Z);
                        dataTable.Rows.Add(calculation.points1[i].name, calculation.points1[i].X, calculation.points1[i].Y, calculation.points1[i].Z, "J2");
                    }
                    else
                    {
                        tempt += string.Format("{0},{1},{2},{3},0\n", calculation.points1[i].name, calculation.points1[i].X, calculation.points1[i].Y, calculation.points1[i].Z);
                        dataTable.Rows.Add(calculation.points1[i].name, calculation.points1[i].X, calculation.points1[i].Y, calculation.points1[i].Z, 0);
                    }
                }
                richTextBox2.Text = tempt;
                dataGridView1.DataSource = dataTable;
                tabControl1.SelectTab(1);
            }
        }

        private void toolStripButton3_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            string tempt = "";
            tempt += "本程序参考2023程序设计大赛编写,参考公式可参考试题册";
            MessageBox.Show(tempt);
        }
    }
}

5.原始数据

1000
P1,80.872,46.799,1.096
P2,35.028,71.675,1.165
P3,74.658,13.928,1.172
P4,71.048,41.082,1.061
P5,1.498,7.312,3.073
P6,14.731,13.271,1.198
P7,44.568,9.526,1.001
P8,0.891,30.229,1.106
P9,57.117,48.140,1.121
P10,16.623,53.042,1.090
P11,35.211,4.563,1.122
P12,78.329,64.207,1.104
P13,30.194,70.076,1.145
P14,95.587,74.055,1.108
P15,14.233,36.965,1.047
P16,86.221,16.768,1.156
P17,84.363,79.741,1.200
P18,61.148,31.394,1.053
P19,29.727,67.209,1.005
P20,37.585,7.410,-0.865
P21,5.621,0.703,1.184
P22,27.588,21.831,1.118
P23,69.116,67.007,1.145
P24,48.492,16.428,1.149
P25,46.844,36.636,1.190
P26,74.442,8.662,1.120
P27,38.522,58.799,1.122
P28,57.239,28.906,1.030
P29,22.510,34.011,1.161
P30,51.709,79.197,1.150
P31,34.555,13.518,1.131
P32,49.188,5.083,1.140
P33,50.479,11.799,1.190
P34,14.157,72.407,1.139
P35,30.304,34.124,1.014
P36,96.658,54.653,1.031
P37,87.723,65.732,1.116
P38,19.135,14.231,1.163
P39,47.525,12.444,1.101
P40,73.199,32.446,1.056
P41,56.873,54.578,1.151
P42,72.189,38.022,1.025
P43,36.780,66.772,1.007
P44,51.700,53.037,1.085
P45,10.468,75.945,1.184
P46,54.953,27.678,1.094
P47,37.497,67.756,1.063
P48,45.609,21.750,1.197
P49,29.779,59.133,1.113
P50,19.598,60.903,5.168
P51,39.764,40.071,1.178
P52,2.747,79.568,1.115
P53,5.051,42.505,1.039
P54,84.302,50.139,1.132
P55,19.785,67.371,1.025
P56,10.992,59.448,1.063
P57,94.104,22.886,1.067
P58,14.026,58.645,1.167
P59,70.798,48.018,1.149
P60,25.272,11.558,1.000
P61,6.100,64.497,1.171
P62,21.057,9.248,1.111
P63,1.425,9.102,1.091
P64,75.220,54.890,1.109
P65,7.388,34.937,1.040
P66,69.620,23.228,1.087
P67,23.242,46.228,1.107
P68,62.866,12.815,1.101
P69,96.301,55.659,1.185
P70,18.994,26.875,1.036
P71,99.515,36.594,1.200
P72,9.750,50.012,1.019
P73,43.771,74.519,1.010
P74,89.459,23.201,1.045
P75,76.904,32.856,1.040
P76,62.805,48.330,1.090
P77,46.634,47.825,1.127
P78,85.477,66.301,1.125
P79,72.089,45.259,1.075
P80,18.427,59.031,1.111
P81,90.506,19.429,1.038
P82,60.471,55.879,1.117
P83,35.129,39.556,1.016
P84,74.072,48.962,1.124
P85,69.110,64.360,1.030
P86,57.602,69.417,1.182
P87,61.469,58.213,1.009
P88,66.776,78.120,1.063
P89,56.918,24.465,1.035
P90,10.855,69.521,1.170
P91,74.429,12.390,1.065
P92,7.935,6.128,1.128
P93,81.998,43.606,1.090
P94,40.897,23.899,1.093
P95,50.119,12.212,1.065
P96,73.798,25.110,1.165
P97,95.905,69.866,1.145
P98,30.005,75.518,1.025
P99,6.573,62.795,1.105
P100,60.962,76.487,1.014
P101,87.561,52.307,1.064
P102,10.480,40.403,1.045
P103,29.028,73.596,1.110
P104,66.278,9.163,1.099
P105,37.912,39.744,1.159
P106,50.925,30.588,1.138
P107,53.214,48.501,1.079
P108,0.589,56.628,1.020
P109,62.305,69.058,1.098
P110,74.731,39.751,1.076
P111,78.534,44.224,1.071
P112,95.569,50.466,1.035
P113,37.424,10.530,1.149
P114,95.169,48.958,1.006
P115,32.983,4.473,1.128
P116,13.162,67.764,1.173
P117,59.686,57.729,1.171
P118,1.468,10.117,1.142
P119,61.713,17.405,1.013
P120,16.891,49.927,1.068
P121,31.940,29.404,1.132
P122,80.237,64.548,1.105
P123,61.108,63.853,1.180
P124,14.481,50.413,1.080
P125,25.369,10.923,1.171
P126,6.616,34.224,1.115
P127,30.228,43.843,1.045
P128,31.134,8.850,1.162
P129,13.470,22.739,1.158
P130,89.520,63.169,1.149
P131,61.520,28.889,1.171
P132,22.849,69.084,1.046
P133,24.954,43.391,1.197
P134,5.380,6.514,1.105
P135,42.679,7.573,1.052
P136,89.151,18.621,1.029
P137,12.509,74.529,1.016
P138,4.709,4.697,1.067
P139,91.467,31.887,1.087
P140,94.614,66.973,1.107
P141,84.207,55.481,1.080
P142,25.916,0.347,1.105
P143,95.477,31.895,1.048
P144,58.554,20.410,1.137
P145,94.525,34.839,1.178
P146,0.717,75.276,1.120
P147,78.613,46.133,1.028
P148,22.232,30.640,1.001
P149,41.791,6.580,1.132
P150,85.507,5.188,1.162
P151,66.205,55.317,1.161
P152,53.012,54.849,1.029
P153,68.948,58.230,1.156
P154,3.107,69.492,1.129
P155,70.654,6.836,1.110
P156,94.788,4.702,1.055
P157,14.517,78.540,1.124
P158,29.224,73.796,1.074
P159,69.452,17.490,1.031
P160,24.054,41.714,1.180
P161,10.641,72.209,1.088
P162,8.011,62.566,1.034
P163,97.437,62.068,1.174
P164,21.063,36.528,1.001
P165,75.061,9.124,1.081
P166,31.113,79.407,1.008
P167,25.208,15.142,1.050
P168,15.350,49.624,1.177
P169,93.906,15.652,1.156
P170,64.554,52.539,1.182
P171,45.544,73.701,1.133
P172,15.076,50.906,1.114
P173,42.203,75.439,1.108
P174,57.855,42.915,1.051
P175,39.694,28.020,1.007
P176,79.523,15.720,1.014
P177,38.940,47.258,1.014
P178,19.766,12.471,1.129
P179,45.432,48.342,1.139
P180,44.128,54.756,1.079
P181,83.569,47.375,1.040
P182,94.943,70.078,1.078
P183,98.743,14.824,1.179
P184,57.443,35.364,1.125
P185,70.850,3.970,1.057
P186,26.019,32.610,1.179
P187,71.017,58.274,1.179
P188,39.355,31.792,1.181
P189,30.859,31.047,1.114
P190,35.355,58.694,1.149
P191,73.636,59.153,1.028
P192,20.016,21.807,1.136
P193,91.110,29.426,1.104
P194,10.938,72.593,1.041
P195,51.794,52.385,1.088
P196,68.762,7.234,1.016
P197,7.578,2.224,1.071
P198,30.722,55.781,1.029
P199,39.484,5.427,1.135
P200,72.491,15.896,1.139
P201,61.569,52.390,1.109
P202,9.830,43.628,1.010
P203,97.455,37.122,1.194
P204,72.784,42.476,1.136
P205,69.278,29.768,1.078
P206,4.996,64.780,1.034
P207,6.082,24.844,1.157
P208,21.246,25.752,1.097
P209,0.916,35.188,1.102
P210,60.593,60.681,1.080
P211,34.979,67.410,1.188
P212,62.329,79.780,1.011
P213,56.284,69.082,1.077
P214,30.640,22.737,1.005
P215,61.255,31.294,1.004
P216,3.104,36.455,1.172
P217,93.674,32.151,1.145
P218,61.157,64.668,1.175
P219,58.258,47.600,1.016
P220,79.315,36.975,1.118
P221,58.942,45.535,1.163
P222,67.273,27.485,1.002
P223,26.730,27.324,1.046
P224,77.100,29.739,1.174
P225,11.685,58.044,1.126
P226,89.392,14.641,1.107
P227,90.198,62.405,1.193
P228,19.736,72.122,1.159
P229,95.337,67.903,1.178
P230,62.869,14.836,1.123
P231,26.498,20.051,1.146
P232,78.809,13.674,1.143
P233,48.093,6.519,1.161
P234,85.532,9.971,1.061
P235,57.330,37.837,1.152
P236,19.186,58.220,1.199
P237,1.535,51.809,1.138
P238,17.413,5.769,1.055
P239,67.661,67.112,1.111
P240,37.122,62.358,1.047
P241,63.821,18.533,1.041
P242,97.101,22.539,1.005
P243,76.920,12.146,1.009
P244,0.925,27.886,1.129
P245,34.323,33.164,1.083
P246,9.067,43.613,1.140
P247,33.798,52.600,1.175
P248,53.546,45.601,1.011
P249,46.576,20.798,1.085
P250,86.331,38.926,1.017
P251,56.580,56.750,1.156
P252,86.420,68.042,1.059
P253,86.435,51.592,1.149
P254,82.861,61.248,1.174
P255,90.829,73.000,1.104
P256,44.016,8.611,1.071
P257,82.303,34.216,1.034
P258,0.085,52.595,1.155
P259,6.372,7.185,1.077
P260,68.387,64.607,1.031
P261,14.285,3.877,1.069
P262,1.855,78.271,1.130
P263,5.365,73.130,1.127
P264,43.170,1.685,1.049
P265,39.194,52.319,1.156
P266,2.283,66.082,1.028
P267,63.425,44.031,1.197
P268,46.341,17.183,1.060
P269,78.214,27.402,1.096
P270,60.800,8.201,1.197
P271,75.580,12.070,1.091
P272,71.161,79.897,1.155
P273,64.163,49.695,1.189
P274,68.814,23.184,1.113
P275,29.037,43.857,1.142
P276,24.643,43.733,1.099
P277,95.203,53.584,1.153
P278,62.335,35.659,1.160
P279,74.551,79.111,1.041
P280,62.946,72.783,1.118
P281,91.837,40.442,1.098
P282,44.971,71.145,1.188
P283,18.292,20.156,1.041
P284,73.047,75.288,1.125
P285,4.135,51.306,1.007
P286,55.634,43.557,1.089
P287,6.137,79.680,1.026
P288,60.089,4.028,1.035
P289,66.022,26.594,1.063
P290,65.356,32.842,1.085
P291,22.162,54.280,1.033
P292,49.753,40.610,1.161
P293,43.506,0.361,1.068
P294,37.589,10.286,1.165
P295,73.328,71.289,1.129
P296,65.057,41.157,1.147
P297,73.715,76.565,1.093
P298,36.325,8.975,1.181
P299,82.120,36.382,1.022
P300,86.942,60.908,1.008
P301,41.666,74.888,1.014
P302,16.486,16.902,1.023
P303,59.109,9.468,1.124
P304,58.008,55.222,1.146
P305,91.562,53.577,1.060
P306,80.884,30.254,1.199
P307,77.249,16.353,1.034
P308,38.824,14.497,1.116
P309,19.562,76.809,1.038
P310,38.171,24.319,1.024
P311,19.815,3.699,1.154
P312,76.102,70.481,1.000
P313,44.861,34.109,1.160
P314,46.133,39.587,1.150
P315,23.849,44.751,1.019
P316,92.200,71.504,1.171
P317,5.963,39.270,1.126
P318,74.719,60.483,1.051
P319,90.988,63.357,1.040
P320,55.283,4.099,1.104
P321,79.034,56.331,1.005
P322,73.172,44.268,1.183
P323,87.552,63.752,1.061
P324,39.493,38.550,1.011
P325,65.195,0.068,1.154
P326,75.616,17.578,1.031
P327,5.753,53.647,1.007
P328,34.586,55.828,1.160
P329,43.625,78.535,1.127
P330,29.529,38.157,1.175
P331,7.928,8.079,1.029
P332,14.301,73.438,1.062
P333,37.381,65.105,1.009
P334,81.418,19.199,1.180
P335,25.650,21.548,1.042
P336,22.937,67.690,1.175
P337,88.766,67.581,1.122
P338,4.089,13.882,1.037
P339,35.590,35.940,1.037
P340,89.444,49.841,1.109
P341,91.165,41.807,1.146
P342,99.930,77.544,1.173
P343,84.018,11.733,1.075
P344,28.436,13.677,1.195
P345,74.179,57.327,1.006
P346,64.502,65.015,1.147
P347,81.815,9.971,1.144
P348,37.506,51.985,1.183
P349,88.965,2.573,1.155
P350,44.885,0.605,1.046
P351,41.846,12.527,1.184
P352,50.168,19.429,1.151
P353,90.649,17.078,1.006
P354,77.115,18.259,1.111
P355,80.637,68.159,1.066
P356,53.891,79.341,1.174
P357,64.685,18.218,1.163
P358,37.103,29.351,1.007
P359,56.128,31.829,1.024
P360,32.492,71.919,1.040
P361,94.016,10.005,1.170
P362,89.392,35.645,1.044
P363,63.474,44.805,1.125
P364,42.365,1.318,1.173
P365,13.962,21.392,1.058
P366,68.164,44.915,1.192
P367,60.721,63.057,1.085
P368,81.836,59.155,1.027
P369,51.651,1.606,1.001
P370,74.829,26.709,1.180
P371,46.225,61.431,1.010
P372,63.095,1.934,1.136
P373,96.906,40.034,1.141
P374,26.593,65.786,1.129
P375,59.720,21.089,1.169
P376,46.005,59.851,1.070
P377,1.450,38.123,1.125
P378,40.387,30.688,1.006
P379,28.882,47.747,1.177
P380,43.216,74.521,1.077
P381,53.311,0.806,1.195
P382,86.517,34.993,1.140
P383,33.295,48.186,1.100
P384,55.960,3.120,1.076
P385,23.303,74.985,1.172
P386,96.408,48.704,1.117
P387,7.645,32.561,1.061
P388,49.857,6.404,1.175
P389,30.426,62.520,1.187
P390,58.841,17.297,1.056
P391,56.070,69.951,1.050
P392,30.139,58.169,1.173
P393,23.108,15.256,1.089
P394,89.032,45.945,1.006
P395,99.521,4.739,1.124
P396,25.693,13.586,1.023
P397,23.148,39.590,1.192
P398,4.929,6.370,1.068
P399,27.972,41.243,1.098
P400,41.226,73.975,1.120
P401,29.214,38.059,1.080
P402,95.129,43.867,1.167
P403,79.440,64.131,1.119
P404,87.006,25.444,1.188
P405,26.791,75.464,1.144
P406,12.762,61.990,1.095
P407,17.590,2.134,1.008
P408,45.477,68.982,1.027
P409,1.447,17.021,1.164
P410,79.718,62.371,1.132
P411,29.874,62.512,1.184
P412,84.210,19.409,1.100
P413,2.301,6.057,1.006
P414,35.620,57.224,1.082
P415,18.042,23.833,1.036
P416,74.487,10.779,1.012
P417,52.560,28.708,1.161
P418,15.881,71.987,1.026
P419,2.924,14.514,1.164
P420,24.921,45.654,1.069
P421,53.992,53.191,1.174
P422,93.250,75.620,1.021
P423,15.323,44.636,1.160
P424,89.511,5.801,1.174
P425,82.239,31.062,1.110
P426,67.194,36.074,1.056
P427,94.943,78.569,1.146
P428,59.479,21.790,1.026
P429,19.794,48.040,1.097
P430,35.532,18.394,1.096
P431,69.177,75.850,1.134
P432,98.254,19.001,1.103
P433,23.581,71.841,1.097
P434,32.645,42.998,1.114
P435,33.652,27.852,1.034
P436,29.016,17.542,1.185
P437,73.965,64.558,1.130
P438,68.668,21.606,1.153
P439,6.442,57.739,1.172
P440,34.155,3.550,1.097
P441,2.078,67.053,1.124
P442,54.056,48.323,1.114
P443,77.734,51.201,1.139
P444,75.992,69.438,1.032
P445,42.349,62.915,1.004
P446,43.835,3.372,1.101
P447,26.926,5.461,1.049
P448,98.203,40.515,1.123
P449,7.101,29.399,1.191
P450,86.005,26.997,1.048
P451,28.952,4.077,1.199
P452,17.245,5.513,1.044
P453,30.090,62.947,1.130
P454,8.368,21.021,1.027
P455,21.753,45.005,1.036
P456,63.226,8.552,1.091
P457,75.882,26.704,1.011
P458,28.250,55.542,1.175
P459,56.757,69.478,1.016
P460,79.538,79.971,1.127
P461,61.884,47.581,1.119
P462,19.424,78.308,1.046
P463,4.230,19.124,1.051
P464,40.680,63.594,1.054
P465,90.002,30.354,1.146
P466,20.648,4.236,1.121
P467,35.397,28.899,1.134
P468,97.601,17.891,1.179
P469,34.695,76.279,1.133
P470,20.166,22.588,1.071
P471,53.198,23.279,1.044
P472,9.961,8.538,1.142
P473,84.378,53.748,1.164
P474,0.577,39.307,1.121
P475,93.530,23.250,1.121
P476,74.689,69.905,1.182
P477,83.008,48.472,1.061
P478,78.421,12.009,1.109
P479,68.903,31.570,1.199
P480,10.193,32.927,1.005
P481,68.741,20.710,1.034
P482,22.864,15.120,1.172
P483,76.328,3.809,1.097
P484,5.615,76.897,1.017
P485,56.546,77.002,1.115
P486,87.863,32.695,1.081
P487,41.348,52.681,1.165
P488,94.516,22.649,1.000
P489,61.624,3.955,1.131
P490,42.194,76.357,1.121
P491,20.087,33.149,1.068
P492,62.311,64.670,1.001
P493,10.526,31.553,1.055
P494,31.677,65.938,1.171
P495,31.152,15.813,1.113
P496,46.906,79.607,1.087
P497,36.847,33.501,1.077
P498,58.041,70.217,1.067
P499,39.337,76.082,1.102
P500,41.858,48.662,1.155
P501,8.365,12.095,1.042
P502,8.734,25.381,1.094
P503,62.912,26.621,1.016
P504,61.450,11.426,1.056
P505,82.495,35.125,1.199
P506,22.095,8.586,1.104
P507,26.459,0.588,1.115
P508,77.054,8.601,1.194
P509,36.942,72.317,1.104
P510,22.266,24.209,1.096
P511,31.061,33.152,1.153
P512,84.158,31.128,1.085
P513,72.415,58.792,1.018
P514,8.173,60.244,1.169
P515,63.779,28.770,1.095
P516,9.439,33.223,1.038
P517,34.311,73.069,1.046
P518,31.030,12.341,1.068
P519,18.228,21.782,1.041
P520,17.245,26.821,1.013
P521,50.189,77.092,1.162
P522,44.644,73.037,1.036
P523,48.190,37.766,1.140
P524,24.860,74.934,1.055
P525,29.953,65.793,1.164
P526,62.988,63.604,1.001
P527,26.096,23.162,1.191
P528,85.944,41.394,1.141
P529,25.616,73.682,1.098
P530,9.354,66.077,1.015
P531,28.262,30.708,1.129
P532,51.508,34.521,1.028
P533,97.495,5.969,1.001
P534,91.476,32.932,1.151
P535,18.765,8.137,1.085
P536,67.792,42.192,1.165
P537,83.716,21.719,1.100
P538,87.042,11.919,1.194
P539,53.836,17.654,1.013
P540,20.462,15.818,1.039
P541,19.952,76.541,1.119
P542,73.877,23.550,1.136
P543,78.610,73.704,1.186
P544,84.430,20.718,1.021
P545,6.189,72.300,1.030
P546,89.273,28.752,1.191
P547,38.156,26.516,1.137
P548,88.751,30.408,1.087
P549,67.462,21.367,1.097
P550,52.783,64.163,1.159
P551,74.631,38.933,1.166
P552,55.902,22.302,1.069
P553,5.414,72.898,1.153
P554,36.847,22.590,1.042
P555,32.455,4.011,1.176
P556,24.881,32.305,1.029
P557,87.524,48.647,1.157
P558,19.684,36.135,1.152
P559,43.332,50.916,1.161
P560,17.444,25.813,1.193
P561,70.938,15.803,1.173
P562,4.730,59.456,1.007
P563,13.083,6.589,1.111
P564,56.894,42.639,1.044
P565,7.718,24.368,1.013
P566,41.125,10.696,1.050
P567,82.062,40.701,1.054
P568,98.792,73.320,1.024
P569,28.442,56.555,1.094
P570,29.474,27.571,1.105
P571,81.110,41.377,1.013
P572,82.919,44.351,1.021
P573,50.955,75.732,1.145
P574,47.391,36.104,1.184
P575,54.883,29.221,1.177
P576,65.970,9.802,1.101
P577,11.243,22.383,1.109
P578,79.126,29.534,1.172
P579,74.432,37.107,1.072
P580,44.208,46.873,1.076
P581,63.202,44.607,1.097
P582,83.664,14.856,1.002
P583,10.925,3.250,1.044
P584,25.595,32.822,1.142
P585,44.272,10.645,1.109
P586,85.675,64.529,1.044
P587,92.380,25.068,1.029
P588,60.684,0.823,1.191
P589,53.723,30.950,1.002
P590,23.706,70.854,1.118
P591,15.259,1.323,1.107
P592,91.669,52.217,1.045
P593,40.555,77.263,1.019
P594,39.957,40.488,1.067
P595,32.840,50.032,1.050
P596,28.995,42.681,1.180
P597,47.806,26.252,1.135
P598,46.033,46.619,1.083
P599,92.227,9.678,1.133
P600,14.868,19.790,1.022
P601,10.202,55.159,1.165
P602,49.072,36.299,1.131
P603,41.849,51.191,1.020
P604,83.057,29.490,1.176
P605,52.002,76.980,1.079
P606,72.568,50.447,1.075
P607,81.339,68.203,1.013
P608,74.356,28.989,1.047
P609,81.894,62.695,1.055
P610,56.320,13.977,1.025
P611,75.708,33.103,1.056
P612,17.096,43.535,1.048
P613,31.860,18.005,1.132
P614,69.839,53.618,1.129
P615,5.603,26.360,1.190
P616,32.068,24.609,1.033
P617,36.853,22.114,1.192
P618,23.621,20.864,1.125
P619,75.601,46.624,1.054
P620,71.213,27.031,1.143
P621,2.158,56.042,1.126
P622,12.637,57.588,1.076
P623,52.393,69.128,1.118
P624,49.515,2.463,1.134
P625,55.347,27.966,1.115
P626,76.425,1.812,1.000
P627,54.694,59.844,1.056
P628,79.401,66.816,1.145
P629,29.645,43.091,1.081
P630,10.178,31.150,1.019
P631,66.818,12.947,1.138
P632,67.075,59.080,1.178
P633,75.656,45.559,1.053
P634,11.145,21.370,1.147
P635,97.745,39.031,1.043
P636,80.118,49.031,1.070
P637,48.260,79.878,1.075
P638,94.797,17.649,1.126
P639,57.568,11.643,1.186
P640,45.792,51.384,1.010
P641,65.573,59.390,1.020
P642,65.073,15.967,1.047
P643,73.212,79.561,1.151
P644,89.328,43.811,1.178
P645,86.884,49.275,1.144
P646,73.105,12.153,1.151
P647,15.277,32.378,1.123
P648,71.677,66.396,1.177
P649,6.372,31.580,1.121
P650,48.807,36.108,1.152
P651,57.877,26.858,1.117
P652,36.032,59.978,1.016
P653,9.564,79.763,1.009
P654,39.667,8.655,1.083
P655,43.390,21.577,1.091
P656,22.498,20.906,1.128
P657,89.307,70.315,1.090
P658,41.168,18.564,1.193
P659,73.935,27.336,1.145
P660,60.336,49.714,1.179
P661,68.246,18.850,1.022
P662,53.165,57.239,1.114
P663,1.511,40.872,1.092
P664,97.083,71.169,1.140
P665,24.582,8.284,1.053
P666,46.628,48.540,1.010
P667,38.617,9.331,1.200
P668,73.990,3.267,1.001
P669,68.024,76.511,1.141
P670,75.085,11.287,1.136
P671,61.273,53.037,1.195
P672,7.111,72.590,1.172
P673,62.848,71.118,1.115
P674,15.219,71.887,1.115
P675,26.294,14.038,1.125
P676,83.429,53.621,1.172
P677,44.852,78.635,1.132
P678,70.874,4.658,1.163
P679,74.689,77.930,1.167
P680,31.412,9.412,1.041
P681,29.178,75.820,1.168
P682,24.976,17.273,1.173
P683,43.088,16.458,1.186
P684,75.330,31.199,1.075
P685,55.795,50.457,1.188
P686,73.624,58.882,1.078
P687,55.017,78.416,1.126
P688,32.767,34.402,1.125
P689,69.565,39.209,1.134
P690,26.834,8.379,1.013
P691,13.977,36.316,1.036
P692,64.648,68.540,1.053
P693,81.757,49.990,1.183
P694,10.226,20.334,1.099
P695,70.111,56.328,1.022
P696,37.198,38.542,1.192
P697,9.885,36.360,1.019
P698,52.072,26.077,1.158
P699,82.413,59.023,1.113
P700,5.173,14.988,1.198
P701,42.719,51.472,1.144
P702,90.073,67.434,1.183
P703,48.297,38.384,1.145
P704,75.769,30.715,1.149
P705,27.399,29.031,1.006
P706,82.224,60.630,1.087
P707,22.427,6.597,1.053
P708,62.567,61.379,1.065
P709,25.470,38.796,1.150
P710,56.192,27.832,1.139
P711,96.710,32.134,1.055
P712,88.885,47.388,1.121
P713,34.735,64.111,1.166
P714,81.497,33.872,1.016
P715,63.239,78.601,1.138
P716,49.927,14.741,1.113
P717,23.837,68.958,1.058
P718,98.953,65.593,1.080
P719,32.172,31.892,1.132
P720,93.085,72.307,1.056
P721,76.364,42.056,1.190
P722,91.699,51.394,1.010
P723,26.355,23.091,1.158
P724,25.806,22.961,1.070
P725,91.437,65.476,1.049
P726,32.214,18.386,1.192
P727,24.548,74.685,1.164
P728,10.339,46.179,1.045
P729,37.595,15.312,1.157
P730,89.670,24.739,1.011
P731,75.201,57.542,1.112
P732,54.791,29.487,1.022
P733,6.888,61.848,1.005
P734,32.013,24.666,1.029
P735,52.591,26.177,1.148
P736,59.848,46.362,1.185
P737,66.043,56.782,1.116
P738,7.178,23.579,1.003
P739,77.216,79.792,1.116
P740,30.524,38.008,1.027
P741,51.559,14.978,1.110
P742,37.723,40.874,1.135
P743,72.324,56.611,1.123
P744,12.335,76.555,1.146
P745,5.637,18.235,1.100
P746,13.367,77.913,1.091
P747,78.461,48.977,1.155
P748,61.258,67.148,1.058
P749,99.802,68.608,1.068
P750,15.729,8.616,1.193
P751,97.882,46.750,1.023
P752,6.848,26.475,1.080
P753,43.085,58.752,1.161
P754,59.668,70.247,1.113
P755,90.732,16.472,1.046
P756,17.911,35.151,1.064
P757,21.677,66.777,1.157
P758,85.611,31.843,1.089
P759,94.873,3.816,1.158
P760,30.060,41.558,1.044
P761,66.867,23.174,1.034
P762,87.219,37.786,1.169
P763,91.174,46.821,1.032
P764,44.601,54.561,1.164
P765,98.203,77.234,1.103
P766,8.798,4.058,1.115
P767,86.249,47.412,1.121
P768,58.051,22.639,1.158
P769,38.715,70.527,1.024
P770,96.793,4.619,1.084
P771,34.384,28.684,1.000
P772,31.705,16.924,1.156
P773,49.075,4.890,1.178
P774,39.758,45.486,1.089
P775,70.654,45.483,1.117
P776,60.620,15.642,1.075
P777,77.600,72.463,1.113
P778,81.207,63.909,1.190
P779,77.014,15.769,1.126
P780,51.392,67.463,1.165
P781,72.916,55.249,1.124
P782,39.651,70.269,1.197
P783,53.287,20.239,1.120
P784,68.076,51.262,1.190
P785,56.223,21.704,1.102
P786,20.264,70.076,1.034
P787,14.902,57.766,1.138
P788,55.679,49.771,1.199
P789,99.991,47.854,1.103
P790,52.518,3.655,1.167
P791,89.264,44.087,1.051
P792,0.534,74.661,1.163
P793,9.982,10.466,1.171
P794,38.159,60.984,1.013
P795,32.654,1.294,1.015
P796,36.981,0.500,1.046
P797,57.458,59.714,1.071
P798,43.939,9.180,1.165
P799,39.474,25.588,1.187
P800,0.125,91.271,1.539
P801,80.872,91.700,1.596
P802,35.028,97.919,1.665
P803,74.658,83.482,1.672
P804,71.048,90.270,1.561
P805,1.498,81.828,3.573
P806,14.731,83.318,1.698
P807,44.568,82.382,1.501
P808,0.891,87.557,1.606
P809,57.117,92.035,1.621
P810,16.623,93.260,1.590
P811,35.211,81.141,1.622
P812,78.329,96.052,1.604
P813,30.194,97.519,1.645
P814,95.587,98.514,1.608
P815,14.233,89.241,1.547
P816,86.221,84.192,1.656
P817,84.363,99.935,1.700
P818,61.148,87.849,1.553
P819,29.727,96.802,1.505
P820,37.585,81.852,-0.365
P821,5.621,80.176,1.684
P822,27.588,85.458,1.618
P823,69.116,96.752,1.645
P824,48.492,84.107,1.649
P825,46.844,89.159,1.690
P826,74.442,82.166,1.620
P827,38.522,94.700,1.622
P828,57.239,87.227,1.530
P829,22.510,88.503,1.661
P830,51.709,99.799,1.650
P831,34.555,83.380,1.631
P832,49.188,81.271,1.640
P833,50.479,82.950,1.690
P834,14.157,98.102,1.639
P835,30.304,88.531,1.514
P836,96.658,93.663,1.531
P837,87.723,96.433,1.616
P838,19.135,83.558,1.663
P839,47.525,83.111,1.601
P840,73.199,88.112,1.556
P841,56.873,93.644,1.651
P842,72.189,89.506,1.525
P843,36.780,96.693,1.507
P844,51.700,93.259,1.585
P845,10.468,98.986,1.684
P846,54.953,86.920,1.594
P847,37.497,96.939,1.563
P848,45.609,85.438,1.697
P849,29.779,94.783,1.613
P850,19.598,95.226,5.668
P851,39.764,90.018,1.678
P852,2.747,99.892,1.615
P853,5.051,90.626,1.539
P854,84.302,92.535,1.632
P855,19.785,96.843,1.525
P856,10.992,94.862,1.563
P857,94.104,85.721,1.567
P858,14.026,94.661,1.667
P859,70.798,92.004,1.649
P860,25.272,82.889,1.500
P861,6.100,96.124,1.671
P862,21.057,82.312,1.611
P863,1.425,82.275,1.591
P864,75.220,93.723,1.609
P865,7.388,88.734,1.540
P866,69.620,85.807,1.587
P867,23.242,91.557,1.607
P868,62.866,83.204,1.601
P869,96.301,93.915,1.685
P870,18.994,86.719,1.536
P871,99.515,89.149,1.700
P872,9.750,92.503,1.519
P873,43.771,98.630,1.510
P874,89.459,85.800,1.545
P875,76.904,88.214,1.540
P876,62.805,92.083,1.590
P877,46.634,91.956,1.627
P878,85.477,96.575,1.625
P879,72.089,91.315,1.575
P880,18.427,94.758,1.611
P881,90.506,84.857,1.538
P882,60.471,93.970,1.617
P883,35.129,89.889,1.516
P884,74.072,92.241,1.624
P885,69.110,96.090,1.530
P886,57.602,97.354,1.682
P887,61.469,94.553,1.509
P888,66.776,99.530,1.563
P889,56.918,86.116,1.535
P890,10.855,97.380,1.670
P891,74.429,83.098,1.565
P892,7.935,81.532,1.628
P893,81.998,90.901,1.590
P894,40.897,85.975,1.593
P895,50.119,83.053,1.565
P896,73.798,86.277,1.665
P897,95.905,97.466,1.645
P898,30.005,98.879,1.525
P899,6.573,95.699,1.605
P900,60.962,99.122,1.514
P901,87.561,93.077,1.564
P902,10.480,90.101,1.545
P903,29.028,98.399,1.610
P904,66.278,82.291,1.599
P905,37.912,89.936,1.659
P906,50.925,87.647,1.638
P907,53.214,92.125,1.579
P908,0.589,94.157,1.520
P909,62.305,97.264,1.598
P910,74.731,89.938,1.576
P911,78.534,91.056,1.571
P912,95.569,92.617,1.535
P913,37.424,82.632,1.649
P914,95.169,92.239,1.506
P915,32.983,81.118,1.628
P916,13.162,96.941,1.673
P917,59.686,94.432,1.671
P918,1.468,82.529,1.642
P919,61.713,84.351,1.513
P920,16.891,92.482,1.568
P921,31.940,87.351,1.632
P922,80.237,96.137,1.605
P923,61.108,95.963,1.680
P924,14.481,92.603,1.580
P925,25.369,82.731,1.671
P926,6.616,88.556,1.615
P927,30.228,90.961,1.545
P928,31.134,82.213,1.662
P929,13.470,85.685,1.658
P930,89.520,95.792,1.649
P931,61.520,87.222,1.671
P932,22.849,97.271,1.546
P933,24.954,90.848,1.697
P934,5.380,81.628,1.605
P935,42.679,81.893,1.552
P936,89.151,84.655,1.529
P937,12.509,98.632,1.516
P938,4.709,81.174,1.567
P939,91.467,87.972,1.587
P940,94.614,96.743,1.607
P941,84.207,93.870,1.580
P942,25.916,80.087,1.605
P943,95.477,87.974,1.548
P944,58.554,85.103,1.637
P945,94.525,88.710,1.678
P946,0.717,98.819,1.620
P947,78.613,91.533,1.528
P948,22.232,87.660,1.501
P949,41.791,81.645,1.632
P950,85.507,81.297,1.662
P951,66.205,93.829,1.661
P952,53.012,93.712,1.529
P953,68.948,94.557,1.656
P954,3.107,97.373,1.629
P955,70.654,81.709,1.610
P956,94.788,81.176,1.555
P957,14.517,99.635,1.624
P958,29.224,98.449,1.574
P959,69.452,84.373,1.531
P960,24.054,90.428,1.680
P961,10.641,98.052,1.588
P962,8.011,95.641,1.534
P963,97.437,95.517,1.674
P964,21.063,89.132,1.501
P965,75.061,82.281,1.581
P966,31.113,99.852,1.508
P967,25.208,83.785,1.550
P968,15.350,92.406,1.677
P969,93.906,83.913,1.656
P970,64.554,93.135,1.682
P971,45.544,98.425,1.633
P972,15.076,92.726,1.614
P973,42.203,98.860,1.608
P974,57.855,90.729,1.551
P975,39.694,87.005,1.507
P976,79.523,83.930,1.514
P977,38.940,91.815,1.514
P978,19.766,83.118,1.629
P979,45.432,92.086,1.639
P980,44.128,93.689,1.579
P981,83.569,91.844,1.540
P982,94.943,97.520,1.578
P983,98.743,83.706,1.679
P984,57.443,88.841,1.625
P985,70.850,80.992,1.557
P986,26.019,88.152,1.679
P987,71.017,94.568,1.679
P988,39.355,87.948,1.681
P989,30.859,87.762,1.614
P990,35.355,94.673,1.649
P991,73.636,94.788,1.528
P992,20.016,85.452,1.636
P993,91.110,87.357,1.604
P994,10.938,98.148,1.541
P995,51.794,93.096,1.588
P996,68.762,81.808,1.516
P997,7.578,80.556,1.571
P998,30.722,93.945,1.529
P999,39.484,81.357,1.635
P1000,0.125,45.085,1.039

6.中间结果及说明

以下是我求得的结果,至于JI外部点如果为260的程序改正方法在说明中说明。

坐标分量 x 的最小值 xmin0.085
坐标分量 x 的最大值 xmax99.991
坐标分量 y 的最小值 ymin0.068
坐标分量 y 的最小值 ymax99.935
坐标分量 z 的最小值 zmin-0.865
坐标分量 z 的最小值 zmax5.668
P5 点的所在栅格的行 i0
P5 点的所在栅格的列 j0
栅格 C 中的点的数量12
栅格 C 中高度的最大值0.006
栅格 C 中的高度差1.192
栅格 C 中的高度方差0.191
拟合平面 S1 的参数 A1.220
拟合平面 S1 的参数 B830.762800
拟合平面 S1 的参数 C4.158675
拟合平面 S1 的参数 D3.055378
P1000 到拟合平面 S1 的距离1661.517588
拟合平面 S1 的内部点数量426
拟合平面 S1 的外部点数量571
最佳分割平面 J1 的参数 A-1.035986
最佳分割平面 J1 的参数 B1.714360
最佳分割平面 J1 的参数 C3198.980194
最佳分割平面 J1 的参数 D-3560.600299
最佳分割平面 J1 的内部点数量744
最佳分割平面 J1 的外部点数量253
分割平面 J2的参数 A-0.259010
分割平面 J2 的参数 B1.714360
分割平面 J2 的参数 C799.712710
分割平面 J2 的参数 D-1427.118899
分割平面 J2 的内部点数量183
分割平面 J2 的外部点数量67
P5 点到最佳分割面(J1)的投影坐标 xt15329748.877
P5 点到最佳分割面(J1)的投影坐标 yt7482717.794
P5 点到最佳分割面(J1)的投影坐标 zt13.439398
P800 点到最佳分割面(J2)的投影坐标 xt79942.919680
P800 点到最佳分割面(J2)的投影坐标 yt58371499.664
P800 点到最佳分割面(J2)的投影坐标 zt6.215

本文参考2023程序设计试题册编写,实际结果中J1平面外部点参考中间数据为260,但实际结果应为253,若想要求260,可讲calculation.cs259行左右的J1neibucount1>J1neibucount改为J1neibucount1==260,J2原理相似。

7.分类结果

J1标识为J1平面、J2标识为J2平面、0不属于任何平面
点号,x,y,z,标识
P1,80.872,46.799,1.096,J1
P2,35.028,71.675,1.165,J1
P3,74.658,13.928,1.172,J1
P4,71.048,41.082,1.061,J1
P5,1.498,7.312,3.073,0
P6,14.731,13.271,1.198,J1
P7,44.568,9.526,1.001,0
P8,0.891,30.229,1.106,J1
P9,57.117,48.14,1.121,J1
P10,16.623,53.042,1.09,0
P11,35.211,4.563,1.122,0
P12,78.329,64.207,1.104,0
P13,30.194,70.076,1.145,J1
P14,95.587,74.055,1.108,J1
P15,14.233,36.965,1.047,J1
P16,86.221,16.768,1.156,J1
P17,84.363,79.741,1.2,0
P18,61.148,31.394,1.053,J1
P19,29.727,67.209,1.005,J1
P20,37.585,7.41,-0.865,0
P21,5.621,0.703,1.184,J1
P22,27.588,21.831,1.118,J1
P23,69.116,67.007,1.145,J1
P24,48.492,16.428,1.149,J1
P25,46.844,36.636,1.19,J1
P26,74.442,8.662,1.12,J1
P27,38.522,58.799,1.122,J1
P28,57.239,28.906,1.03,J1
P29,22.51,34.011,1.161,J1
P30,51.709,79.197,1.15,J1
P31,34.555,13.518,1.131,J1
P32,49.188,5.083,1.14,J1
P33,50.479,11.799,1.19,J1
P34,14.157,72.407,1.139,J1
P35,30.304,34.124,1.014,J1
P36,96.658,54.653,1.031,J1
P37,87.723,65.732,1.116,J1
P38,19.135,14.231,1.163,J1
P39,47.525,12.444,1.101,J1
P40,73.199,32.446,1.056,J1
P41,56.873,54.578,1.151,J1
P42,72.189,38.022,1.025,J1
P43,36.78,66.772,1.007,J1
P44,51.7,53.037,1.085,J1
P45,10.468,75.945,1.184,0
P46,54.953,27.678,1.094,J1
P47,37.497,67.756,1.063,J1
P48,45.609,21.75,1.197,J1
P49,29.779,59.133,1.113,J1
P50,19.598,60.903,5.168,0
P51,39.764,40.071,1.178,J1
P52,2.747,79.568,1.115,J1
P53,5.051,42.505,1.039,J1
P54,84.302,50.139,1.132,J1
P55,19.785,67.371,1.025,J1
P56,10.992,59.448,1.063,J1
P57,94.104,22.886,1.067,J1
P58,14.026,58.645,1.167,J1
P59,70.798,48.018,1.149,J1
P60,25.272,11.558,1,0
P61,6.1,64.497,1.171,J1
P62,21.057,9.248,1.111,J1
P63,1.425,9.102,1.091,J1
P64,75.22,54.89,1.109,J1
P65,7.388,34.937,1.04,J1
P66,69.62,23.228,1.087,J1
P67,23.242,46.228,1.107,J1
P68,62.866,12.815,1.101,J1
P69,96.301,55.659,1.185,J1
P70,18.994,26.875,1.036,J1
P71,99.515,36.594,1.2,J1
P72,9.75,50.012,1.019,J1
P73,43.771,74.519,1.01,J1
P74,89.459,23.201,1.045,J1
P75,76.904,32.856,1.04,J1
P76,62.805,48.33,1.09,J1
P77,46.634,47.825,1.127,J1
P78,85.477,66.301,1.125,J1
P79,72.089,45.259,1.075,J1
P80,18.427,59.031,1.111,J1
P81,90.506,19.429,1.038,J1
P82,60.471,55.879,1.117,J1
P83,35.129,39.556,1.016,J1
P84,74.072,48.962,1.124,J1
P85,69.11,64.36,1.03,J1
P86,57.602,69.417,1.182,J1
P87,61.469,58.213,1.009,J1
P88,66.776,78.12,1.063,J1
P89,56.918,24.465,1.035,J1
P90,10.855,69.521,1.17,J1
P91,74.429,12.39,1.065,J1
P92,7.935,6.128,1.128,J1
P93,81.998,43.606,1.09,J1
P94,40.897,23.899,1.093,J1
P95,50.119,12.212,1.065,J1
P96,73.798,25.11,1.165,J1
P97,95.905,69.866,1.145,J1
P98,30.005,75.518,1.025,J1
P99,6.573,62.795,1.105,J1
P100,60.962,76.487,1.014,J1
P101,87.561,52.307,1.064,J1
P102,10.48,40.403,1.045,J1
P103,29.028,73.596,1.11,J1
P104,66.278,9.163,1.099,J1
P105,37.912,39.744,1.159,J1
P106,50.925,30.588,1.138,J1
P107,53.214,48.501,1.079,J1
P108,0.589,56.628,1.02,J1
P109,62.305,69.058,1.098,J1
P110,74.731,39.751,1.076,J1
P111,78.534,44.224,1.071,J1
P112,95.569,50.466,1.035,J1
P113,37.424,10.53,1.149,J1
P114,95.169,48.958,1.006,0
P115,32.983,4.473,1.128,J1
P116,13.162,67.764,1.173,J1
P117,59.686,57.729,1.171,J1
P118,1.468,10.117,1.142,J1
P119,61.713,17.405,1.013,0
P120,16.891,49.927,1.068,J1
P121,31.94,29.404,1.132,J1
P122,80.237,64.548,1.105,J1
P123,61.108,63.853,1.18,J1
P124,14.481,50.413,1.08,J1
P125,25.369,10.923,1.171,J1
P126,6.616,34.224,1.115,J1
P127,30.228,43.843,1.045,J1
P128,31.134,8.85,1.162,J1
P129,13.47,22.739,1.158,J1
P130,89.52,63.169,1.149,J1
P131,61.52,28.889,1.171,J1
P132,22.849,69.084,1.046,J1
P133,24.954,43.391,1.197,J1
P134,5.38,6.514,1.105,J1
P135,42.679,7.573,1.052,J1
P136,89.151,18.621,1.029,0
P137,12.509,74.529,1.016,J1
P138,4.709,4.697,1.067,J1
P139,91.467,31.887,1.087,J1
P140,94.614,66.973,1.107,J1
P141,84.207,55.481,1.08,J1
P142,25.916,0.347,1.105,J1
P143,95.477,31.895,1.048,J1
P144,58.554,20.41,1.137,J1
P145,94.525,34.839,1.178,J1
P146,0.717,75.276,1.12,J1
P147,78.613,46.133,1.028,J1
P148,22.232,30.64,1.001,0
P149,41.791,6.58,1.132,J1
P150,85.507,5.188,1.162,J1
P151,66.205,55.317,1.161,J1
P152,53.012,54.849,1.029,J1
P153,68.948,58.23,1.156,J1
P154,3.107,69.492,1.129,J1
P155,70.654,6.836,1.11,J1
P156,94.788,4.702,1.055,J1
P157,14.517,78.54,1.124,J1
P158,29.224,73.796,1.074,J1
P159,69.452,17.49,1.031,J1
P160,24.054,41.714,1.18,J1
P161,10.641,72.209,1.088,J1
P162,8.011,62.566,1.034,J1
P163,97.437,62.068,1.174,J1
P164,21.063,36.528,1.001,J1
P165,75.061,9.124,1.081,J1
P166,31.113,79.407,1.008,J1
P167,25.208,15.142,1.05,J1
P168,15.35,49.624,1.177,J1
P169,93.906,15.652,1.156,J1
P170,64.554,52.539,1.182,J1
P171,45.544,73.701,1.133,J1
P172,15.076,50.906,1.114,J1
P173,42.203,75.439,1.108,J1
P174,57.855,42.915,1.051,J1
P175,39.694,28.02,1.007,0
P176,79.523,15.72,1.014,0
P177,38.94,47.258,1.014,J1
P178,19.766,12.471,1.129,J1
P179,45.432,48.342,1.139,J1
P180,44.128,54.756,1.079,J1
P181,83.569,47.375,1.04,J1
P182,94.943,70.078,1.078,J1
P183,98.743,14.824,1.179,J1
P184,57.443,35.364,1.125,J1
P185,70.85,3.97,1.057,J1
P186,26.019,32.61,1.179,J1
P187,71.017,58.274,1.179,J1
P188,39.355,31.792,1.181,J1
P189,30.859,31.047,1.114,J1
P190,35.355,58.694,1.149,J1
P191,73.636,59.153,1.028,J1
P192,20.016,21.807,1.136,J1
P193,91.11,29.426,1.104,J1
P194,10.938,72.593,1.041,J1
P195,51.794,52.385,1.088,J1
P196,68.762,7.234,1.016,0
P197,7.578,2.224,1.071,J1
P198,30.722,55.781,1.029,J1
P199,39.484,5.427,1.135,J1
P200,72.491,15.896,1.139,J1
P201,61.569,52.39,1.109,J1
P202,9.83,43.628,1.01,J1
P203,97.455,37.122,1.194,J1
P204,72.784,42.476,1.136,J1
P205,69.278,29.768,1.078,J1
P206,4.996,64.78,1.034,J1
P207,6.082,24.844,1.157,J1
P208,21.246,25.752,1.097,J1
P209,0.916,35.188,1.102,J1
P210,60.593,60.681,1.08,J1
P211,34.979,67.41,1.188,J1
P212,62.329,79.78,1.011,J1
P213,56.284,69.082,1.077,J1
P214,30.64,22.737,1.005,0
P215,61.255,31.294,1.004,0
P216,3.104,36.455,1.172,J1
P217,93.674,32.151,1.145,J1
P218,61.157,64.668,1.175,J1
P219,58.258,47.6,1.016,J1
P220,79.315,36.975,1.118,J1
P221,58.942,45.535,1.163,J1
P222,67.273,27.485,1.002,0
P223,26.73,27.324,1.046,J1
P224,77.1,29.739,1.174,J1
P225,11.685,58.044,1.126,J1
P226,89.392,14.641,1.107,J1
P227,90.198,62.405,1.193,J1
P228,19.736,72.122,1.159,J1
P229,95.337,67.903,1.178,J1
P230,62.869,14.836,1.123,J1
P231,26.498,20.051,1.146,J1
P232,78.809,13.674,1.143,J1
P233,48.093,6.519,1.161,J1
P234,85.532,9.971,1.061,J1
P235,57.33,37.837,1.152,J1
P236,19.186,58.22,1.199,0
P237,1.535,51.809,1.138,J1
P238,17.413,5.769,1.055,J1
P239,67.661,67.112,1.111,J1
P240,37.122,62.358,1.047,J1
P241,63.821,18.533,1.041,J1
P242,97.101,22.539,1.005,0
P243,76.92,12.146,1.009,0
P244,0.925,27.886,1.129,J1
P245,34.323,33.164,1.083,J1
P246,9.067,43.613,1.14,J1
P247,33.798,52.6,1.175,J1
P248,53.546,45.601,1.011,J1
P249,46.576,20.798,1.085,J1
P250,86.331,38.926,1.017,0
P251,56.58,56.75,1.156,J1
P252,86.42,68.042,1.059,J1
P253,86.435,51.592,1.149,J1
P254,82.861,61.248,1.174,J1
P255,90.829,73,1.104,J1
P256,44.016,8.611,1.071,J1
P257,82.303,34.216,1.034,J1
P258,0.085,52.595,1.155,J1
P259,6.372,7.185,1.077,J1
P260,68.387,64.607,1.031,J1
P261,14.285,3.877,1.069,J1
P262,1.855,78.271,1.13,J1
P263,5.365,73.13,1.127,J1
P264,43.17,1.685,1.049,J1
P265,39.194,52.319,1.156,J1
P266,2.283,66.082,1.028,J1
P267,63.425,44.031,1.197,J1
P268,46.341,17.183,1.06,J1
P269,78.214,27.402,1.096,J1
P270,60.8,8.201,1.197,J1
P271,75.58,12.07,1.091,J1
P272,71.161,79.897,1.155,J1
P273,64.163,49.695,1.189,J1
P274,68.814,23.184,1.113,J1
P275,29.037,43.857,1.142,J1
P276,24.643,43.733,1.099,J1
P277,95.203,53.584,1.153,J1
P278,62.335,35.659,1.16,J1
P279,74.551,79.111,1.041,J1
P280,62.946,72.783,1.118,J1
P281,91.837,40.442,1.098,J1
P282,44.971,71.145,1.188,J1
P283,18.292,20.156,1.041,J1
P284,73.047,75.288,1.125,J1
P285,4.135,51.306,1.007,J1
P286,55.634,43.557,1.089,J1
P287,6.137,79.68,1.026,J1
P288,60.089,4.028,1.035,J1
P289,66.022,26.594,1.063,J1
P290,65.356,32.842,1.085,J1
P291,22.162,54.28,1.033,J1
P292,49.753,40.61,1.161,J1
P293,43.506,0.361,1.068,J1
P294,37.589,10.286,1.165,J1
P295,73.328,71.289,1.129,J1
P296,65.057,41.157,1.147,J1
P297,73.715,76.565,1.093,J1
P298,36.325,8.975,1.181,J1
P299,82.12,36.382,1.022,J1
P300,86.942,60.908,1.008,0
P301,41.666,74.888,1.014,J1
P302,16.486,16.902,1.023,J1
P303,59.109,9.468,1.124,J1
P304,58.008,55.222,1.146,J1
P305,91.562,53.577,1.06,J1
P306,80.884,30.254,1.199,J1
P307,77.249,16.353,1.034,J1
P308,38.824,14.497,1.116,J1
P309,19.562,76.809,1.038,J1
P310,38.171,24.319,1.024,J1
P311,19.815,3.699,1.154,J1
P312,76.102,70.481,1,J1
P313,44.861,34.109,1.16,J1
P314,46.133,39.587,1.15,J1
P315,23.849,44.751,1.019,J1
P316,92.2,71.504,1.171,J1
P317,5.963,39.27,1.126,J1
P318,74.719,60.483,1.051,J1
P319,90.988,63.357,1.04,J1
P320,55.283,4.099,1.104,J1
P321,79.034,56.331,1.005,0
P322,73.172,44.268,1.183,J1
P323,87.552,63.752,1.061,J1
P324,39.493,38.55,1.011,J1
P325,65.195,0.068,1.154,J1
P326,75.616,17.578,1.031,J1
P327,5.753,53.647,1.007,J1
P328,34.586,55.828,1.16,J1
P329,43.625,78.535,1.127,J1
P330,29.529,38.157,1.175,J1
P331,7.928,8.079,1.029,J1
P332,14.301,73.438,1.062,J1
P333,37.381,65.105,1.009,J1
P334,81.418,19.199,1.18,J1
P335,25.65,21.548,1.042,J1
P336,22.937,67.69,1.175,J1
P337,88.766,67.581,1.122,J1
P338,4.089,13.882,1.037,J1
P339,35.59,35.94,1.037,J1
P340,89.444,49.841,1.109,J1
P341,91.165,41.807,1.146,J1
P342,99.93,77.544,1.173,J1
P343,84.018,11.733,1.075,J1
P344,28.436,13.677,1.195,J1
P345,74.179,57.327,1.006,0
P346,64.502,65.015,1.147,J1
P347,81.815,9.971,1.144,J1
P348,37.506,51.985,1.183,J1
P349,88.965,2.573,1.155,J1
P350,44.885,0.605,1.046,J1
P351,41.846,12.527,1.184,J1
P352,50.168,19.429,1.151,J1
P353,90.649,17.078,1.006,0
P354,77.115,18.259,1.111,J1
P355,80.637,68.159,1.066,J1
P356,53.891,79.341,1.174,J1
P357,64.685,18.218,1.163,J1
P358,37.103,29.351,1.007,0
P359,56.128,31.829,1.024,J1
P360,32.492,71.919,1.04,J1
P361,94.016,10.005,1.17,J1
P362,89.392,35.645,1.044,J1
P363,63.474,44.805,1.125,J1
P364,42.365,1.318,1.173,J1
P365,13.962,21.392,1.058,J1
P366,68.164,44.915,1.192,J1
P367,60.721,63.057,1.085,J1
P368,81.836,59.155,1.027,J1
P369,51.651,1.606,1.001,0
P370,74.829,26.709,1.18,J1
P371,46.225,61.431,1.01,J1
P372,63.095,1.934,1.136,J1
P373,96.906,40.034,1.141,J1
P374,26.593,65.786,1.129,J1
P375,59.72,21.089,1.169,J1
P376,46.005,59.851,1.07,J1
P377,1.45,38.123,1.125,J1
P378,40.387,30.688,1.006,0
P379,28.882,47.747,1.177,J1
P380,43.216,74.521,1.077,J1
P381,53.311,0.806,1.195,J1
P382,86.517,34.993,1.14,J1
P383,33.295,48.186,1.1,J1
P384,55.96,3.12,1.076,J1
P385,23.303,74.985,1.172,J1
P386,96.408,48.704,1.117,J1
P387,7.645,32.561,1.061,J1
P388,49.857,6.404,1.175,J1
P389,30.426,62.52,1.187,J1
P390,58.841,17.297,1.056,J1
P391,56.07,69.951,1.05,J1
P392,30.139,58.169,1.173,J1
P393,23.108,15.256,1.089,J1
P394,89.032,45.945,1.006,0
P395,99.521,4.739,1.124,J1
P396,25.693,13.586,1.023,J1
P397,23.148,39.59,1.192,J1
P398,4.929,6.37,1.068,J1
P399,27.972,41.243,1.098,J1
P400,41.226,73.975,1.12,J1
P401,29.214,38.059,1.08,J1
P402,95.129,43.867,1.167,J1
P403,79.44,64.131,1.119,J1
P404,87.006,25.444,1.188,J1
P405,26.791,75.464,1.144,J1
P406,12.762,61.99,1.095,J1
P407,17.59,2.134,1.008,0
P408,45.477,68.982,1.027,J1
P409,1.447,17.021,1.164,J1
P410,79.718,62.371,1.132,J1
P411,29.874,62.512,1.184,J1
P412,84.21,19.409,1.1,J1
P413,2.301,6.057,1.006,0
P414,35.62,57.224,1.082,J1
P415,18.042,23.833,1.036,J1
P416,74.487,10.779,1.012,0
P417,52.56,28.708,1.161,J1
P418,15.881,71.987,1.026,J1
P419,2.924,14.514,1.164,J1
P420,24.921,45.654,1.069,J1
P421,53.992,53.191,1.174,J1
P422,93.25,75.62,1.021,J1
P423,15.323,44.636,1.16,J1
P424,89.511,5.801,1.174,J1
P425,82.239,31.062,1.11,J1
P426,67.194,36.074,1.056,J1
P427,94.943,78.569,1.146,J1
P428,59.479,21.79,1.026,J1
P429,19.794,48.04,1.097,J1
P430,35.532,18.394,1.096,J1
P431,69.177,75.85,1.134,J1
P432,98.254,19.001,1.103,J1
P433,23.581,71.841,1.097,J1
P434,32.645,42.998,1.114,J1
P435,33.652,27.852,1.034,J1
P436,29.016,17.542,1.185,J1
P437,73.965,64.558,1.13,J1
P438,68.668,21.606,1.153,J1
P439,6.442,57.739,1.172,J1
P440,34.155,3.55,1.097,J1
P441,2.078,67.053,1.124,J1
P442,54.056,48.323,1.114,J1
P443,77.734,51.201,1.139,J1
P444,75.992,69.438,1.032,J1
P445,42.349,62.915,1.004,J1
P446,43.835,3.372,1.101,J1
P447,26.926,5.461,1.049,J1
P448,98.203,40.515,1.123,J1
P449,7.101,29.399,1.191,J1
P450,86.005,26.997,1.048,J1
P451,28.952,4.077,1.199,J1
P452,17.245,5.513,1.044,J1
P453,30.09,62.947,1.13,J1
P454,8.368,21.021,1.027,J1
P455,21.753,45.005,1.036,J1
P456,63.226,8.552,1.091,J1
P457,75.882,26.704,1.011,0
P458,28.25,55.542,1.175,J1
P459,56.757,69.478,1.016,J1
P460,79.538,79.971,1.127,J1
P461,61.884,47.581,1.119,J1
P462,19.424,78.308,1.046,J1
P463,4.23,19.124,1.051,J1
P464,40.68,63.594,1.054,J1
P465,90.002,30.354,1.146,J1
P466,20.648,4.236,1.121,J1
P467,35.397,28.899,1.134,J1
P468,97.601,17.891,1.179,J1
P469,34.695,76.279,1.133,J1
P470,20.166,22.588,1.071,J1
P471,53.198,23.279,1.044,J1
P472,9.961,8.538,1.142,J1
P473,84.378,53.748,1.164,J1
P474,0.577,39.307,1.121,J1
P475,93.53,23.25,1.121,J1
P476,74.689,69.905,1.182,J1
P477,83.008,48.472,1.061,J1
P478,78.421,12.009,1.109,J1
P479,68.903,31.57,1.199,J1
P480,10.193,32.927,1.005,J1
P481,68.741,20.71,1.034,J1
P482,22.864,15.12,1.172,J1
P483,76.328,3.809,1.097,J1
P484,5.615,76.897,1.017,J1
P485,56.546,77.002,1.115,J1
P486,87.863,32.695,1.081,J1
P487,41.348,52.681,1.165,J1
P488,94.516,22.649,1,0
P489,61.624,3.955,1.131,J1
P490,42.194,76.357,1.121,J1
P491,20.087,33.149,1.068,J1
P492,62.311,64.67,1.001,J1
P493,10.526,31.553,1.055,J1
P494,31.677,65.938,1.171,J1
P495,31.152,15.813,1.113,J1
P496,46.906,79.607,1.087,J1
P497,36.847,33.501,1.077,J1
P498,58.041,70.217,1.067,J1
P499,39.337,76.082,1.102,J1
P500,41.858,48.662,1.155,J1
P501,8.365,12.095,1.042,J1
P502,8.734,25.381,1.094,J1
P503,62.912,26.621,1.016,0
P504,61.45,11.426,1.056,J1
P505,82.495,35.125,1.199,J1
P506,22.095,8.586,1.104,J1
P507,26.459,0.588,1.115,J1
P508,77.054,8.601,1.194,J1
P509,36.942,72.317,1.104,J1
P510,22.266,24.209,1.096,J1
P511,31.061,33.152,1.153,J1
P512,84.158,31.128,1.085,J1
P513,72.415,58.792,1.018,J1
P514,8.173,60.244,1.169,J1
P515,63.779,28.77,1.095,J1
P516,9.439,33.223,1.038,J1
P517,34.311,73.069,1.046,J1
P518,31.03,12.341,1.068,J1
P519,18.228,21.782,1.041,J1
P520,17.245,26.821,1.013,J1
P521,50.189,77.092,1.162,J1
P522,44.644,73.037,1.036,J1
P523,48.19,37.766,1.14,J1
P524,24.86,74.934,1.055,J1
P525,29.953,65.793,1.164,J1
P526,62.988,63.604,1.001,J1
P527,26.096,23.162,1.191,J1
P528,85.944,41.394,1.141,J1
P529,25.616,73.682,1.098,J1
P530,9.354,66.077,1.015,J1
P531,28.262,30.708,1.129,J1
P532,51.508,34.521,1.028,J1
P533,97.495,5.969,1.001,0
P534,91.476,32.932,1.151,J1
P535,18.765,8.137,1.085,J1
P536,67.792,42.192,1.165,J1
P537,83.716,21.719,1.1,J1
P538,87.042,11.919,1.194,J1
P539,53.836,17.654,1.013,0
P540,20.462,15.818,1.039,J1
P541,19.952,76.541,1.119,J1
P542,73.877,23.55,1.136,J1
P543,78.61,73.704,1.186,J1
P544,84.43,20.718,1.021,0
P545,6.189,72.3,1.03,J1
P546,89.273,28.752,1.191,J1
P547,38.156,26.516,1.137,J1
P548,88.751,30.408,1.087,J1
P549,67.462,21.367,1.097,J1
P550,52.783,64.163,1.159,J1
P551,74.631,38.933,1.166,J1
P552,55.902,22.302,1.069,J1
P553,5.414,72.898,1.153,J1
P554,36.847,22.59,1.042,J1
P555,32.455,4.011,1.176,J1
P556,24.881,32.305,1.029,J1
P557,87.524,48.647,1.157,J1
P558,19.684,36.135,1.152,J1
P559,43.332,50.916,1.161,J1
P560,17.444,25.813,1.193,J1
P561,70.938,15.803,1.173,J1
P562,4.73,59.456,1.007,J1
P563,13.083,6.589,1.111,J1
P564,56.894,42.639,1.044,J1
P565,7.718,24.368,1.013,J1
P566,41.125,10.696,1.05,J1
P567,82.062,40.701,1.054,J1
P568,98.792,73.32,1.024,J1
P569,28.442,56.555,1.094,J1
P570,29.474,27.571,1.105,J1
P571,81.11,41.377,1.013,0
P572,82.919,44.351,1.021,J1
P573,50.955,75.732,1.145,J1
P574,47.391,36.104,1.184,J1
P575,54.883,29.221,1.177,J1
P576,65.97,9.802,1.101,J1
P577,11.243,22.383,1.109,J1
P578,79.126,29.534,1.172,J1
P579,74.432,37.107,1.072,J1
P580,44.208,46.873,1.076,J1
P581,63.202,44.607,1.097,J1
P582,83.664,14.856,1.002,0
P583,10.925,3.25,1.044,J1
P584,25.595,32.822,1.142,J1
P585,44.272,10.645,1.109,J1
P586,85.675,64.529,1.044,J1
P587,92.38,25.068,1.029,0
P588,60.684,0.823,1.191,J1
P589,53.723,30.95,1.002,0
P590,23.706,70.854,1.118,J1
P591,15.259,1.323,1.107,J1
P592,91.669,52.217,1.045,J1
P593,40.555,77.263,1.019,J1
P594,39.957,40.488,1.067,J1
P595,32.84,50.032,1.05,J1
P596,28.995,42.681,1.18,J1
P597,47.806,26.252,1.135,J1
P598,46.033,46.619,1.083,J1
P599,92.227,9.678,1.133,J1
P600,14.868,19.79,1.022,J1
P601,10.202,55.159,1.165,J1
P602,49.072,36.299,1.131,J1
P603,41.849,51.191,1.02,J1
P604,83.057,29.49,1.176,J1
P605,52.002,76.98,1.079,J1
P606,72.568,50.447,1.075,J1
P607,81.339,68.203,1.013,J1
P608,74.356,28.989,1.047,J1
P609,81.894,62.695,1.055,J1
P610,56.32,13.977,1.025,J1
P611,75.708,33.103,1.056,J1
P612,17.096,43.535,1.048,J1
P613,31.86,18.005,1.132,J1
P614,69.839,53.618,1.129,J1
P615,5.603,26.36,1.19,J1
P616,32.068,24.609,1.033,J1
P617,36.853,22.114,1.192,J1
P618,23.621,20.864,1.125,J1
P619,75.601,46.624,1.054,J1
P620,71.213,27.031,1.143,J1
P621,2.158,56.042,1.126,J1
P622,12.637,57.588,1.076,J1
P623,52.393,69.128,1.118,J1
P624,49.515,2.463,1.134,J1
P625,55.347,27.966,1.115,J1
P626,76.425,1.812,1,0
P627,54.694,59.844,1.056,J1
P628,79.401,66.816,1.145,J1
P629,29.645,43.091,1.081,J1
P630,10.178,31.15,1.019,J1
P631,66.818,12.947,1.138,J1
P632,67.075,59.08,1.178,J1
P633,75.656,45.559,1.053,J1
P634,11.145,21.37,1.147,J1
P635,97.745,39.031,1.043,J1
P636,80.118,49.031,1.07,J1
P637,48.26,79.878,1.075,J1
P638,94.797,17.649,1.126,J1
P639,57.568,11.643,1.186,J1
P640,45.792,51.384,1.01,J1
P641,65.573,59.39,1.02,J1
P642,65.073,15.967,1.047,J1
P643,73.212,79.561,1.151,J1
P644,89.328,43.811,1.178,J1
P645,86.884,49.275,1.144,J1
P646,73.105,12.153,1.151,J1
P647,15.277,32.378,1.123,J1
P648,71.677,66.396,1.177,J1
P649,6.372,31.58,1.121,J1
P650,48.807,36.108,1.152,J1
P651,57.877,26.858,1.117,J1
P652,36.032,59.978,1.016,J1
P653,9.564,79.763,1.009,J1
P654,39.667,8.655,1.083,J1
P655,43.39,21.577,1.091,J1
P656,22.498,20.906,1.128,J1
P657,89.307,70.315,1.09,J1
P658,41.168,18.564,1.193,J1
P659,73.935,27.336,1.145,J1
P660,60.336,49.714,1.179,J1
P661,68.246,18.85,1.022,0
P662,53.165,57.239,1.114,J1
P663,1.511,40.872,1.092,J1
P664,97.083,71.169,1.14,J1
P665,24.582,8.284,1.053,J1
P666,46.628,48.54,1.01,J1
P667,38.617,9.331,1.2,J1
P668,73.99,3.267,1.001,0
P669,68.024,76.511,1.141,J1
P670,75.085,11.287,1.136,J1
P671,61.273,53.037,1.195,J1
P672,7.111,72.59,1.172,J1
P673,62.848,71.118,1.115,J1
P674,15.219,71.887,1.115,J1
P675,26.294,14.038,1.125,J1
P676,83.429,53.621,1.172,J1
P677,44.852,78.635,1.132,J1
P678,70.874,4.658,1.163,J1
P679,74.689,77.93,1.167,J1
P680,31.412,9.412,1.041,J1
P681,29.178,75.82,1.168,J1
P682,24.976,17.273,1.173,J1
P683,43.088,16.458,1.186,J1
P684,75.33,31.199,1.075,J1
P685,55.795,50.457,1.188,J1
P686,73.624,58.882,1.078,J1
P687,55.017,78.416,1.126,J1
P688,32.767,34.402,1.125,J1
P689,69.565,39.209,1.134,J1
P690,26.834,8.379,1.013,0
P691,13.977,36.316,1.036,J1
P692,64.648,68.54,1.053,J1
P693,81.757,49.99,1.183,J1
P694,10.226,20.334,1.099,J1
P695,70.111,56.328,1.022,J1
P696,37.198,38.542,1.192,J1
P697,9.885,36.36,1.019,J1
P698,52.072,26.077,1.158,J1
P699,82.413,59.023,1.113,J1
P700,5.173,14.988,1.198,J1
P701,42.719,51.472,1.144,J1
P702,90.073,67.434,1.183,J1
P703,48.297,38.384,1.145,J1
P704,75.769,30.715,1.149,J1
P705,27.399,29.031,1.006,0
P706,82.224,60.63,1.087,J1
P707,22.427,6.597,1.053,J1
P708,62.567,61.379,1.065,J1
P709,25.47,38.796,1.15,J1
P710,56.192,27.832,1.139,J1
P711,96.71,32.134,1.055,J1
P712,88.885,47.388,1.121,J1
P713,34.735,64.111,1.166,J1
P714,81.497,33.872,1.016,0
P715,63.239,78.601,1.138,J1
P716,49.927,14.741,1.113,J1
P717,23.837,68.958,1.058,J1
P718,98.953,65.593,1.08,J1
P719,32.172,31.892,1.132,J1
P720,93.085,72.307,1.056,J1
P721,76.364,42.056,1.19,J1
P722,91.699,51.394,1.01,0
P723,26.355,23.091,1.158,J1
P724,25.806,22.961,1.07,J1
P725,91.437,65.476,1.049,J1
P726,32.214,18.386,1.192,J1
P727,24.548,74.685,1.164,J1
P728,10.339,46.179,1.045,J1
P729,37.595,15.312,1.157,J1
P730,89.67,24.739,1.011,0
P731,75.201,57.542,1.112,J1
P732,54.791,29.487,1.022,J1
P733,6.888,61.848,1.005,J1
P734,32.013,24.666,1.029,J1
P735,52.591,26.177,1.148,J1
P736,59.848,46.362,1.185,J1
P737,66.043,56.782,1.116,J1
P738,7.178,23.579,1.003,J1
P739,77.216,79.792,1.116,J1
P740,30.524,38.008,1.027,J1
P741,51.559,14.978,1.11,J1
P742,37.723,40.874,1.135,J1
P743,72.324,56.611,1.123,J1
P744,12.335,76.555,1.146,J1
P745,5.637,18.235,1.1,J1
P746,13.367,77.913,1.091,J1
P747,78.461,48.977,1.155,J1
P748,61.258,67.148,1.058,J1
P749,99.802,68.608,1.068,J1
P750,15.729,8.616,1.193,J1
P751,97.882,46.75,1.023,J1
P752,6.848,26.475,1.08,J1
P753,43.085,58.752,1.161,J1
P754,59.668,70.247,1.113,J1
P755,90.732,16.472,1.046,J1
P756,17.911,35.151,1.064,J1
P757,21.677,66.777,1.157,J1
P758,85.611,31.843,1.089,J1
P759,94.873,3.816,1.158,J1
P760,30.06,41.558,1.044,J1
P761,66.867,23.174,1.034,J1
P762,87.219,37.786,1.169,J1
P763,91.174,46.821,1.032,J1
P764,44.601,54.561,1.164,J1
P765,98.203,77.234,1.103,J1
P766,8.798,4.058,1.115,J1
P767,86.249,47.412,1.121,J1
P768,58.051,22.639,1.158,J1
P769,38.715,70.527,1.024,J1
P770,96.793,4.619,1.084,J1
P771,34.384,28.684,1,0
P772,31.705,16.924,1.156,J1
P773,49.075,4.89,1.178,J1
P774,39.758,45.486,1.089,J1
P775,70.654,45.483,1.117,J1
P776,60.62,15.642,1.075,J1
P777,77.6,72.463,1.113,J1
P778,81.207,63.909,1.19,J1
P779,77.014,15.769,1.126,J1
P780,51.392,67.463,1.165,J1
P781,72.916,55.249,1.124,J1
P782,39.651,70.269,1.197,0
P783,53.287,20.239,1.12,J1
P784,68.076,51.262,1.19,J1
P785,56.223,21.704,1.102,J1
P786,20.264,70.076,1.034,J1
P787,14.902,57.766,1.138,J1
P788,55.679,49.771,1.199,J1
P789,99.991,47.854,1.103,J1
P790,52.518,3.655,1.167,J1
P791,89.264,44.087,1.051,J1
P792,0.534,74.661,1.163,J1
P793,9.982,10.466,1.171,J1
P794,38.159,60.984,1.013,J1
P795,32.654,1.294,1.015,0
P796,36.981,0.5,1.046,J1
P797,57.458,59.714,1.071,J1
P798,43.939,9.18,1.165,J1
P799,39.474,25.588,1.187,J1
P800,0.125,91.271,1.539,J2
P801,80.872,91.7,1.596,J2
P802,35.028,97.919,1.665,J2
P803,74.658,83.482,1.672,J2
P804,71.048,90.27,1.561,J2
P805,1.498,81.828,3.573,0
P806,14.731,83.318,1.698,J2
P807,44.568,82.382,1.501,0
P808,0.891,87.557,1.606,J2
P809,57.117,92.035,1.621,J2
P810,16.623,93.26,1.59,0
P811,35.211,81.141,1.622,0
P812,78.329,96.052,1.604,0
P813,30.194,97.519,1.645,J2
P814,95.587,98.514,1.608,J2
P815,14.233,89.241,1.547,J2
P816,86.221,84.192,1.656,J2
P817,84.363,99.935,1.7,0
P818,61.148,87.849,1.553,J2
P819,29.727,96.802,1.505,J2
P820,37.585,81.852,-0.365,0
P821,5.621,80.176,1.684,J2
P822,27.588,85.458,1.618,J2
P823,69.116,96.752,1.645,J2
P824,48.492,84.107,1.649,J2
P825,46.844,89.159,1.69,J2
P826,74.442,82.166,1.62,J2
P827,38.522,94.7,1.622,J2
P828,57.239,87.227,1.53,J2
P829,22.51,88.503,1.661,J2
P830,51.709,99.799,1.65,J2
P831,34.555,83.38,1.631,J2
P832,49.188,81.271,1.64,J2
P833,50.479,82.95,1.69,J2
P834,14.157,98.102,1.639,J2
P835,30.304,88.531,1.514,J2
P836,96.658,93.663,1.531,J2
P837,87.723,96.433,1.616,J2
P838,19.135,83.558,1.663,J2
P839,47.525,83.111,1.601,J2
P840,73.199,88.112,1.556,J2
P841,56.873,93.644,1.651,J2
P842,72.189,89.506,1.525,J2
P843,36.78,96.693,1.507,J2
P844,51.7,93.259,1.585,J2
P845,10.468,98.986,1.684,0
P846,54.953,86.92,1.594,J2
P847,37.497,96.939,1.563,J2
P848,45.609,85.438,1.697,J2
P849,29.779,94.783,1.613,J2
P850,19.598,95.226,5.668,0
P851,39.764,90.018,1.678,J2
P852,2.747,99.892,1.615,J2
P853,5.051,90.626,1.539,J2
P854,84.302,92.535,1.632,J2
P855,19.785,96.843,1.525,J2
P856,10.992,94.862,1.563,J2
P857,94.104,85.721,1.567,J2
P858,14.026,94.661,1.667,J2
P859,70.798,92.004,1.649,J2
P860,25.272,82.889,1.5,0
P861,6.1,96.124,1.671,J2
P862,21.057,82.312,1.611,J2
P863,1.425,82.275,1.591,J2
P864,75.22,93.723,1.609,J2
P865,7.388,88.734,1.54,J2
P866,69.62,85.807,1.587,J2
P867,23.242,91.557,1.607,J2
P868,62.866,83.204,1.601,J2
P869,96.301,93.915,1.685,J2
P870,18.994,86.719,1.536,J2
P871,99.515,89.149,1.7,J2
P872,9.75,92.503,1.519,J2
P873,43.771,98.63,1.51,J2
P874,89.459,85.8,1.545,J2
P875,76.904,88.214,1.54,J2
P876,62.805,92.083,1.59,J2
P877,46.634,91.956,1.627,J2
P878,85.477,96.575,1.625,J2
P879,72.089,91.315,1.575,J2
P880,18.427,94.758,1.611,J2
P881,90.506,84.857,1.538,J2
P882,60.471,93.97,1.617,J2
P883,35.129,89.889,1.516,J2
P884,74.072,92.241,1.624,J2
P885,69.11,96.09,1.53,J2
P886,57.602,97.354,1.682,J2
P887,61.469,94.553,1.509,J2
P888,66.776,99.53,1.563,J2
P889,56.918,86.116,1.535,J2
P890,10.855,97.38,1.67,J2
P891,74.429,83.098,1.565,J2
P892,7.935,81.532,1.628,J2
P893,81.998,90.901,1.59,J2
P894,40.897,85.975,1.593,J2
P895,50.119,83.053,1.565,J2
P896,73.798,86.277,1.665,J2
P897,95.905,97.466,1.645,J2
P898,30.005,98.879,1.525,J2
P899,6.573,95.699,1.605,J2
P900,60.962,99.122,1.514,J2
P901,87.561,93.077,1.564,J2
P902,10.48,90.101,1.545,J2
P903,29.028,98.399,1.61,J2
P904,66.278,82.291,1.599,J2
P905,37.912,89.936,1.659,J2
P906,50.925,87.647,1.638,J2
P907,53.214,92.125,1.579,J2
P908,0.589,94.157,1.52,J2
P909,62.305,97.264,1.598,J2
P910,74.731,89.938,1.576,J2
P911,78.534,91.056,1.571,J2
P912,95.569,92.617,1.535,J2
P913,37.424,82.632,1.649,J2
P914,95.169,92.239,1.506,0
P915,32.983,81.118,1.628,J2
P916,13.162,96.941,1.673,J2
P917,59.686,94.432,1.671,J2
P918,1.468,82.529,1.642,J2
P919,61.713,84.351,1.513,0
P920,16.891,92.482,1.568,J2
P921,31.94,87.351,1.632,J2
P922,80.237,96.137,1.605,J2
P923,61.108,95.963,1.68,J2
P924,14.481,92.603,1.58,J2
P925,25.369,82.731,1.671,J2
P926,6.616,88.556,1.615,J2
P927,30.228,90.961,1.545,J2
P928,31.134,82.213,1.662,J2
P929,13.47,85.685,1.658,J2
P930,89.52,95.792,1.649,J2
P931,61.52,87.222,1.671,J2
P932,22.849,97.271,1.546,J2
P933,24.954,90.848,1.697,J2
P934,5.38,81.628,1.605,J2
P935,42.679,81.893,1.552,J2
P936,89.151,84.655,1.529,0
P937,12.509,98.632,1.516,J2
P938,4.709,81.174,1.567,J2
P939,91.467,87.972,1.587,J2
P940,94.614,96.743,1.607,J2
P941,84.207,93.87,1.58,J2
P942,25.916,80.087,1.605,J2
P943,95.477,87.974,1.548,J2
P944,58.554,85.103,1.637,J2
P945,94.525,88.71,1.678,J2
P946,0.717,98.819,1.62,J2
P947,78.613,91.533,1.528,J2
P948,22.232,87.66,1.501,0
P949,41.791,81.645,1.632,J2
P950,85.507,81.297,1.662,J2
P951,66.205,93.829,1.661,J2
P952,53.012,93.712,1.529,J2
P953,68.948,94.557,1.656,J2
P954,3.107,97.373,1.629,J2
P955,70.654,81.709,1.61,J2
P956,94.788,81.176,1.555,J2
P957,14.517,99.635,1.624,J2
P958,29.224,98.449,1.574,J2
P959,69.452,84.373,1.531,J2
P960,24.054,90.428,1.68,J2
P961,10.641,98.052,1.588,J2
P962,8.011,95.641,1.534,J2
P963,97.437,95.517,1.674,J2
P964,21.063,89.132,1.501,J2
P965,75.061,82.281,1.581,J2
P966,31.113,99.852,1.508,J2
P967,25.208,83.785,1.55,J2
P968,15.35,92.406,1.677,J2
P969,93.906,83.913,1.656,J2
P970,64.554,93.135,1.682,J2
P971,45.544,98.425,1.633,J2
P972,15.076,92.726,1.614,J2
P973,42.203,98.86,1.608,J2
P974,57.855,90.729,1.551,J2
P975,39.694,87.005,1.507,0
P976,79.523,83.93,1.514,0
P977,38.94,91.815,1.514,J2
P978,19.766,83.118,1.629,J2
P979,45.432,92.086,1.639,J2
P980,44.128,93.689,1.579,J2
P981,83.569,91.844,1.54,J2
P982,94.943,97.52,1.578,J2
P983,98.743,83.706,1.679,J2
P984,57.443,88.841,1.625,J2
P985,70.85,80.992,1.557,J2
P986,26.019,88.152,1.679,J2
P987,71.017,94.568,1.679,J2
P988,39.355,87.948,1.681,J2
P989,30.859,87.762,1.614,J2
P990,35.355,94.673,1.649,J2
P991,73.636,94.788,1.528,J2
P992,20.016,85.452,1.636,J2
P993,91.11,87.357,1.604,J2
P994,10.938,98.148,1.541,J2
P995,51.794,93.096,1.588,J2
P996,68.762,81.808,1.516,0
P997,7.578,80.556,1.571,J2
P998,30.722,93.945,1.529,J2
P999,39.484,81.357,1.635,J2
P1000,0.125,45.085,1.039,J1

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值