![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый вечер друзья, Помогите написать прогу а то я в Програмировании 0. а препод требует её как можно скорее.
Задание: Нарисовать 6 угольник который при нажатии на кнопку увеличить будет увеличиваться а на уменьшить уменьшаться. ----------------------------------------- Маштобирование. ниже идет матрица Sx 0 0 0 Sy 0 0 0 1 ----------------------- ![]() Помогите пожалуйста! Последний раз редактировалось neox230, 27.04.2011 в 18:58. |
#2
|
||||
|
||||
![]() думаю, для масштабирования надо координаты каждой точки домножить на эту самую матрицу масштабирования (только не пойму зачем матрица 3х3 в плосоксти?..)
Перемножение матриц - в Wiki или в гугле алгоритм есть. Далее остается записать в массив(ы) координаты шести точек и соединять их линиями Код:
Canvas.MoveTo(x[0],y[0]); for i:=1 to 5 do Canvas.LineTo(x[i],y[i]); Canvas.LineTo(x[0],y[0]); по кнопкам масштабирования - домножать. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 28.04.2011 в 13:09. |
#3
|
|||
|
|||
![]() Спасибо Большое!!!!!!
|
#4
|
||||
|
||||
![]() Да, кстати. Лучше массивы делать типа real или extended, и при выводе округлять:
Код:
Canvas.LineTo(round(x[i]),round(y[i])); jmp $ ; Happy End! The Cake Is A Lie. |