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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2009, 20:00   #1
lBlackCatl
Новичок
Джуниор
 
Регистрация: 28.05.2009
Сообщений: 5
По умолчанию Программа по графике на Delphi

Вообщем задача такова "Программа должна изображать на экране колеблющийся согласно законам физики маятник.Начальное отклонение маятника должно обеспечиваться стрелками ->, <-. Запуск маятника клавишей <пробел>. Будте добры обьясните что и как надо делать в этой программе. Брал исходник но я не знаю что надо на форме ставить, я только начинаю а эту тему мне не объясняли. Не могли бы вы написать текст программы и хотябы как нибудь меня ввести в курс графики на Делфи.
ЗЫ Особый интерес представляет, то как сделать отклонение маятника с помощью стрелок и запустить его пробелом.
Заранее благодарен.
lBlackCatl вне форума Ответить с цитированием
Старый 29.05.2009, 10:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Задачка интересная. Но с матекой у мя туговато, хотя механизм могу предложить следующий:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var      x,y,alpha:double;napr:integer;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin                 Timer1.Interval:=100;
Timer1.Enabled:=true; napr:=1;
end;

procedure TForm1.FormPaint(Sender: TObject);
const dl=500;
begin
 with canvas do begin
  MoveTo(round(x),round(y));
  LineTo(napr*round(x+dl*cos(alpha)),round(y+dl*sin(alpha)));
 end;
 if abs(alpha-pi)<0.1 then napr:=-1 else
  if abs(alpha+pi)<0.1 then napr:=1;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
x:=Width div 2; y:=10;
 alpha:=alpha+0.1;
Repaint;
end;

end.
Кликай на кнопку увидишь некое подобие качания. Терь к этому привернуть формулы и норм.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.05.2009, 11:21   #3
lBlackCatl
Новичок
Джуниор
 
Регистрация: 28.05.2009
Сообщений: 5
По умолчанию

Мммм...Спасибо, а куда вставлять формулы? и как задать первоначальное положение с помощью стрелок а запуск с помощью пробела?
lBlackCatl вне форума Ответить с цитированием
Старый 29.05.2009, 11:24   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А теперь наберите в строке поиска по форуму слово "маятник" и получите кучу готовых примеров.
Или это слишком сложно?
mihali4 вне форума Ответить с цитированием
Старый 29.05.2009, 11:33   #5
lBlackCatl
Новичок
Джуниор
 
Регистрация: 28.05.2009
Сообщений: 5
По умолчанию

Смотрел, к сожалению не нашел, даже примерно похожее на мое. Вот и спрашиваю вас.
lBlackCatl вне форума Ответить с цитированием
Старый 29.05.2009, 12:16   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Спасибо, а куда вставлять формулы?
А вот там где Cos и Sin вычисляется.
Вот там и нжно шаманить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.05.2009, 14:49   #7
lBlackCatl
Новичок
Джуниор
 
Регистрация: 28.05.2009
Сообщений: 5
По умолчанию

Ну что ребят, не думаю что это сложная задачка для тех кто хорошо разбирается в программировании, как сделать начальное отклонение с помощью стрелок и запустить прогу с помощью пробела?
lBlackCatl вне форума Ответить с цитированием
Старый 29.05.2009, 15:00   #8
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Цитата:
как сделать начальное отклонение с помощью стрелок и запустить прогу с помощью пробела?
Например, так...
Вложения
Тип файла: rar majatnik.rar (166.7 Кб, 86 просмотров)
_Dmitry вне форума Ответить с цитированием
Старый 29.05.2009, 15:05   #9
lBlackCatl
Новичок
Джуниор
 
Регистрация: 28.05.2009
Сообщений: 5
По умолчанию

Жараааа!!! Спасибо огромное!! ты крут)))) а можеш сказать на словах как эти отклонения делать? все таки за помощь огромное спасибо) но и учится самому надо!)
lBlackCatl вне форума Ответить с цитированием
Старый 29.05.2009, 15:11   #10
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Читаешь теорию: http://ru.wikipedia.org/wiki/Математический_маятник
Смещение по горизонтали - это амплитуда колебаний.
_Dmitry вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение в графике Сб и Вс. Oleg21 Microsoft Office Excel 4 30.03.2009 04:41
Программа-тест в Delphi) скиньте))а то програмку здавать преподу надо,и самой хочется понять Delphi Верчик Помощь студентам 9 02.03.2009 17:46
Вопрос по Графике. BlackvsEvgen Помощь студентам 13 21.01.2009 16:22
Задачки по графике LaDy MaRMeLaD Паскаль, Turbo Pascal, PascalABC.NET 4 12.01.2008 16:14