Создать полигон с заданной площадью

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
crashkkm
Активный участник
Сообщения: 139
Зарегистрирован: 17 окт 2016, 16:37
Репутация: 14

Создать полигон с заданной площадью

Сообщение crashkkm » 15 ноя 2018, 12:37

Каким образом создать полигон с заданной площадью, при этом некоторые из его граней должны быть зафиксированы?
Например имеется такая голубая граница, в нее надо вписать полигон на ровно 50,53 кв.м.
Спойлер
Изображение

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Создать полигон с заданной площадью

Сообщение gamm » 15 ноя 2018, 14:13

crashkkm писал(а):
15 ноя 2018, 12:37
Например имеется такая голубая граница, в нее надо вписать полигон на ровно 50,53 кв.м.
0) рисуете полигон по точкам границы, если его площадь менее требуемой, то задача не решается.

План А:
1) делаете на детальной сетке дистанционное преобразование от границы (считаете расстояние), и направление градиента (не D8, а реального) в точках границы.
2) Двигаете точки по градиенту, считаете расстояние. По трем расстояниям сдвига, решив квадратное уравнение, вычисляете на сколько нужно сдвинуть все точки.

План В:
1) делаете на детальной сетке дистанционное преобразование от границы (считаете расстояние).
2) Проводите изолинии по расстоянию, получаете полигоны и считаете площади. По трем значениям расстояний решаете квадратное уравнение, и получаете расстояние, на котором нужно провести изолинию.
3) Повторяете (2), пока не получите требуемую точность. Если не сойдется (начнет колебаться), используете (2) из плана А.

P.S. Можно ограничиться двумя точками, получится метод Ньютона-Рафсона (метод касательных), по 3 точкам сходится быстрее, но считать сложнее.

bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Создать полигон с заданной площадью

Сообщение bim2010 » 15 ноя 2018, 16:05

Где два программиста, там три мнения. Что это значит?
Мнение первое, второе и правильное...
"метод подгонки"

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Создать полигон с заданной площадью

Сообщение gamm » 15 ноя 2018, 17:03

bim2010 писал(а):
15 ноя 2018, 16:05
"метод подгонки"
так он, родимый, и описан - в векторном и растровом вариантах :-) Второй более стабилен, если начальные невязки большие.

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей