|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.04.2013, 18:54 | #1 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Проблема с математикой. (Осторожно! Возможно матан!)
Пожалуйста, прочтите, может эта задачка для вас проще простого...
Не знаю как реализовать расчет value, в зависимости от (iter, iterAll, valueStart, valueStop, time) в теле процедуры таймера, чтоб было относительно плавное движение. Делаю vcl-аналог анимации из firemonkey, для, собственно, vcl-проекта. Вообщем надо чтоб value формировался соответственно графику: К параметру Y объекта X каждую итерацию прибавляется value, за счет чего происходит движение, а при последней итерации параметр Y просто приравнивается к valueStop. Со средним значением value это работает, но движение начинается резко, резко и заканчивается. Вообщем: time - время на выполнение анимации (допустим 1000, секунда). timer.interval всегда равен 50, так как гугление дает понять, что стандартный таймер не способен стабильно выдавать интервал менее 40, 10 прозапас. iterAll=time/50 (1000/50=20). path=valueStop-valueStart (100=250-150, к примеру, среднее значение здесь бы получилось 5=100/20). Собственно, самая важная часть: Код:
Медленный старт, уверенная скорость посередине и торможение.
alextrof94$gmail.com
Последний раз редактировалось alextrof94; 13.04.2013 в 19:16. |
13.04.2013, 21:34 | #2 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Еще инфы нарыл:
Код:
UPD: valuestop-valuestart==value(0)+value(1)+value (2)+...+value(iterall); valuemax==value(iterall/2); может поможет
alextrof94$gmail.com
Последний раз редактировалось alextrof94; 13.04.2013 в 22:43. |
13.04.2013, 22:12 | #3 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
|
|
13.04.2013, 22:41 | #4 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
ты юморист.
alextrof94$gmail.com
|
13.04.2013, 23:49 | #5 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
ПО хорошему - нужно записывать дифференциальное уравнение движения.
Это если подходить серьезно к физической достоверности движения. Но можно и схимичить, например, как в Вашем примере - с использованием тригонометрических функций. Мне кажется, Вам нужно определиться, который из путей Вам ближе, после чего сообщить о своем выборе и указать, что именно Вам непонятно. Потому как по двум последним сообщениям - каков вопрос, таков и ответ. |
14.04.2013, 00:21 | #6 | |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Цитата:
alextrof94$gmail.com
|
|
14.04.2013, 00:24 | #7 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Вот собственно весь код unita с типом "анимация", нужен код где откоменчено.
Код:
alextrof94$gmail.com
|
14.04.2013, 00:45 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
По идее, valuemax = (valuestop-valuestart) * 2 * pi / ((2 + pi) * iterall).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
14.04.2013, 00:53 | #9 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Замечены изменения в нужную сторону в частности разгона и торможения, но они происходят 2жды, т.е. на старте, по середине, в конце.
alextrof94$gmail.com
Последний раз редактировалось alextrof94; 14.04.2013 в 01:02. |
14.04.2013, 01:01 | #10 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
alextrof94, если рассматривать верхний график, как график ускорения, то все работает по графику
UPD А может и нет... Не должно тормозить в центре. Скорость в центре должна быть максимальной.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Осторожно кидала. | mr_kolobokov | Свободное общение | 8 | 30.03.2012 09:09 |
Проблема с математикой. | EliteSly | Помощь студентам | 7 | 06.03.2012 23:16 |
Осторожно Webmoney.Вопрос знатокам! | DeleteRz | Софт | 1 | 16.02.2010 18:13 |
Помогите с математикой | Chals | Помощь студентам | 3 | 13.06.2007 16:07 |