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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2010, 14:54   #1
>>arty<<
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 78
Вопрос Вращающийся отрезок - работа с графикой

Здравствуйте, помогите с заданием, никогда не работал с графикой и свойствами подобных объектов...
Помогите кто чем может и пожалуйста объясните на будущее, может у кого подобное задание встречалось? Тогда выложите исходник желательно с комментариями, заранее благодарен!
Вот задание:

Изобразить на экране отрезок, вращающийся в плоскости экрана вокруг:

своей середины;

своего конца;

случайно выбранной точки на отрезке.

Предоставить пользователю возможность изменять скорость, направление вращения, длину, толщину и цвет отрезка.
>>arty<< вне форума Ответить с цитированием
Старый 20.06.2010, 15:56   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Это не "объект"... Это задание скорее на тригонометрию...
Координаты, углы, синусы/косинусы...

И на каком языке нужно-то?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 20.06.2010, 16:05   #3
>>arty<<
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 78
Сообщение

на языке Delphi
>>arty<< вне форума Ответить с цитированием
Старый 20.06.2010, 23:15   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

помочь чем? написать за Вас? Так это можно, но это другая тема (это фриланс. отписался Вам в личку).

А по сути. кидайте таймер на форму. на таймере такой код вращения:
Код:
Пусть имеется центр,
 Center : TPoint;
 это центр, вокруг которого мы будем поворачивать отрезок.

 И пусть этот центр делит отрезок на две части,
    с длинами r1 и r2

 (т.е. если центр вращения находится ровно на середине отрезка,
   то r1 = r2 = половине длины отрезка

  если центр находится на конце отрезка, тогда 
    r1 = 0, r2 = длине отрезка)


  А вот собственно код на onTimer

       {стираем старый отрезок}
       x1 := Center.X - round(r1 * cos(Angle * pi / 180));
       y1 := Center.Y - round(r1 * sin(Angle * pi / 180));
       x2 := Center.X + round(r2 * cos(Angle * pi / 180));
       y2 := Center.Y + round(r2 * sin(Angle * pi / 180));

       Image1.Canvas.Pen.Color := clWhite;
       Image1.Canvas.MoveTo( x1, y1);
       Image1.Canvas.LineTo( x2, y2);

       {увеличиваем угол, на который повернут отрезок
         на величину повотора}
       Angle := Angle + DeltaAngle;

       {расчитываем новые координаты}
       x1 := Center.X - round(r1 * cos(Angle * pi / 180));
       y1 := Center.Y - round(r1 * sin(Angle * pi / 180));
       x2 := Center.X + round(r2 * cos(Angle * pi / 180));
       y2 := Center.Y + round(r2 * sin(Angle * pi / 180));

       {выводим отрезок}
       Image1.Canvas.Pen.Color := Color;
       Image1.Canvas.MoveTo( x1, y1);
       Image1.Canvas.LineTo( x2, y2);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.06.2010, 10:03   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Для раздумий:
http://www.programmersforum.ru/showthread.php?p=308568
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.06.2010, 16:24   #6
>>arty<<
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 78
По умолчанию

Всем большое спасибо
>>arty<< вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с графикой в С# Ksanfur Помощь студентам 1 16.04.2010 23:39
Работа с графикой! Gladiator Фриланс 6 10.03.2010 18:47
работа с графикой aiktz Помощь студентам 0 08.12.2009 17:51
Работа с графикой EdNovice Общие вопросы .NET 0 11.03.2009 11:09
Работа с графикой kminas Общие вопросы Delphi 5 21.11.2008 00:02