![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 10.05.2012
Сообщений: 5
|
![]()
есть код, нарисована звезда, нужно чтобы при нажатии клавиши вправо звезда повернулась на 90 градусов, влево обратно, и так бесконечно пока не нажмешь клавишу esc.
в общем нужно реализовать замену цветов в треугольниках или смену координат. помогите, очень надо. Код:
|
![]() |
![]() |
![]() |
#2 |
Регистрация: 10.05.2012
Сообщений: 5
|
![]()
up!
help please |
![]() |
![]() |
![]() |
#3 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
![]()
Взять 2 радиуса : R-кончики звезды и r-соединения между зубьями.Чтобы нарисовать круг, понадобится формула x=x0+r*cos(alpha*pi/180) y=y0+r*sin(alpha*pi/180), где x0,y0-коорднаты центра, alpha принимает значения от 0 до 360.Теперь если взять 0,90,180 и 270 ° для кончиков и 45,135,225 и 315 ° для соединений, то получим точки для 4-уголной звезды. То есть если подставить в приведённую формулу поочерёдно (R,0), (r,45), (R,90) и т.д. получим звезду. Ну а далее, чтобы её крутить, просто к alpha прибавляйте 90, умноженное на счетчик нажатий по клавишам. Нажали вправо, прибавили к счётчику 1, нажали влево, уменьшили на единицу.
Есть и другой способ, это матрица поворота. Только звезду надо строить так, стобы центр звезды проходил через начало координат и каждая кочка тогда будет выглядеть так: x`=x*cos(alhpa*pi/180)-y*sin(alhpa*pi/180)+x0; y`=x*sin(alhpa*pi/180)+y*cos(alhpa*pi/180)+y0; Возможно я тут где-то несвязно написал - голова болит м спать хочу. За этим и откланяюмь.
Если помог, проси поставить минус. Будь оригинален!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задача на замену | glebcherednik | Помощь студентам | 6 | 10.12.2011 23:31 |
Задача на замену символов | Walter Bishop | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 18.10.2011 18:16 |
Организовать замену в файле. | Leshii | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 14.09.2011 19:43 |
Как реализовать замену клеток | s3m | Microsoft Office Access | 9 | 18.11.2010 13:59 |
Условие на замену | pchakoff | Microsoft Office Access | 6 | 11.12.2009 23:01 |