This commit is contained in:
2026-05-07 17:09:01 +08:00
parent 165855c50b
commit 39f5e9ca67
2 changed files with 47 additions and 29 deletions

View File

@@ -33,21 +33,21 @@ namespace 头罩视野.Services
//计算双目视野
public static double CalculateBinocularArea(
List<int> leftFinal,
List<int> rightFinal,
List<(int m, int n)> lightPositions)
{
// 双目并集:左眼亮 OR 右眼亮 = 亮
int[] binocularData = new int[243];
for (int i = 0; i < 243; i++)
List<int> leftFinal,
List<int> rightFinal,
List<(int m, int n)> lightPositions)
{
binocularData[i] = leftFinal[i] | rightFinal[i];
}
// 取两者中较小的长度,防止一方数据被截断
int length = Math.Min(leftFinal.Count, rightFinal.Count);
int[] binocularData = new int[length];
// 计算面积
for (int i = 0; i < length; i++)
{
binocularData[i] = leftFinal[i] | rightFinal[i];
}
System.Diagnostics.Debug.WriteLine($"【双目亮灯】长度:{length}, 左眼亮灯:{leftFinal.Count}, 右眼亮灯:{rightFinal.Count}, 双目亮灯:{binocularData.Length}");
return CalculateEllipseArea(binocularData, lightPositions);
}
}
//下方视野 下方视野角度 = 人眼到「最低亮灯条」的夹角