Точный расчёт площади и периметра — базовая задача при планировании, строительстве, проектировании и многих практических работах. Независимо от того, готовите ли вы строительную смету, определяете количество материалов или проверяете размеры участка, инструмент, позволяющий быстро и надёжно получать площадь и периметр сложных фигур, экономит время и уменьшает число ошибок. Этот онлайн-калькулятор служит именно для таких задач: интерактивно строит многоугольник, показывает длины сторон, углы в вершинах, вычисляет площадь и периметр в выбранных единицах и поддерживает масштабирование сетки для точного соответствия реальным размерам.
Что такое площадь и периметр
Площадь показывает, сколько двумерной площади занимает фигура. Периметр — это суммарная длина контура. Для прямоугольных объектов достаточно умножения длины на ширину, но при произвольных многоугольниках требуется более универсальный подход: по набору координат вершин можно вычислить и площадь (формулой Гаусса / Шоеласа), и периметр (как сумму евклидовых расстояний между соседними вершинами).
✍ Точная привязка к масштабу сетки позволяет избежать перерасхода материалов и ошибок в сметах — особенно для нестандартных фигур, где простое умножение сторон неприменимо.
Возможности калькулятора
Кратко: добавляйте и перетаскивайте вершины, управляйте масштабом «одна клетка = X единиц», выбирайте единицы (м, дм, см, мм, га), получайте мгновенные значения площади и периметра, экспортируйте результат в PNG/SVG с подписями сторон и углов. Мобильная поддержка и сенсорное управление позволяют работать в полевых условиях.
Как пользоваться программой
- Кликните по холсту, чтобы добавить вершину; точки можно перетаскивать мышью или касанием.
- Установите «масштаб одной клетки» — это длина одной клетки сетки в выбранных единицах (например, 1 м).
- Выберите единицу измерения в выпадающем меню. Для гектаров площадь дополнительно переводится в га.
- При трёх и более вершинах калькулятор автоматически показывает площадь и периметр.
- Для экспорта используйте кнопки PNG или SVG — на изображении сохраняются сетка, подписи сторон, углы и итоговые значения.
Алгоритмы вычислений
Площадь: формула Шоеласа
Пусть задан многоугольник с вершинами ( (x_0,y_0), (x_1,y_1), \dots, (x_{n-1},y_{n-1}) ) в порядке обхода. Тогда площадь в «пикселях квадрата» вычисляется как
$$
S_{px} ;=; \frac{1}{2}\left|\sum_{i=0}^{n-1} (x_i y_{i+1} — x_{i+1} y_i)\right|,
$$
$$
\text{где } x_n\equiv x_0,\ y_n\equiv y_0.
$$
Перевод в реальные единицы с учётом сетки:
$$
S_{\text{real}} ;=; \frac{S_{px}}{(\text{gridSizePx})^2}\cdot (\text{cellSize})^2 ,
$$
где gridSizePx — размер клетки в пикселях (в коде — 10 px по умолчанию), cellSize — значение «масштаба одной клетки» в выбранных единицах.
Периметр
Длина стороны между соседними вершинами (i) и (i+1):
$$
\ell_i^{px} = \sqrt{(x_{i+1}-x_i)^2 + (y_{i+1}-y_i)^2}.
$$
Перевод в реальные единицы:
$$
\ell_i^{\text{real}} = \frac{\ell_i^{px}}{\text{gridSizePx}}\cdot \text{cellSize},
$$
$$
P = \sum_{i=0}^{n-1} \ell_i^{\text{real}}.
$$
Углы
Для вершины (v_i) углы вычисляются по векторному отношению предыдущей и следующей вершин. Если
$$
\vec A = (x_{i-1}-x_i,; y_{i-1}-y_i),
$$
$$
\vec B = (x_{i+1}-x_i,; y_{i+1}-y_i),
$$
то угол в вершине
$$
\theta_i = atan2\big(\det(\vec A,\vec B),\, \vec A\cdot\vec B\big)
$$
в радианах, переводится в градусы \( \theta_i^\circ = \theta_i \cdot \frac{180}{\pi}\).
Перевод пикселей в реальные единицы (формулы ещё раз)
Длина стороны:
$$
L_{\text{real}} = \frac{L_{px}}{gridSizePx}\times cellSize.
$$
Площадь:
$$
S_{\text{real}} = \frac{S_{px}}{(gridSizePx)^2}\times cellSize^2.
$$
Таблица единиц длины и площади
Длина
| Единица | Обозначение | В метрах |
|---|---|---|
| Миллиметр | мм | 0.001 м |
| Сантиметр | см | 0.01 м |
| Дециметр | дм | 0.1 м |
| Метр | м | 1 м |
| Километр | км | 1000 м |
Площадь
| Единица | Обозначение | В квадратных метрах |
|---|---|---|
| Квадратный миллиметр | мм² | 1e-6 м² |
| Квадратный сантиметр | см² | 1e-4 м² |
| Квадратный дециметр | дм² | 0.01 м² |
| Квадратный метр | м² | 1 м² |
| Гектар | га | 10 000 м² |
Примеры расчётов
Пример A — прямоугольник.
Построен прямоугольник 12 клеток по ширине и 7 клеток по высоте; gridSizePx = 10 px; задан cellSize = 2 м (одна клетка = 2 м).
Периметр в клетках: \(2(12+7)=38\) cells. Периметр в метрах: \(P = 38 \times 2 = 76\ \text{м}\).
Площадь в клетках: \(12\times 7 = 84\) cells². Площадь в метрах: \(S = 84 \times 2^2 = 336\ \text{м}^2\).
Пример B — треугольник.
Вершины заданы в клетках: (A(4,4),; B(14,4),; C(9,12)). cellSize = 1 м.
Длины сторон в клетках:
\(\ell_{AB}=10\), \(\ell_{BC}=\sqrt{5^2+8^2}= \sqrt{89}\approx 9.43\), \(\ell_{CA}\approx 9.43\).
Периметр: \(P\approx 10+9.43+9.43=28.86\) м.
Площадь: вычисления дают \(S_{cells}=40 cells²\), значит \(S=40\ \text{м}^2\).

Практическое применение
Инструмент удобен для оценки материалов (ламинат, плитка, краска по площади), планирования ограждений и дорожек (периметр), инженерных и архитектурных задач, ландшафтного дизайна и образовательных задач по геометрии. А экспорт в SVG даёт векторный результат для последующей вёрстки или печати.







