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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2009, 13:10   #1
R_A_M_I_L7777777
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию Графика в Делфи

Помогите пожалуйста!

Нужно вобщем сделать вот что: Движение полукруга по полукругу. Очень буду блогадарен!!!
R_A_M_I_L7777777 вне форума Ответить с цитированием
Старый 24.03.2009, 13:14   #2
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

А сам что-то уже написал? наброски? идеи?
От знаний ещё никто не умирал, но рисковать не стоит.
XuTpbIu вне форума Ответить с цитированием
Старый 24.03.2009, 13:16   #3
R_A_M_I_L7777777
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию

Цитата:
Сообщение от XuTpbIu Посмотреть сообщение
А сам что-то уже написал? наброски? идеи?
Набросков нет. Не совсем в этом понимаю конечно, надеюсь на вашу помощь.
Правда есть один проект похожий http://www.rapidshare.ru/977931

Последний раз редактировалось R_A_M_I_L7777777; 24.03.2009 в 13:21.
R_A_M_I_L7777777 вне форума Ответить с цитированием
Старый 24.03.2009, 13:19   #4
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

Обхясняю тогда идею. Ставишь Пэйнтбокс.
1) Рисуешь круг в начальной точке
2) Вычисляешь координаты круга в следующей точке(полярные координаты + функция полукруга)
3) стираешь старый круг(можешь рисовать на его месте белый)
4) Рисуешь круг в новой точке
5) переход в п 2
Удачи.
пункты 2 и 3 можешь поменять местами
От знаний ещё никто не умирал, но рисковать не стоит.
XuTpbIu вне форума Ответить с цитированием
Старый 24.03.2009, 13:42   #5
R_A_M_I_L7777777
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию

Цитата:
Сообщение от XuTpbIu Посмотреть сообщение
Обхясняю тогда идею. Ставишь Пэйнтбокс.
1) Рисуешь круг в начальной точке
2) Вычисляешь координаты круга в следующей точке(полярные координаты + функция полукруга)
3) стираешь старый круг(можешь рисовать на его месте белый)
4) Рисуешь круг в новой точке
5) переход в п 2
Удачи.
пункты 2 и 3 можешь поменять местами
А вот саму программу сделать не сможете? А то я и так не понял. Не смогу вобщем сделать это сам. Буду примного блогадарен!
R_A_M_I_L7777777 вне форума Ответить с цитированием
Старый 24.03.2009, 15:58   #6
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
Движение полукруга по полукругу
Почему именно по полукруга по полукругу..?

Можно просто создать TImage с картинкой и двигать его по окружности...

Код:
Var Form1: TForm1; oX, oY, ang, radius: Integer;

Procedure TForm1.FormCreate(Sender: TObject);
Begin
Form1.DoubleBuffered:=True;
oX:=Round(Form1.ClientWidth/2);
oY:=Round(Form1.ClientHeight/2);
ang:=0;
radius:=100;
End;

Procedure TForm1.Timer1Timer(Sender: TObject);
Begin
Image1.Left:=Round(oX+radius*Cos(ang/180*Pi)-Image1.Width/2);
Image1.Top:=Round(oY+radius*Sin(ang/180*Pi)-Image1.Height/2);
ang:=ang+1;
End;
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 25.03.2009, 12:53   #7
R_A_M_I_L7777777
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию

Цитата:
Сообщение от DomiNick Посмотреть сообщение
Почему именно по полукруга по полукругу..?

Можно просто создать TImage с картинкой и двигать его по окружности...

Код:
Var Form1: TForm1; oX, oY, ang, radius: Integer;

Procedure TForm1.FormCreate(Sender: TObject);
Begin
Form1.DoubleBuffered:=True;
oX:=Round(Form1.ClientWidth/2);
oY:=Round(Form1.ClientHeight/2);
ang:=0;
radius:=100;
End;

Procedure TForm1.Timer1Timer(Sender: TObject);
Begin
Image1.Left:=Round(oX+radius*Cos(ang/180*Pi)-Image1.Width/2);
Image1.Top:=Round(oY+radius*Sin(ang/180*Pi)-Image1.Height/2);
ang:=ang+1;
End;
Интересно))) А как чкорость увеличить?
R_A_M_I_L7777777 вне форума Ответить с цитированием
Старый 25.03.2009, 13:00   #8
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

в строчке
ang:=ang+1;
вместо 1 напиши 2,3,4,5, <сколько душе угодно>
От знаний ещё никто не умирал, но рисковать не стоит.
XuTpbIu вне форума Ответить с цитированием
Старый 25.03.2009, 13:13   #9
R_A_M_I_L7777777
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию

Спасибо!!!!!!!
R_A_M_I_L7777777 вне форума Ответить с цитированием
Старый 25.03.2009, 21:29   #10
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
полукруга по полукругу
Код:
Var Form1: TForm1; oX, oY, ang, rr, radius: Integer;

Procedure ReFreshSize;
Begin
oX:=Round(Form1.ClientWidth/2);
oY:=Round(Form1.ClientHeight/2);
End;

Procedure TForm1.FormCreate(Sender: TObject);
Begin
Form1.DoubleBuffered:=True;
radius:=100;
rr:=radius;
ang:=0;
ReFreshSize;
Image1.Canvas.Ellipse(0,0,Image1.Width,Image1.Height);
Image1.Canvas.Rectangle(-1, -1, Image1.Width+1, Round(Image1.Height/2));
End;

Procedure TForm1.FormResize(Sender: TObject);
Begin
ReFreshSize;
End;

Procedure TForm1.Timer1Timer(Sender: TObject);
Begin
Image1.Left:=Round(oX+rr*Cos(ang/180*Pi)-Image1.Width/2);
Image1.Top:=Round(oY+rr*Sin(ang/180*Pi)-Image1.Height/2);
If ang=180 Then
      If rr<=-radius Then
            Begin
            rr:=radius;
            ang:=0;
            End
      Else
            rr:=rr-3
Else
      ang:=ang+2;
End;
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика в Делфи TCanvas Summerrain Помощь студентам 1 19.12.2008 02:39
Графика в Делфи! Управление обьектами с помощью клавиш sting Помощь студентам 8 14.12.2008 15:59
Графика в Делфи Killbrum Мультимедиа в Delphi 19 17.09.2008 22:29
Графика в Делфи, требуется помощь с задачей Natisha Помощь студентам 3 10.05.2008 00:25
написать модуль в Делфи для построения графика Анютик Общие вопросы Delphi 2 26.03.2008 03:04