Помогите новичку с моделированием

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Помогите новичку с моделированием

Сообщение koshka-kapratoshka » 03.05.2012 15:39:21

Вопрос по программированию в среде Лазарус.

имеется мной написанное небольшое приложение "моделирование равноускоренного движения".
в нем с клавиатуры вводится значения начальной скорости и ускорения(начальное положения всегда=0), по уравнению равноуско. движен.(x = x0 + at^/2 +u0 *t) двигается точка. Этой точке в каждый момент времени(по таймеру) присваивается координатка Х, точка у меня как бы проезжает по форме и убегает за ее пределы!))
Как запрограммировать эту точку так, чтобы она проезжала форму и возвращалась к положению ноль, и продолжала двигаться дальше?
Вот надеюсь, понятно рассказала...
koshka-kapratoshka
незнакомец
 
Сообщения: 2
Зарегистрирован: 03.05.2012 15:29:00

Re: Помогите новичку с моделированием

Сообщение GrayEddy » 03.05.2012 17:02:12

Сезон открылся снова. Идет охота на студентов... :wink:
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Re: Помогите новичку с моделированием

Сообщение Padre_Mortius » 03.05.2012 20:54:17

Как запрограммировать эту точку так, чтобы она проезжала форму и возвращалась к положению ноль, и продолжала двигаться дальше?

Сначала нарисовать точку нужным цветом, после вычисления новой точки закрашиваем старую точку цветом фона и рисуем новую точку нужным цветом. Все это делаем по нужной траектории.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Помогите новичку с моделированием

Сообщение Mr.Smart » 03.05.2012 21:56:33

Я бы хотел увидеть код написанный уважаемой koshka-kapratoshka, а после уже можно размышлять...

п.с. Это сугубо моё желание 8)
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Помогите новичку с моделированием

Сообщение koshka-kapratoshka » 04.05.2012 07:08:32

procedure TForm1.Button1Click(Sender: TObject);
begin

t:=0;
x:=0;
a:=strtofloat(Edit2.text);
u:=strtofloat(Edit1.text);
Timer1.Enabled:=true;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
t:=t+1;
x:=(a*t*t/2+u*t);
Image1.Left:=trunc(x);
end;
__________
часть кода где я считываю значения при нажатии на батон1, и далее имиджу присваивается Х.
koshka-kapratoshka
незнакомец
 
Сообщения: 2
Зарегистрирован: 03.05.2012 15:29:00

Re: Помогите новичку с моделированием

Сообщение v-t-l » 04.05.2012 10:49:18

Код: Выделить всё
Image1.Left:=(Width + trunc(x)) mod Width;
v-t-l
энтузиаст
 
Сообщения: 733
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus


Вернуться в Обучение Free Pascal

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru