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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2008, 17:02   #1
Roberto
Пользователь
 
Регистрация: 02.04.2008
Сообщений: 32
По умолчанию Вращение 5-угольника..?

Как заставить вращаться без разницы в каком направлении 5-угольник, если я рисую его с помощью Polygon функции?? Заранее спасибо!
Roberto вне форума Ответить с цитированием
Старый 13.04.2008, 18:43   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Пересчитывать координаты его вершин в зависимости от угла поворота. Sin, Cos в помощь.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 16.04.2008, 21:44   #3
Roberto
Пользователь
 
Регистрация: 02.04.2008
Сообщений: 32
По умолчанию

У кого нибудь есть исходник этой задачки???????????????? Скинтье пожалуйста...
Roberto вне форума Ответить с цитированием
Старый 17.04.2008, 08:18   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Держи, я сегодня добрый:
Код:
//********* PROCEDURE**********
procedure draw(cx,cy,BeginAngle:real; n:integer);
var rx,ry,x,y,angle, rang, ang:real;i:integer;
 atp:array of TPoint;
begin

//cx:=form1.Width div 2;cy:=form1.Height div 2;
ang:=360/n;
angle:=(2*pi*ang)/360; rang:=angle;
SetLength(atp,n);
with form1 do begin
  //********* FOR ******************
  for  i:=0  to n  do
  begin
   //canvas.MoveTo(cx,cy);
   rx:=(cos(angle+BeginAngle));
   ry:=(sin(angle+BeginAngle));
   atp[i].X:=round(cx+100*(rx));
   atp[i].Y:=round(cy+100*(ry));
 //  canvas.LineTo(round(x),round(y));
 angle:=angle+rang;
   end;
  //******* END FOR ****************
  Canvas.Polygon(atp);
end;
//form1.Canvas.LineTo(100,100);
end;

//********* END PROCEDURE*******
Тебе остается добавить код вращения - изменения начального угла.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2008, 09:38   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
У кого нибудь есть исходник этой задачки???????????????? Скинтье пожалуйста...
Я давал аж два исходника, с разными фигурами, в этой ветке, уже с вращением. Ищи по словам вращение, вращение фигур, многоугольников. Тема с вложением, если захочешь найдешь.

з.ы. Раз ты здесь новичок, то я тебе нашел вот тема http://www.programmersforum.ru/showt...F9%E5%ED%E8%E5
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 17.04.2008 в 09:48.
mutabor вне форума Ответить с цитированием
Ответ


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



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