Калькулятор периметра и площади многоугольников

Создавайте и перетаскивайте точки

Точный расчёт площади и периметра — базовая задача при планировании, строительстве, проектировании и многих практических работах. Независимо от того, готовите ли вы строительную смету, определяете количество материалов или проверяете размеры участка, инструмент, позволяющий быстро и надёжно получать площадь и периметр сложных фигур, экономит время и уменьшает число ошибок. Этот онлайн-калькулятор служит именно для таких задач: интерактивно строит многоугольник, показывает длины сторон, углы в вершинах, вычисляет площадь и периметр в выбранных единицах и поддерживает масштабирование сетки для точного соответствия реальным размерам.

Что такое площадь и периметр

Площадь показывает, сколько двумерной площади занимает фигура. Периметр — это суммарная длина контура. Для прямоугольных объектов достаточно умножения длины на ширину, но при произвольных многоугольниках требуется более универсальный подход: по набору координат вершин можно вычислить и площадь (формулой Гаусса / Шоеласа), и периметр (как сумму евклидовых расстояний между соседними вершинами).

✍ Точная привязка к масштабу сетки позволяет избежать перерасхода материалов и ошибок в сметах — особенно для нестандартных фигур, где простое умножение сторон неприменимо.

Возможности калькулятора

Кратко: добавляйте и перетаскивайте вершины, управляйте масштабом «одна клетка = X единиц», выбирайте единицы (м, дм, см, мм, га), получайте мгновенные значения площади и периметра, экспортируйте результат в PNG/SVG с подписями сторон и углов. Мобильная поддержка и сенсорное управление позволяют работать в полевых условиях.

Как пользоваться программой

  1. Кликните по холсту, чтобы добавить вершину; точки можно перетаскивать мышью или касанием.
  2. Установите «масштаб одной клетки» — это длина одной клетки сетки в выбранных единицах (например, 1 м).
  3. Выберите единицу измерения в выпадающем меню. Для гектаров площадь дополнительно переводится в га.
  4. При трёх и более вершинах калькулятор автоматически показывает площадь и периметр.
  5. Для экспорта используйте кнопки 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 даёт векторный результат для последующей вёрстки или печати.

Оцените материал:

5 / 5. Рейтинг: 4

Может подскажете что улучшить?