C# Vector3 获取剩余面积的百分比

C# Vector3's get the remaining area in percentage

我有两个Vector3,每个代表一个区域的大小。第一个是面积的总量。第二个只是第一个的一部分。当我减去较小的面积时,我如何得到总面积的百分比?

如果两者都表示大小(根据定义它们在组件中为正数)并且完全相交(一个完全位于另一个的边界),那么您只需要计算它们的体积差异的百分比:

|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);

这样一来,无论是大是小,只要把两者都放在这个函数中,它就会显示正确答案。