Навіщо визначати площу складної фігури?
Та мало навіщо. Наприклад, виникла необхідність визначити площу території на карті. Звичайно, можна подивитися в довіднику або пошукати в інтернеті, але іноді і території бувають нестандартними - припустимо, ви перейнялися проблемами лісів у заплаві Амазонки і хочете щомісяця вимірювати площу зелених плям на фотографіях із супутника. Якщо ви ботанік (в хорошому сенсі слова), то вам може знадобитися виміряти площу листової поверхні різних сортів однієї рослини. Або, наприклад, більш прозаїчне завдання - потрібно зашпатлювати шматок стіни, а банки шпатлівки вистачає тільки на 1 кв. м. - потрібно з'ясувати, купувати одну банку або розщедритися на дві.
У чому складність знаходження площі?
Звичайно, якщо фігура являє собою прямокутник, коло або, що гірше, еліпс, то проблема вирішується за допомогою Google і калькулятора. Але де б знайти формулу, та простіше, для знаходження площі, скажімо, такого малюнка?
Теорія ймовірностей, Ваш вихід!
Відразу обмовлюся, що теорія ймовірностей по своїй суті не передбачає точного вирішення завдань. Так буде і в цьому випадку - якщо вам потрібна космічна точність, то пропоную копати в бік методів імітаційного моделювання. Якщо ж похибка в межах 2-5% вас цілком влаштовує, то буде достатньо того ж калькулятора, базових навичок програмування і вміння рахувати до ста.
Суть методу
Суть методу проста до банальності. Припустимо, ми похмурим грошиком виклали капустний листочок (див. ремарку про біолога вище) на прямокутний піддон, а піддон виставили під накрапуючий дощик. А потім засікли певний час (наприклад, п'ять хвилин) і порахували, скільки крапель впало на піддон, а скільки безпосередньо на аркуш. Якщо взяти до уваги, що дощ зазвичай капає рівномірно, то виходить проста пропорція - лист у стільки разів менше піддону, у скільки разів на нього впало менше крапель дощу, ніж на весь піддон.
Повертаємося до нашої фігури
Отже, як же визначити площу тієї рожевої п'ятірні? Та дуже просто - укласти фігуру в прямокутні кордони і проставити випадковим чином багато точок. Чим більше, тим краще (відповідно до закону більших чисел). А потім підрахувати кількість точок, що потрапили на фігуру.
Я навмисно не обговорюю питання реалізації такого алгоритму, тому що варіантів маса. Можна просто заплющити очі і навмання тикати кульковою ручкою, а можна діяти більш науково - за допомогою мов програмування. Наприклад, код на PHP зайняв у мене не більше 15 рядків, а в результаті вийшло ось що:
Крапки загальною кількістю 300, зрозуміло, проставлені за допомогою генератора випадкових чисел. Для зручності підрахунку точок я розбив зображення на 36 секторів - тепер потрібно підрахувати кількість точок, що потрапили на зображення, в кожному секторі, а результати скласти. Зведіть дані до таблиці (комірка таблиці відповідає сектору на картинці):
|
0 |
4 |
8 |
4 |
0 |
0 |
|
0 |
7 |
5 |
6 |
0 |
4 |
|
3 |
6 |
13 |
7 |
8 |
5 |
|
1 |
10 |
10 |
13 |
7 |
2 |
|
0 |
2 |
3 |
7 |
10 |
2 |
|
0 |
0 |
2 |
5 |
3 |
0 |
Тепер у нас є всі дані для того, щоб вирахувати площу рожевої п'ятірні:
площа описаного прямокутника - 20 см х 20 см = 400 кв. см;
кількість точок у прямокутнику - 300;
кількість точок всередині фігури (сума значень з таблиці) - 157;
площа фігури - 209,33 кв. см.
І наскільки це точно?
Дійсно, залишилося визначитися з точністю даного методу. Звичайно, все залежить від кількості точок, і тут потрібно дотримуватися золотої середини - десяти для нашого прикладу було б явно недостатньо, а від тисячі занадто рябило б в очах. Тому спробуємо визначити похибку для трьохсот точок і описаного квадрата зі стороною 20 см. Для цього візьмемо фігуру, площа якої нам відома заздалегідь. Наприклад, таку:
Проставляємо крапки:
Результати заносимо в таблицю:
|
0 |
6 |
11 |
8 |
5 |
0 |
|
9 |
15 |
8 |
5 |
13 |
2 |
|
11 |
8 |
5 |
14 |
13 |
5 |
|
10 |
11 |
8 |
8 |
4 |
4 |
|
2 |
14 |
9 |
10 |
4 |
1 |
|
0 |
3 |
5 |
6 |
0 |
0 |
Розраховуємо площу фігури:
площа описаного прямокутника - 20 см х 20 см = 400 кв. см;
кількість точок у прямокутнику - 300;
кількість точок всередині фігури (сума значень з таблиці) - 237;
площа фігури - 316 кв. см.
Неважко порахувати, що реальна площа кола з радіусом 10 см становить 314,16 кв. см. Таким чином, похибка методу склала 0,59%, чого в більшості випадків достатньо для прикладного використання.

