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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2013, 17:11   #1
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию Задача с анимацией

Надо нарисовать отрезок и чтоб он вращался вокруг 1 конца (как стрелка в часах)
x = 120 y = 20 => |a| = 80
мой алгоритм на основе формулы "Модуль вектора" - |a| = sqrt(x^2 + y^2) в которой выражаем y, и при рисовании следующей линии x+1 а y=sqrt(|a|^2 - x^2) , но проблема в том что для Draw.DrawLine(pen, 120, 100, x, y) нужны целые аргументы, мб у когонибуть есть еще идеи как рисовать ?
Heng вне форума Ответить с цитированием
Старый 28.09.2013, 17:35   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

всё вычисления выполняйте для вещественных чисел, а полученные результаты округляйте до целых, полученные числа и передавайте в процедуру.


p.s. странный у Вас алгоритм. обычно при поворотах объекта используют угол поворота, а координаты на оси X и Y вычисляют умножая длину линии на синус и косинус угла...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.09.2013, 19:29   #3
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

А если вращать не относительно начала координат а относительно центра с координатами например (120;100) ?? несилен в тригонометрии, никак не пойму сам процесс.
Heng вне форума Ответить с цитированием
Старый 28.09.2013, 20:15   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
x := x0 + r * cos(alpha);
y := y0 + r * sin(alpha);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 28.09.2013, 22:23   #5
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
x := x0 + r * cos(alpha);
y := y0 + r * sin(alpha);
Вот то, что мне нужно было ! Спасибо !
Heng вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с анимацией Terrance! Помощь студентам 0 26.05.2010 13:51
Проблема с анимацией Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 30 17.11.2009 20:57
Помогите с анимацией проги! Aboltus Общие вопросы Delphi 3 29.07.2008 23:21
Работа с анимацией в ACCESS kuk132 Microsoft Office Access 1 17.07.2008 14:07
Задача с анимацией KpeHDeJIb Помощь студентам 1 04.07.2008 20:23