движение по синусоиде?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
xob
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 20.11.2005 (Вс) 17:39

движение по синусоиде?

Сообщение xob » 20.11.2005 (Вс) 17:55

собственно сабж , нужно что бы графический объект при загрузке формы двигался слева на право по синусоиде ( волновое движение).
p.s. вопрос простой конечно , но формулу такого движения я просто не знаю,не силен я в математеке..
p.s. поиск по форуму положительных результатов не принес.

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 20.11.2005 (Вс) 18:35

В цикле Х от 1 до конца формы
Y=sin(x) 'Мощная математика :wink:
'Ну и положение ставим на
.left=X
.top=(C-Y)

где с - константа. Ну вобщем на сколько отодвинуть от верха или он не top? Вобщем не помню как это свойство называется. Ну можно не в цикле, а по таймеру(если нужно "помедленнее"

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 20.11.2005 (Вс) 18:48

Эх, опять тороплюсь... Конечно стоит добавить еще коэффециэнтик на Y (а то один твип это мало, юзер не заметит)

Код: Выделить всё
left=X
top=С-sin(x/k)*k


Кстати а почему отредактировать мессагу я не смог, не знаю... Я честно пытался.

xob
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 20.11.2005 (Вс) 17:39

Сообщение xob » 21.11.2005 (Пн) 1:31

пасиба, правда получаеться очень быстро....если не сложно можно поделиться как сделать по таймеру....желатьльно полностью код ))
p.s. сорри за тупость вопроса, но чесно не когда не сталкивался с подобной проблемой, базы данных или интерфейсные решения это да , но это ....брррр.
p.p.s кстати модераторам форума, тут не приятный глюк с созданием темы и поиском, поиск просто виснет и не кчему не приводит..а создание темы висит и потом только через профиль учетной записи...

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 21.11.2005 (Пн) 6:25

На событие таймера:
Код: Выделить всё
X=X+1
left=X
top=С-sin(x/k)*k

Ну и интервал если в твипах работать у таймера подобрать нужно.
Интервал 5-15мс
k около 100 (если в твипах)

PS X не забудь обьявить, а то сбрасывать будет, и не будет никакого движения.

Zer
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 460
Зарегистрирован: 26.09.2003 (Пт) 13:08
Откуда: Нижний Новгород

Сообщение Zer » 06.12.2005 (Вт) 11:18

Код: Выделить всё
Do While Object.status="Трезвый"
   Drink
Loop
Go from left to right
Microsoft DirectX - Маломягкий Прямой Х...
Не откладывай на завтра то, что можно выпить сегодня...

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 06.12.2005 (Вт) 11:21

Zer писал(а):
Код: Выделить всё
Do While Object.status="Трезвый"
   Drink
Loop
Go from left to right

Генитально
Если всё делать своими ручками, они скоро отвалятся !

beat_swamp
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 107
Зарегистрирован: 05.10.2005 (Ср) 16:16

Сообщение beat_swamp » 06.12.2005 (Вт) 11:33

Zer писал(а):
Код: Выделить всё
Do While Object.status="Трезвый"
   Drink
Loop
Go from left to right


ааа1 спасибо порадовал1 ;)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 183

    TopList