Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Demo,Intro _ Физическая модель растяжимой веревки

Автор: Бравый генерал 7.04.2006 23:52

Программа не работает в Windows2000, наверно из-за используемого модуля VESA.
Веревка состоит из некоторого количества узлов. Узлы можно фиксировать (и снимать фиксацию) правой кнопкой мыши. ЛЮБОЙ узел можно перетаскивать мышей, удерживая левую ее кнопку. ЛЮБОЙ узел можно зафиксировать.
'q' - сбросить все фиксации
'ESC' - выход
ЕХЕ-шник использует конфиг, который хранится в файле "config.txt". Формат конфига:
1-я строка: длина веревки в пикселях
2-я строка: кол-во узлов
3-я строка: радиус узлов
4-я строка: масса одного узла
5-я строка: коэффициент упругости веревки
6-я строка: коэффициент сопротивления воздуха
7-я строка: сила тяжести
8-я строка: кол-во зафиксированных узлов (K)
Дальше идет K строк, в каждой из которых записаны через пробел три числа: номер зафиксированного узла, его координата по оси Х, его координата по оси Y.
Для примера я составил три конфига, хранящиеся в архиве в файлах "1.txt", "2.txt", "3.txt". Для использования скопируйте содержимое какого-либо из файлов в файл конфига - "config.txt". Примите во внимание, что в самом начале координаты будут задаватся только фиксированным узлам! Остальные узлы будут с координатами "ноль". Так что не пугайтесь, пока веревка будет некоторое время приходит в состояние покоя. =)
Физика довольно реалистична, не бойтесь поэкспериментировать =) Например, закрепите концы веревки, растянув ее в горизонтальном положении, и дерните за второй слева узел - вы увидите как по веревке до правого конца пройдет волна и, отразившись, вернется обратно. Или, например, опять же закрепите концы веревки, но чтобы она не растянулась, а образовала дугу, и когда она придет в покой отпустите один из концов. =) Или загрузите конфиг "3.txt" и нажмите 'q'. smile.gif Вобщем наслаждайтесь!


Прикрепленные файлы
Прикрепленный файл  Rope.rar ( 29.61 килобайт ) Кол-во скачиваний: 579

Автор: volvo 7.04.2006 23:55

http://forum.pascal.net.ru/rules.html (Пункт 10)

Твое решение?

Автор: Бравый генерал 8.04.2006 0:50

Не понял?

Ааа.... Код. Он просто грязный, я для личного пользования писал. Вот.


Прикрепленные файлы
Прикрепленный файл  VEREVKA.PAS ( 3.59 килобайт ) Кол-во скачиваний: 1052
Прикрепленный файл  MOUSE.PAS ( 2.73 килобайт ) Кол-во скачиваний: 486