我有两个Vector3,每个都代表一个区域的大小。第一个是该区域的总量。第二个只是第一个的一部分。当我减去较小的区域时,如何获得总面积的剩余百分比?
答案 0 :(得分:0)
如果两者都代表大小(根据定义,它们在组件中是正数)和完全相互关系(一个完全位于另一个的边界),那么您只需计算其体积差异的百分比:
|v1.volume - v2.volume|/max(v1.volume, v2.volume)
所以在代码中它看起来像这样:
double v1Volume = v1.x * v1.y * v1.z;
double v2Volume = v2.x * v2.y * v2.z;
double percentageDiff = 100 * Math.Abs(v1Volume - v2Volume) / Math.Max(v1Volume, v2Volume);
这样一来,哪一个小,哪一个大,哪个都放在这个功能中,它会显示正确的答案。