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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2008, 19:44   #1
Roberto
Пользователь
 
Регистрация: 02.04.2008
Сообщений: 32
Вопрос Вращение креста

Подскажите пожалуйста как вращать крест, без разницы в каком направлении, в центре экрана, ну или хотя бы на форме для начала???
Roberto вне форума Ответить с цитированием
Старый 02.05.2008, 20:00   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Какой крест? Как и чем он нарисован?
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 02.05.2008, 20:23   #3
Roberto
Пользователь
 
Регистрация: 02.04.2008
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Карась Посмотреть сообщение
Какой крест? Как и чем он нарисован?
В виде плюсика наверно, в задании написано из двух отрезков линии. Значит рисуем программно 2 линии; к примеру, я думаю LineTo и MoveTo подойдут для этих целей. Вот не знаю только как это реализовать на Delphi
Roberto вне форума Ответить с цитированием
Старый 02.05.2008, 20:52   #4
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Для начала научимся вращать линию.
Надо задать начальную координату и конечную.
Если начинать с горизонтального положения то координаты моожно определить так:
x := R * cos(a * Pi/180);
y := R * sin(a * Pi/180);

Конечная координата линии будет находиться так:
x := R * cos((a + 180) * Pi/180);
y := R * sin((a + 180) * Pi/180);

Теперь у нас есть координаты начала и конца линии.

Привязываем пересчёт координат к таймеру, где увеличиваем угол a.
Таким образом линия будет вращаться.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 03.05.2008, 13:27   #5
Roberto
Пользователь
 
Регистрация: 02.04.2008
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Карась Посмотреть сообщение
Для начала научимся вращать линию.
Надо задать начальную координату и конечную.
Если начинать с горизонтального положения то координаты моожно определить так:
x := R * cos(a * Pi/180);
y := R * sin(a * Pi/180);

Конечная координата линии будет находиться так:
x := R * cos((a + 180) * Pi/180);
y := R * sin((a + 180) * Pi/180);

Теперь у нас есть координаты начала и конца линии.

Привязываем пересчёт координат к таймеру, где увеличиваем угол a.
Таким образом линия будет вращаться.
Супер!! Работает, спасибо!! Горизонтальную линию сделали, вертикальную я тоже сделал аналогично, все работает, вращается плюсик.. Щас проблема заключается в следующем, я то на форме это реализовал, сделал чтоб следы не оставались на форме, а моя задача сделать так чтоб не на форме, а на экране вращался и при том никаких следов не оставалось?? Помоги пожалуйста, а то я не знаю как сделать
Roberto вне форума Ответить с цитированием
Старый 03.05.2008, 14:07   #6
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Вызов процедуры - рисуем, повторный вызов с теми же координатами - стираем
Код:
procedure Lin(x1, y1, x2, y2: integer);
var dtc:tcanvas;
begin
  dtc:=tcanvas.create;
  dtc.handle:=getdc(hwnd_desktop);
  dtc.Pen.Mode:=pmXor;
  dtc.Pen.Color:=clred;
  dtc.moveto(x1,y1);
  dtc.lineto(x2,y2);
  releasedc(dtc.handle,hwnd_desktop);
  dtc.free;
end;

Последний раз редактировалось eoln; 03.05.2008 в 14:13. Причина: неточность
eoln вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вращение изображения beginner JavaScript, Ajax 5 07.07.2008 23:44
вращение текста ксона Помощь студентам 3 25.04.2008 10:40
Вращение 5-угольника на рабочем столе Ratte Помощь студентам 7 21.04.2008 18:41
Вращение 5-угольника..? Roberto Помощь студентам 4 17.04.2008 09:38
Вращение луны вокруг Земли [LOL] Помощь студентам 4 19.06.2007 21:14