Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 25.06.2007, 01:51   #1
jimon
 
Сообщений: n/a
натягивающейся круг

помним мою задачку про джоинты
в общем теперь чисто теоретически ...
есть N обьектов, которые сойденены лимитирующими джоинтами в нитку
концы етой нитки сойденили тоже
получаем такую систему

как сделать чтобы все обьекты растягивались в стороны и в итоге получался круг ?

мну тут подумал, пощитать центр круга (среднее ариф. позиции всех обьектов)
и каждому обьекту давать ускорее направленое от центра круга в локальной системе обьект-центр круга

правильно ли я мыслю ? как быть со стабильностью в такой системе ?
на каком етапе нужно "глушить" ето ускорение ?
 
Ответить с цитированием
Старый 25.06.2007, 20:13   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: натягивающейся круг

ускорение ето прилагаемая сила? а надо ли его тогда вообще глушить?

лимитирующие джойнты ето типа нитки? или типа палки?
имхо так и надо делать, исакть центр, и прикладывать силу, вектор которой направлен из центра к елементу системы.
(Offline)
 
Ответить с цитированием
Старый 25.06.2007, 20:27   #3
jimon
 
Сообщений: n/a
Re: натягивающейся круг

палки
 
Ответить с цитированием
Старый 26.06.2007, 15:25   #4
Matt Merkulov
Модератор
 
Аватар для Matt Merkulov
 
Регистрация: 23.10.2005
Сообщений: 219
Написано 62 полезных сообщений
(для 247 пользователей)
Re: натягивающейся круг

Сделай, чтобы угол между смежными суставами стремился к 180 гр.
(Offline)
 
Ответить с цитированием
Старый 26.06.2007, 19:50   #5
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: натягивающейся круг

ну и прикладывай силу к каждому елементу направленную из центра окружности к елементу, а центр перерасчитывай каждый такт, вроде должно сработать.
(Offline)
 
Ответить с цитированием
Старый 18.07.2007, 13:27   #6
Serendipity
Знающий
 
Регистрация: 05.01.2007
Сообщений: 229
Написано 5 полезных сообщений
(для 3 пользователей)
Re: натягивающейся круг

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


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 17:03.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com