Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从随机列表中为栅格的每个点额外填充高度_C#_Unity3d_Math - Fatal编程技术网

C# 从随机列表中为栅格的每个点额外填充高度

C# 从随机列表中为栅格的每个点额外填充高度,c#,unity3d,math,C#,Unity3d,Math,我有一个与x,y值关联的有序网格点列表,我想从另一个与x,y和z关联的点列表中推断每个点的高度。 目前我所做的是: private Vector3[][] UpdatePointHeight(Vector3[][] points, List<double[]> randomPointsList) { Vector3 p; for (int j = 0; j < points.Length; j++) { for (int i =

我有一个与x,y值关联的有序网格点列表,我想从另一个与x,y和z关联的点列表中推断每个点的高度。 目前我所做的是:

    private Vector3[][] UpdatePointHeight(Vector3[][] points, List<double[]> randomPointsList)
{
    Vector3 p;
    for (int j = 0; j < points.Length; j++)
    {
        for (int i = 0; i < points[j].Length; i++)
        {
            p = points[j][i];
            float midDist = float.MaxValue;
            for (int k = 0; k < randomPointsList.Count; k++)
            {
                double[] ph = randomPointsList[k];
                Vector3 ph3 = new Vector3((float)ph[1], (float)ph[0], 0);
                float distance = Vector3.Distance(p, ph3);
                if (midDist > distance)
                {
                    midDist = distance;
                    p.z = (float)ph[2];
                }
            }
        }
    }
    return points;
}
private Vector3[][]更新方向图(Vector3[][]点,列出随机点列表)
{
向量3p;
对于(int j=0;j距离)
{
midDist=距离;
p、 z=(浮动)ph[2];
}
}
}
}
返回点;
}

如何改进此操作?

我不知道你在问什么。我有一系列表示三维空间高度的随机点,我想从它们创建一个规则的高程网格。酷,你有一些点和一些代码。你的问题是什么?你的代码做你想做的吗?如果是这样的话,你想解决什么问题?你确定你不是指“插值”吗?问题是关于性能,如果随机列表中有太多的点,这段代码会变得非常慢,有没有办法用一些数学或排序技术来改进它?