集合项的最大值

本文关键字:最大值 集合 | 更新日期: 2023-09-27 18:36:47

我在集合中生成 (x,y,z) 坐标,如下所示:

this.facePoints3D = frame.Get3DShape();
foreach(Vector3DF vector in facePoints3D)  //vector has 121 points
 {
    float zvect = vector.Z           //collect z-points which is made of 121 points
 } 
//where Vector3DF is a struct of floats (x, y, z)

问题是我想在 C# 中找到 zvect 的 L2 范数。我浏览了msdn的文档网站,似乎没有预定义的方法可以做到这一点。

有人有想法吗?

集合项的最大值

据我了解,L2范数表由以下函数计算。

float L2Norm(Vector3DF Vec)
{
    return Math.Sqrt( Vec.X * Vec.X + 
                      Vec.Y * Vec.Y + 
                      Vec.Z * Vec.Z );
}

使用 Linq,可以按如下方式计算集合中向量的值。

foreach (double L2Norm in facePoints3D.Select(L2Norm))
{
    // do something with L2Norm
}