PDA

Просмотр полной версии : Лифт - индикатор этажей.


[Bio[M]ecH]
19.03.2003, 23:50
Народ, столкунлся с проблемой такой :

есть табло, где собственно и должно всё рописходить. Т.е. человек заходит в лифт(на первом этаже есессно ( 001 - на идикаторе)). Есть 5 кнопок, при нажатии на которую должно происходить следующее :

кнопка 1ая - 100й этаж
кнопка 2ая - 200й этаж
кнопка 3тья - 300й этаж
кнопка 4ая - 400этаж
и 5ая кнопка- 500ый этаж.

Мы аходимся но 001 этаже. Жмём кнопку "3" и едем на 3ый этаж, причём так, что поначало (как и в жизни) лифту требуется разгон, т.е 1 ............ 2 ........ 3 ......4....5...6..7.8.9.12.16.32.. и так же замедляться перед нужной цифрой.

Как такео сотворить? Кто-нибудь может помочь?

[Bio[M]ecH]
20.03.2003, 02:35
воощем. Начало кода написано. А вот как сделать так чтобы лифт медленно притормаживал перед остановкой?

То что есть :


if (i < 12) {
i += i * 0.02;
} else if (i >= 12 && i < 25) {
i += i * 0.025;
} else if (i >= 25 && i <= 50) {
i += i * 0.026;
} else if (i >= 50 && i <=100) {
???? "что влепить сюда" ?
}

Techmaker
29.03.2003, 19:37
может порще
if(этаж< следующег(300)){ускорение+=числу}else{скорение=0}
этаж+=ускорение
вот и всё :)

Techmaker
29.03.2003, 19:41
торможение:
if(etage<next_etage-20){a+=0.66}else if(etage<next_etage){a-=0.66*4}else{a=0}
etage+=a
хе-хе :) :p

[Bio[M]ecH]
29.03.2003, 20:59
хмм...попробую..но чё-т мне кажецца что нето...поглядим

Techmaker
01.04.2003, 18:26
Я тебе исходу сделаю ... жди ... ;)

Techmaker
01.04.2003, 20:36
ГУ : ГЫ : ЗЫ
Хех... :D
оказалось не так-то это просто... :p
я в тупике ... что только не пробовал ....
вот на два варианта - неработающие глюки идейной жизни...
может чего изменишь и получится... :p
удачи...

[Bio[M]ecH]
01.04.2003, 23:15
спасибо. Попытаюсь..

и то что задачка н е проста - я понял уже давно =)...

блин, приятно когда люди такие бывают.! Спасибо!

louder
03.04.2003, 04:07
А что если сам индикатор (его показания) привязать к скрытому мувику, который двигается формулой (sin,cos) // (к его координатам).. или просто использовать тригонометрические ф-ции .. или логарифмы.

сорри, если глупость написал , но я как-то давно делал подобную штуку.. правда не с лифтом :))

[Bio[M]ecH]
03.04.2003, 09:13
Из математики мне казалось что тут геометрическая прогрессия в прогресиии.

Но никак не предпологал что логорифмы. А можно по подробнее, как ими пользоваться?

louder
03.04.2003, 15:12
не, про логарифмы я наврал =)

Вот:
Довольно просто, но явно видно ускорение и замедление.

Techmaker
04.04.2003, 19:46
Здоровенько!
Четыре дня назад я решил - я закончу ето дело до конца! :)
жалко конечно что у меня 6'го (MX'а) нет так что не смогу посмотреть :(

( Вот наконец то я сделал 100% работающий, как надо исходник (если не считать 2 проблемы возникшие в результате написания кода)

1)Лифт едет не в ту сторону
2)Лифт в другую сторону вообще не едет!

это - скорей всего из-за моих ошибок ... их только исправить надо ... если вы их не исправите - то конечно я их исправлю ... и отошлю работающий исходник...
... удачи! ...

а теперь о коде: - я сделал простую версию... в которой ускорение протикает до половины всего отрезка пути лифта и торможение соответственно всё остальное время...
ускорение происходит всё медленнее и медленнее а торможение всё быстрее и быстрее...
т.е. скорость 1.2..3...4....5....6.....7......8.......9... ... ... ... и далее ..., а потом торможение...
всё это отражается на движении балки...
код и условие ускореня/торможения можно легко поменять...
сли нажать кнопку "stop" то торможение происходит примерно в 4 раза быстрей...

всё вроде должно работать ..., но я где-то ошибся...
если разберётесь первее меня - прошу разместить исходник в этом вопросе... :rolleyes: