Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » » Программирование
Философия, технологии, алгоритмы!

Закрытая тема
 
Опции темы
Старый 03.06.2009, 17:21   #1   
Moderator
 
Аватар для mexx
 
Сообщений: 2,261
Регистрация: 21.01.2004

mexx вне форума Не в сети
Алгоритм вращения тела по окружности

Прошу помощи в сабжа.
Есть тело, вращающееся по окружности вокруг какой-то точки. Знаем его начальные координаты, период вращения, радиус до центра вращения.
По событию ontimer в делфи необходимо вычислить следующую координату.
Вопрос как?

Хотелось бы поглядеть на алгоритм, на каком угодно языке программирования
 
Старый 03.06.2009, 18:00   #2   
Кэп Улитка
 
Аватар для Yandex
 
Сообщений: 8,067
Регистрация: 04.05.2005
Возраст: 44

Yandex вне форума Не в сети
mexx, все просто - как раз первый курс, аналитическая геометрия.
В кратце так:
Точка - это три координаты, вектор.
Для получения новых координат необходимо умножить матрицу поворота 3х3 на исходный вектор (результат перемножения матрицы на вектор - вектор). Т.е. задача найти коэффициенты матрицы. Как именно это делается - сейчас уже не вспомню.
Можешь посмотреть в файле с www.drkb.ru (там как минимум одна похожая тема - Rotate a 3D Point around another 3D Point)

Можно по тупому поступить - берем OpenGL 1шт и поворачиваем все там. Но это только если тебе отобразить надо.
 
Старый 03.06.2009, 18:12   #3   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
координаты точки будут x=cos(a), y=sin(a)
зная период и время легко вычислить градус, а = 2*пи*время/период


примерно так

Последний раз редактировалось xxx-men; 03.06.2009 в 18:33. Причина: написал бред, в школе я был умнее, чесное слово :)
 
Старый 03.06.2009, 18:21   #4   
Кэп Улитка
 
Аватар для Yandex
 
Сообщений: 8,067
Регистрация: 04.05.2005
Возраст: 44

Yandex вне форума Не в сети
xxx-men, Мне показалось что в 3D надо. В 2D то же самое, тока и вектор и матрица имеют размерность 2.
 
Старый 03.06.2009, 18:35   #5   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Yandex, ну ты прав, можно и так: гугл->матрица трансформации
 
Старый 03.06.2009, 18:40   #6   
Moderator
 
Аватар для mexx
 
Сообщений: 2,261
Регистрация: 21.01.2004

mexx вне форума Не в сети
xxx-men, но ведь синус и косинус лежат в пределах [-1;1]
как результат такой операции может быть координатой на канве?
ЗЫЖ лучше бы без матриц)
 
Старый 03.06.2009, 18:48   #7   
Форумец
 
Аватар для xxx-men
 
Сообщений: 1,149
Регистрация: 18.09.2006
Возраст: 40

xxx-men вне форума Не в сети
Цитата:
Сообщение от mexx Посмотреть сообщение
но ведь синус и косинус лежат в пределах [-1;1]
но если их умножить на стопицот то будет [-стопицот; стопицот]


Цитата:
Сообщение от mexx Посмотреть сообщение
может быть координатой на канве?
как из real сделать integer?
вы вообще "график функции" в школе строили?
 
Старый 03.06.2009, 18:53   #8   
Moderator
 
Аватар для mexx
 
Сообщений: 2,261
Регистрация: 21.01.2004

mexx вне форума Не в сети
xxx-men, смутно помню что-то...
ну ничего, разберусь
 
Старый 04.06.2009, 10:19   #9   
асинхроник
 
Аватар для AIM-9M
 
Сообщений: 976
Регистрация: 15.10.2004
Возраст: 40
Записей в дневнике: 3

AIM-9M вне форума Не в сети
Самый простой вариант- купить книгу, типа, "программирование комп. графики", там все это есть с примерами.
 
Старый 04.06.2009, 10:52   #10   
Кэп Улитка
 
Аватар для Yandex
 
Сообщений: 8,067
Регистрация: 04.05.2005
Возраст: 44

Yandex вне форума Не в сети
mexx, скачай уж справку с drkb.ru - там все есть с исходниками в разделе Математика -> Алгоритмы работы с графикой.
 
Старый 05.06.2009, 18:19   #11   
Форумец
 
Сообщений: 2,159
Регистрация: 15.01.2003

Akad вне форума Не в сети
Что бы поставили пятерку, лучше использовать кватернионы.
 
Старый 05.06.2009, 21:58   #12   
Moderator
 
Аватар для mexx
 
Сообщений: 2,261
Регистрация: 21.01.2004

mexx вне форума Не в сети
в проблеме разобрался. Топик закрыт
 
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind