Re: натягивающейся круг
А по-моему вот так проще:
Ищешь точку ВНУТРИ фигуры.
Создаешь поле скоростей, направленных от точки и убывающих с расстоянием. Плечи должны передавать смещения между соседними узлами. Сместился один - смещает соседей.
Когда получишь около-окружность, она сама, за счет жестких связей, должна выравниваться.
Вот только не знаю, что получится, если ты очень сильно промахнешься с центром поля скоростей.
Алгоритм:
Ищем Центр поля скоростей внутри фигуры. (лучше внутри, хоть это и не строго)
В цикле по времени: {
..Обнуляем все смещения.
..Для каждого узла: Вычисляем скорость, запоминаем смещение, изменяем смещение соседей.
..Для каждого узла: Смещаем на результируюущее смещение.
}
|