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

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

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

Ответить
koshka-kapratoshka
незнакомец
Сообщения: 2
Зарегистрирован: 03.05.2012 15:29:00

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

Сообщение koshka-kapratoshka »

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

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

Сообщение GrayEddy »

Сезон открылся снова. Идет охота на студентов... :wink:
Padre_Mortius
энтузиаст
Сообщения: 1261
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

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

Сначала нарисовать точку нужным цветом, после вычисления новой точки закрашиваем старую точку цветом фона и рисуем новую точку нужным цветом. Все это делаем по нужной траектории.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

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

п.с. Это сугубо моё желание 8)
koshka-kapratoshka
незнакомец
Сообщения: 2
Зарегистрирован: 03.05.2012 15:29:00

Сообщение koshka-kapratoshka »

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, и далее имиджу присваивается Х.
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Код: Выделить всё

Image1.Left:=(Width + trunc(x)) mod Width;
Ответить