Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2009, 18:25   #1
WOOLF
 
Регистрация: 13.05.2009
Сообщений: 3
Сообщение Математический маятник(физика)

Если неошибся форумом то памагите Умы Делфи,подскажите чего не так в программе,пачему маятник не двигается?если можна то выложите правильность кода..
сюда не смог выложить ошибку впаривало) поэтому вотссылка на скачку программы 1.6mb

http://ifolder.ru/12095418
WOOLF вне форума Ответить с цитированием
Старый 15.05.2009, 14:18   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Как ни странно, на самом деле всё выводится.....
Просто сдвиг столь мал, что его невозможно увидеть на экране...

Обратите внимание, что значения "F1(f)" и "F2(f)" всегда меньше нуля - маятник качается, но его отклонение меньше одного пикселя и кажется что он неподвижен...

Нужно ввести что-то вроде масштабирования... Например так:
Код:
Procedure TForm1.MoveImage(x, y: Real);
Begin
    With Image.Canvas Do
    Begin

    ...

    MoveTo(Image.Width-250, Image.Height-300);
    LineTo(Round(Image.Width-250+StrToInt(Edit5.Text)*x{/(Vo/(sqrt(g/l)))*220}), Round(Image.Height-80-StrToInt(Edit5.Text)*y));
    Pen.Color:=clRed;
    Brush.Color:=clRed;
    Ellipse(Round(Image.Width-256+StrToInt(Edit5.Text)*x), Round(Image.Height-86-StrToInt(Edit5.Text)*y), Round(Image.Width-244+StrToInt(Edit5.Text)*x), Round(Image.Height-74-StrToInt(Edit5.Text)*y));
    Pen.Width:=1;

    ...

    End;
End;
Ещё бы посоветовал добавить "FormClose":
Код:
Procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
Begin
t:=0;
End;


UpDate

Так как числа слишком мелкие, лучше будет использовать StrToFloat()... *
I am the First of Cyber Evolution...
I am the First to Program your Future...

Последний раз редактировалось DomiNick; 15.05.2009 в 14:38. Причина: UpDate
DomiNick вне форума Ответить с цитированием
Старый 18.05.2009, 00:17   #3
WOOLF
 
Регистрация: 13.05.2009
Сообщений: 3
По умолчанию

Спасибо,ща буду проверять,а ты запускал все норм летает?
и еще откуда тут взялось Edit5???
WOOLF вне форума Ответить с цитированием
Старый 18.05.2009, 11:18   #4
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Я же говорю - надо коэффициент сделать - для того чтоб его менять можно было Edit5 добавил...
Формула, кстати, какая-то странная, цифры микроскопические получаются...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 22.05.2009, 21:51   #5
WOOLF
 
Регистрация: 13.05.2009
Сообщений: 3
По умолчанию

Спасиб за инфу
WOOLF вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Математический вопрос из проги на C# Eretic Помощь студентам 6 20.08.2008 15:18
Физика программы. Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 09.05.2008 18:14
Математический софт! Mr.User Софт 4 08.12.2007 06:51
Маятник SuperEgo Помощь студентам 3 15.06.2007 10:03