using Microsoft.DirectX.Direct3D;
struct Voxel
{
public Vector3 p
public Voxel(float _x, float _y, float _z)
{
p = new Vector3(_x, _y, _z);
}
}
List<Voxel> myDataList = new List<Voxel>();
经过一些添加数据方法后,我终于得到myDataList
了如下所示的内容:
myDataList[0] - { X: 164 , Y: 59 , Z: 120 }
myDataList[1] - { X: 146 , Y: 63 , Z: 120 }
myDataList[2] - { X: 192 , Y: 59 , Z: 120 }
myDataList[3] - { X: 196 , Y: 79 , Z: 120 } //peak coordinate is here
myDataList[4] - { X: 110 , Y: 55 , Z: 120 }
在上面的示例中,myDataList[3] 是其 Y 值最高的峰值坐标,即 79。
我的问题是,如何确定 myDataList[3] 是包含最高 Y 值的峰值坐标?
我知道我可以做类似下面的事情来获得最大 Y 值
float maxY = myDataList.Max(y => y.p.Y); //output = 79
但我想要的是 3D 坐标 (X, Y, Z) 而不仅仅是知道maxY
*不要按 Y 值和 的降序对列表进行.First()
排序,因为 myDataList 的顺序在我的下一步中确实很重要。