Pas*_*ssy 1 c# list unity-game-engine
我有一个Vector3列表,每个都有x,y,z值.
List<Vector3> list = new List<Vector3>();
Run Code Online (Sandbox Code Playgroud)
我想迭代这个列表,找到平均值并从中创建一个向量:
结果向量:
averageVector.X = average of all the x values;
averageVector.Y= average of all the y values;
averageVector.Z = average of all the z values;
return averageVector;
Run Code Online (Sandbox Code Playgroud)
我正在尝试为此创建一个功能,并希望得到你的帮助!
你可以使用linq Enumerable.Average来实现这个目标
var newVector = new Vector3(
list.Average(x=>x.X),
list.Average(x=>x.Y),
list.Average(x=>x.Z));
Run Code Online (Sandbox Code Playgroud)
list.Average(x=>x.Z)将返回Z来自所有元素的平均值list
您可以用来Enumerable.Aggregate对向量求和,然后除以计数即可得出平均值。
var average = list.Aggregate(new Vector3(0,0,0), (s,v) => s + v) / (float)list.Count;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3221 次 |
| 最近记录: |