Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Исходники и статьи
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.05.2010, 16:21
peaceowner peaceowner вне форума
Прохожий
 
Регистрация: 29.05.2010
Сообщения: 4
Репутация: 10
Вопрос моделирование машины Атвуда

Здравствуйте, может у кого имеются исходники программы на Делфи, реализующей систему машины Атвуда (2 груза подвешаны на нити, перекинутой через блок) ? Буду очень признателен. Нашел только экзешник, скомпиленный на С++. Кому надо, могу поделиться)
Ответить с цитированием
  #2  
Старый 29.05.2010, 16:58
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Исходника я не нашел, а вот подробное описание с формулами вот:
http://learning.itsoft.ru:8000/codin...ab02/main.html
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 30.05.2010, 10:42
peaceowner peaceowner вне форума
Прохожий
 
Регистрация: 29.05.2010
Сообщения: 4
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Исходника я не нашел, а вот подробное описание с формулами вот:
http://learning.itsoft.ru:8000/codin...ab02/main.html

Спасибо за формулы, но меня больше интересует как реализовать правильную работу таймера. Движение то равнопеременное, с постоянным ускорением. То есть интервал таймера должен постоянно меняться, чтобы грузы опускались с ускорением. И вот тут я как раз и не знаю как это реализовать. Может кто-нибудь подскажет?)
Ответить с цитированием
  #4  
Старый 30.05.2010, 11:24
Аватар для T-dayne
T-dayne T-dayne вне форума
Начинающий
 
Регистрация: 26.01.2010
Сообщения: 180
Репутация: 31
По умолчанию

свойство interval ?
Ответить с цитированием
  #5  
Старый 30.05.2010, 12:13
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Не может таймер меняться. У вас изменятся может расстояние пройденное грузом за 1 сек.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 30.05.2010, 12:21
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Цитата:
Не может таймер меняться. У вас изменятся может расстояние пройденное грузом за 1 сек.
Все верно, таймер менятся и не должен по всем законам физики...
Ускорение - есть приращение (положительное или отрицательное) скорости...
Т.е. в каждий конкретный момент времени скорость 'V'
Цитата:
V := V + a;//Скорость
S := V * t;//Расстояние
Где 'а' приращение скорости, при движении с постоянным ускорением 'а' не меняется с течением времени...
'S' расстояние пройденое за конкреный промежуток времени...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...

Последний раз редактировалось NIch, 30.05.2010 в 12:24.
Ответить с цитированием
  #7  
Старый 30.05.2010, 12:43
peaceowner peaceowner вне форума
Прохожий
 
Регистрация: 29.05.2010
Сообщения: 4
Репутация: 10
По умолчанию

Ну это понятно что расстояние пройденное грузом за 1 секунду с каждой секундой будет увеличиваться. К примеру интервал таймера = 1 секунда. Тоесть грузы у меня будут двигаться раз в секунду, но проходя все большее расстояние. Хотя, если интервал выбрать поменьше, то должно смотреться более естественно. Чота я уже запутался совсем) Тогда я так понял время t в программе надо писать таким же как и интервал таймера. Тоесть интервал=100, значит t=0.1 секунда. Так штоли?)
Ответить с цитированием
  #8  
Старый 30.05.2010, 20:17
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Ну почти так...По моему так
Код:
const
 a = 10;//Приращение к перемещению (ускорение)

type
 TPoint = record//Тип точка
  x: word;//Координаты точки
  y: word;
 end;

var
 s: word;//Перемещение в единицу времени
...
OnCreate;
begin
 s := 0;//инициализируем переменную
end;
...
OnTimer;
var
 Point: TPoint;//Переменнаяточка
begin
 Point.x := 100;//Координата X не изменяется
 s := s  + a;//Перемещение в единицу времени
 Point.y := Point.y + s;//Координата увеличивается на перемещение
 ...
 //Дальше расчитав координаты точки в каждый момент времени
 //рисуй че хочешь
 ...
end;
Код писал "на коленке", но принцип таков...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #9  
Старый 30.05.2010, 21:19
peaceowner peaceowner вне форума
Прохожий
 
Регистрация: 29.05.2010
Сообщения: 4
Репутация: 10
По умолчанию

Дак вот именно что при расчете по формулам ускорение и перемещение будут в метрах(сантиметрах, милиметрах). А мне нужно чтобы переместилось на n-ое количество пикселей. Я так понимаю раз это моделирование, значит все должно быть достоверно) Или я что-то не так понимаю?)
Ответить с цитированием
  #10  
Старый 31.05.2010, 13:13
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

А какая собственно разница милиметры или пиксели?
По моему в формуле нет единиц измерения...Ну или если так хочется, то масштабируй себе на здоровье...Например 10 пикселей на мм...
Пиксели понятие растяжимое ибо это точка на экране, и при разрешении 800х600 расстояние не то же что при 1024х768...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:55.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter