C# Vector3 получают оставшуюся площадь в процентах
У меня есть два Vector3, каждый из которых представляет размер области. Первый - это общая площадь. Второй - это только часть первого. Как я могу получить процент, который остается от общей площади, когда я вычитаю меньшую площадь?
1 ответ
Решение
Если оба представляют размер (они положительны в компонентах по определению) и полностью пересекаются (один полностью лежит в границах другого), то вам просто нужно рассчитать процент от их разности объемов:
|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);
Таким образом, даже не имеет значения, какой маленький, а какой большой, просто вставьте обе функции, и он покажет правильный ответ.