История изменений
Исправление KennyMinigun, (текущая версия) :
Что же, да тут прямо таки напрашивается дискретизация (путём обработки воксельных (только 2Д) квадродеревьев).
Проще говоря:
1. Вмещаем круг в квадрат 2. Разбиваем каждый квадрат на 4 части 3. Помечаем квадраты, которые своей площадью захватывают круг (или можно использовать критерий % вхождения для отбора) 4. Суммируем площади помеченных квадратов -> [результат текущей итерации] 5. Если точность недостаточная переходим к п. 2
Или вариант посложнее:
1. Находим функцию (функциональный анализ) графиком которой является полукруг с нужным нам радиусом 1a. Допустим ax^2 + bx + c 2. Вычисляем интеграл от -R до +R S(ax^2 + bx + c)dx 3. Умножаем на 2 4. PROFIT
Исходная версия KennyMinigun, :
Что же, да тут прямо таки напрашивается дискретизация (путём обработки воксельных (только 2Д) квадродеревьев).
Проще говоря:
1. Вмещаем круг в квадрат 2. Разбиваем каждый квадрат на 4 части 3. Помечаем квадраты, которые своей площадью захватывают круг (или можно использовать критерий % вхождения для отбора) 4. Суммируем площади помеченных квадратов -> [результат текущей итерации] 5. Если точность недостаточная переходим к п. 2
Или вариант посложнее:
1. Находим функцию (функциональный анализ) графиком которой является полукруг с нужным нам радиусом 1a. Допустим ax^2 + bx + c 2. Вычисляем интеграл от 0 до 2R S(ax^2 + bx + c)dx 3. Умножаем на 2 4. PROFIT