Я хотел бы иметь возможность узнать общую площадь, охватываемую областью (например, двойной интеграл по этой области). Я не могу найти какой-либо метод для этого, и мне интересно, будет ли я идти пополам. Спасибо заранее!Расчет общей площади региона
ответ
Вы должны иметь возможность использовать RegionIterator
и суммировать области возвращенных прямоугольников.
Рассуждение: в документах Andriod подразумевается, что при выполнении булевых операций в регионах область результатов представляет собой новый набор неперекрывающихся прямоугольников с желаемым объединением. Другими словами, A - B
, где A и B являются прямоугольниками, в результате могут образовывать 0, 1, 2, 3 или 4 прямоугольника.
Я не тестировал, но источник на the Android xRef site показывает, что проверенная область состоит из прямоугольников без перекрытий.
Кажется, у меня такая же проблема, как и ваша проблема.
Я не уверен, если это «реальное» решение. Но я отправляю свой код. Значения выглядят нормально.
private void calculateArea(Region region) {
RegionIterator regionIterator = new RegionIterator(region);
int size = 0; // amount of Rects
float area = 0; // units of area
Rect tmpRect= new Rect();
while (regionIterator.next(tmpRect)) {
size++;
area += tmpRect.width() * tmpRect.height();
}
log.d("Rect amount=" + size);
log.d("Area Size/units of area=" + area);
}
}
Моя проблема в том, что я хочу получить размер области некоторых рисованных рисунков. Чтобы узнать о тротуарах, я добавил регион.
- 1. Расчет общей площади пола (Python)
- 2. iOS - Расчет площади и периметра региона на картах
- 3. Расчет площади ограничивающего параллелепипеда
- 4. Расчет площади MKPolygon Swift
- 5. Расчет площади под посадку
- 6. Расчет площади полигонов
- 7. Расчет площади треугольника
- 8. Расчет площади Matlab
- 9. Расчет площади треугольника
- 10. C# Расчет треугольного типа и расчет площади
- 11. Расчет общей
- 12. Расчет периметра и площади прямоугольника
- 13. Расчет площади между двумя кривыми
- 14. Инкапсуляция, расчет радиуса, диаметра, площади.
- 15. Неправильный расчет площади цели-c?
- 16. Расчет площади деталей комбинированной геометрии
- 17. Расчет площади сегмента по кругу
- 18. Расчет общей цены PHP
- 19. Методы определения общей площади в серии изображений
- 20. Позиционирование CSS относительно общей площади страницы
- 21. Расчет площади функции с использованием суммы Римана
- 22. Расчет базовой площади куба (ожидается а)))
- 23. Расчет площади круга с использованием двух классов
- 24. Расчет площади и положение динамически формируемых полигонов
- 25. Расчет площади под кривой от точности классификации
- 26. Расчет площади поверхности из 3d точек данных
- 27. Расчет площади и периметра треугольника с Python?
- 28. UINavigationBar и расчет доступной площади экрана
- 29. расчет WooCommerce цена продукта на основе площади и периметра размеров
- 30. Расчет общей и средней зарплаты
Спасибо за ответ. Регион сохраняется как регион Android, так как мне нужна его Op.DIFFERENCE и getBoundaryPath(). Я не уверен, могу ли я перебирать вершины. – scf
Значит, это действительно набор возможных перекрывающихся прямоугольников? (Определение региона Android странно по сравнению с любым другим.) – Gene
Я сейчас просто читаю его. Если бы они не перекрывали друг друга, было бы легко просто перебрать их. Может быть, мне придется использовать принцип исключения включения, хотя я бы предпочел метод, который не будет занимать много времени. – scf