Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 109, средняя оценка - 4.97
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
#1

Движение точки по окружности - C++

11.10.2012, 13:17. Просмотров 14343. Ответов 15
Метки нет (Все метки)

Подскажите, пожалуйста, формулу для расчета координат точки движущейся по окружности заданого радиуса.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1743 / 1086 / 71
Регистрация: 13.09.2011
Сообщений: 3,108
11.10.2012, 13:26     Движение точки по окружности #2
Тригонометрические функции в школе не проходили ещё что ли?
ValeryS
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,297
11.10.2012, 13:29     Движение точки по окружности #3
R^2=sin^2+cos^2
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
11.10.2012, 14:16  [ТС]     Движение точки по окружности #4
Уточню. Есть точка с начальными координатами (x0, y0). Есть окружность радиуса r. Можно задать угол движения a.
А теперь внимание. С помощью какой формулы узнать следующее положение точки, то есть координаты (x1, y1)?

Добавлено через 1 минуту
Цитата Сообщение от NoMasters Посмотреть сообщение
Тригонометрические функции в школе не проходили ещё что ли?
Спасибо за остроумие, но в решении реальной проблемы не помогло!
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12510 / 7072 / 794
Регистрация: 27.09.2012
Сообщений: 17,463
Записей в блоге: 2
Завершенные тесты: 1
11.10.2012, 14:18     Движение точки по окружности #5
x1 = x0 + r * cos a
y1 = y0 + r * sin a

a-угол
Thinker
Эксперт C++
 Аватар для Thinker
4218 / 2192 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 14:19     Движение точки по окружности #6
Цитата Сообщение от ValeryS Посмотреть сообщение
R^2=sin^2+cos^2
если немного подправить, то
http://www.cyberforum.ru/cgi-bin/latex.cgi?sin^2x+cos^2x = 1.
Движение по окружности задается формулой
x = x0 + R cos t,
y = y0 + R sin t,

t - время
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
11.10.2012, 14:20  [ТС]     Движение точки по окружности #7
Цитата Сообщение от Croessmah Посмотреть сообщение
x1 = x0 + r * cos a
y1 = y0 + r * sin a
Спасибо! Такую и пытаюсь использовать, только хочу уточнить, меняется ли угол на каждой итерации вычислений?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12510 / 7072 / 794
Регистрация: 27.09.2012
Сообщений: 17,463
Записей в блоге: 2
Завершенные тесты: 1
11.10.2012, 14:23     Движение точки по окружности #8
Цитата Сообщение от D.E.S.P.E.R.O. Посмотреть сообщение
Спасибо! Такую и пытаюсь использовать, только хочу уточнить, меняется ли угол на каждой итерации вычислений?
Если не ошибаюсь, то необходимо его менять.
Thinker
Эксперт C++
 Аватар для Thinker
4218 / 2192 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 14:24     Движение точки по окружности #9
в формуле t - параметр, только он и меняется в каждом шаге итерации
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
11.10.2012, 14:26  [ТС]     Движение точки по окружности #10
Croessmah, Thinker, спасибо большое! Ошибка была таки в том, что значение угла не менялось во времени.
Thinker
Эксперт C++
 Аватар для Thinker
4218 / 2192 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 14:28     Движение точки по окружности #11
Цитата Сообщение от D.E.S.P.E.R.O. Посмотреть сообщение
Ошибка была таки в том, что значение угла не менялось во времени.
в формуле нет углов, а время t от 0 до +бесконечности
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
11.10.2012, 14:35  [ТС]     Движение точки по окружности #12
Цитата Сообщение от Thinker Посмотреть сообщение
в формуле нет углов, а время t от 0 до +бесконечности
Таки да, очевидно и тут Вы правы. Просто во всех источниках, с которыми столкнулся все указывали, что этот параметр именно угол. Но мне главное, что точка полетела!
ValeryS
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,297
11.10.2012, 15:38     Движение точки по окружности #13
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Thinker Посмотреть сообщение
если немного подправить, то
так то да ,но я ж не готовую формулу привел а направления решения

Цитата Сообщение от Thinker Посмотреть сообщение
x = x0 + R cos t,
y = y0 + R sin t,
t - время
Цитата Сообщение от D.E.S.P.E.R.O. Посмотреть сообщение
Просто во всех источниках, с которыми столкнулся все указывали, что этот параметр именно угол.
все правильно указывали cos и sin берутся от угла а t это время
просто по правильному функции должны выглядеть так
x = x0 + R cos (t*a)
y = y0 + R sin (t*a)
где a это изменения угла во времени
например за 1 сек угол изменяется на 1 градус a=1
на 10 градусов a=10
грубо говоря это скорость полета
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
11.10.2012, 15:42  [ТС]     Движение точки по окружности #14
ValeryS, спасибо за доходчивое разъяснение. И еще одно, пришол к такому выводу, что на самом деле (x0, y0) в этой формуле - это координаты центра окружности. Прав ли я?
ValeryS
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,297
11.10.2012, 16:50     Движение точки по окружности #15
Цитата Сообщение от D.E.S.P.E.R.O. Посмотреть сообщение
что на самом деле (x0, y0) в этой формуле - это координаты центра окружности. Прав ли я?
да это центр
если тебе нужно смешение
начинаем с определенного угла a0 то
C
1
2
x = x0 + R* cos (t*a+a0)
 y = y0 + R *sin (t*a+a0)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2012, 17:09     Движение точки по окружности
Еще ссылки по теме:

Движение окружности по диагонали туда и обратно C++
C++ Проверить, лежат ли данные точки на одной окружности
C++ Найти точки пересечения гиперболы и окружности
Найти точки пересечения отрезка и окружности C++
Определить взаимное расположение точки и окружности C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12510 / 7072 / 794
Регистрация: 27.09.2012
Сообщений: 17,463
Записей в блоге: 2
Завершенные тесты: 1
11.10.2012, 17:09     Движение точки по окружности #16
Цитата Сообщение от D.E.S.P.E.R.O. Посмотреть сообщение
ValeryS, спасибо за доходчивое разъяснение. И еще одно, пришол к такому выводу, что на самом деле (x0, y0) в этой формуле - это координаты центра окружности. Прав ли я?
да, правы.
Yandex
Объявления
11.10.2012, 17:09     Движение точки по окружности
Ответ Создать тему
Опции темы

Текущее время: 17:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru