Форум программистов, компьютерный форум, киберфорум
Геометрия
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
1

направление движения

16.04.2013, 14:45. Показов 3730. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста.

Есть дуга:
начальная точка дуги предположим x = 0.00000, y = 0.00000, z= 0.00000
конечная точка дуги x = 21.93860, y = -1.64254, z= 0.00000

есть даже единичный вектор направления движения 0.07466, 0.99721, 0.00000
Я пишу прогу, где надо определить, по часовой или против часовой происходит движение по дуге.

В принципе, я эту задачу решал через определитель матрицы 3х3

0.00000, 0.00000, 0.00000
21.93860, -1.64254, 0.00000
0 0 1

Все получается, если определитель с минусом до по часовой , ну и соответственно на оборот. Но у этого метода есть один недостаток, если начальная точка дуги все нули , как в примере, или конечная, то определитель равен 0.

Покажите, есть ли еще способ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2013, 14:45
Ответы с готовыми решениями:

Как поворачивать направление движения? (Java)
У меня есть движение по осям (X, Y, Z) за 1 такт, мне надо сделать так, что-бы вектор направления...

Длина и направление вектора.
Задание такое: найти длину и напр. вектора r = 2i - 4k. Как это сделать? Формула длины векторов не...

Найти направление вектора
У меня есть 2 точки А(1,2) и Б(3,4) и соответственно вектор АБ между ними. Предположим, что у меня...

Определить направление обхода многоугольника
Даны координаты точек многоугольника в порядке обхода. Как определить по часовой или против часовой...

24
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
16.04.2013, 15:23 2

Не по теме:

"О терминах не спорят, о них договариваются!"

Интересно, как определиться с направлением часовой стрелки в 3х-мерном пространстве? (общий случай)
0
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
16.04.2013, 15:38  [ТС] 3
Цитата Сообщение от barbudo59 Посмотреть сообщение

Не по теме:

"О терминах не спорят, о них договариваются!"

Интересно, как определиться с направлением часовой стрелки в 3х-мерном пространстве? (общий случай)
в плоскости XY относительно оси Z
0
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
16.04.2013, 16:05 4
Тогда при векторе 0.00000 0.00000 1.00000 получается "вырожденное" решение?
И для остальных, расположенных на "вертикально стоящей" плоскости...

А для Вашего случая - если конечная точка дуги находится ниже прямой, являющейся продолжением вектора, - по часовой, если выше - против.
0
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
16.04.2013, 16:36  [ТС] 5
barbudo59,
Что то я не совсем понял про что Вы.

Может я не правильно что то написал? Дуга по любому лежит на плоскости XY. То есть координата по Z начальной и конечной точки всегда одинаковы. Пример начальная точка (20,0,50) , конечная точка (40,20,50)

вектор направления движения в данном случаи будет -1 0 0.

вот из этих данных надо определить,в каком направлении происходит движение.
Я тут подумал, вариант с определителем матрицы не прокатил
.
0
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
16.04.2013, 16:50 6
Условие для 1-го случая я понял так
Миниатюры
направление движения  
0
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
16.04.2013, 21:51 7
Ничё не понял. Через две точки на плоскости проходит сто миллионов дуг. И что? Центр дан? И вообще, это о дугах окружностей речь?

Добавлено через 4 минуты
Цитата Сообщение от barbudo59 Посмотреть сообщение
Условие для 1-го случая я понял так
А если по такой картинке, получается определитель второго порядка, составленный из скорости и конечной точки (разумеется, xy-координат, третья-то ни при чём). Если больше нуля, получается против часовой стрелки, если меньше - по.
0
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
17.04.2013, 08:31  [ТС] 8
направление движения


вот мой случай

Дана окружность по которой проходит движение. Дана точка начала движения, и конечная точка движения окружности. Дан единичный вектор направления движения. Надо математически определить направление движения
0
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
17.04.2013, 08:44  [ТС] 9
Цитата Сообщение от helter Посмотреть сообщение
получается определитель второго порядка
На сколько я понял, Вы про это?http://sernam.ru/lect_math1.php?id=2

Я пробовал так, только два "но" :
1. Определитель показывает кратчайшее расстояние между двумя точками, и не учитывает вектор направления движения. В моем случаи он покажет не правильный результат.

2. Если начальная или конечная точка лежит в начале координат (Х 0 Y0) то определитель равен 0

Я уже пробовал так.
0
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
17.04.2013, 10:31 10
Сразу не могу сообразить, как это записать математически, ну а словами так:
Если конечная точка дуги окружности принадлежит полуплоскости справа от вектора, то по часовой, если полуплоскости слева, то против.
0
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
17.04.2013, 11:12  [ТС] 11
Цитата Сообщение от barbudo59 Посмотреть сообщение
Сразу не могу сообразить, как это записать математически, ну а словами так:
Если конечная точка дуги окружности принадлежит полуплоскости справа от вектора, то по часовой, если полуплоскости слева, то против.
Еще вариант но как это записать математически - логически чего то уже все голову сломал
0
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
17.04.2013, 11:50 12
Цитата Сообщение от barbudo59 Посмотреть сообщение
Сразу не могу сообразить, как это записать математически, ну а словами так:
Если конечная точка дуги окружности принадлежит полуплоскости справа от вектора, то по часовой, если полуплоскости слева, то против.
Именно что. А записать - с помощью определителя второго порядка, первый столбец которого - вектор начальной скорости, а второй - вектор перемещения, как я выше и написал.


Цитата Сообщение от Alllexx4 Посмотреть сообщение
Я пробовал так, только два "но" :
1. Определитель показывает кратчайшее расстояние между двумя точками, и не учитывает вектор направления движения. В моем случаи он покажет не правильный результат.
2. Если начальная или конечная точка лежит в начале координат (Х 0 Y0) то определитель равен 0
Нет же. Как он может не учитывать направление движения, если это первый столбец? Показывайте, почему не получается. Это правильный способ.
0
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
17.04.2013, 15:09  [ТС] 13
Цитата Сообщение от helter Посмотреть сообщение
Именно что. А записать - с помощью определителя второго порядка, первый столбец которого - вектор начальной скорости, а второй - вектор перемещения, как я выше и написал.
Вот так?

https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{pmatrix}-1 &0 \\  40&20 \end{pmatrix}=-20

я Вас правильно понял?

А если вариант , что конечная точка = (0,0)?
0
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
17.04.2013, 15:17 14
Цитата Сообщение от Alllexx4 Посмотреть сообщение
Может я не правильно что то написал? Дуга по любому лежит на плоскости XY. То есть координата по Z начальной и конечной точки всегда одинаковы. Пример начальная точка (20,0,50) , конечная точка (40,20,50)
вектор направления движения в данном случаи будет -1 0 0.
Вы для этого случая считаете? Скорость: (-1, 0). Перемещение: (20, 20). Определитель:
https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\begin{vmatrix}<br />
-1 & 20\\<br />
0 & 20<br />
\end{vmatrix} = -20 < 0<br />
Против часовой.

Само по себе конечное положение не нужно: нужен вектор перемещения.
0
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
17.04.2013, 15:40 15
Вот то, что мне не давалось - Преобразование координат поворотом координатных осей!
Доворачиваем систему координат до вектора (на угол https://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi = arccos({x}_{1}))
После этого пересчитываем координату https://www.cyberforum.ru/cgi-bin/latex.cgi?{y} конца дуги в новой системе (абсцисса неинтересна)
https://www.cyberforum.ru/cgi-bin/latex.cgi?{y}_{e}=-x sin\varphi +y cos\varphi
Если https://www.cyberforum.ru/cgi-bin/latex.cgi?{y}_{e} меньше 0, то по часовой, если больше - против.
1
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
17.04.2013, 15:42  [ТС] 16
Цитата Сообщение от helter Посмотреть сообщение
Вы для этого случая считаете?
Я этот случай для примера привел, случаев может быть очень много.

а если будит такая дуга? Начало передвижения (0,0) конечная точка (40,0), единичный вектор направления перемещения (0,1)
0
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
17.04.2013, 15:48 17
Это из пушки по воробьям. У вас простейшая задача: начальное положение и вектор скорости делят плоскость на две полуплоскости, и вопрос, в которой из них конечное положение. Определитель второго порядка, и больше ничего не нужно. Вот он в общем виде:
https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
D = \begin{vmatrix}<br />
v_x & x_2 - x_1 \\<br />
v_y & y_2 - y_1<br />
\end{vmatrix}<br />
Если D > 0, поворот от первого вектора ко второму в положительном направлении, что соответствует движению против часовой стрелки. Если D < 0, поворот от первого вектора ко второму в отрицательном направлении, что соответствует движению по часовой стрелке.

Добавлено через 1 минуту
Цитата Сообщение от Alllexx4 Посмотреть сообщение
Я этот случай для примера привел, случаев может быть очень много.
а если будит такая дуга? Начало передвижения (0,0) конечная точка (40,0), единичный вектор направления перемещения (0,1)
https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
D = \begin{vmatrix}<br />
0 & 40 - 0\\<br />
1 & 0 - 0<br />
\end{vmatrix} < 0,<br />
по часовой.
0
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
17.04.2013, 15:50 18
arccos(0)=пи/2; Уе=-40*1 <0 =>по часовой
1
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
17.04.2013, 15:50 19
Цитата Сообщение от Alllexx4 Посмотреть сообщение
Я этот случай для примера привел, случаев может быть очень много.
Поверьте человеку, который знает аналитическую геометрию. Определитель зануляется в единственном случае: когда вектор перемещения сонаправлен с вектором скорости. При движении по окружности это невозможно.
0
barbudo59
17.04.2013, 15:56     направление движения
  #20

Не по теме:

helter, про матрицы ничего не скажу, в свое время недопонял, к чему они :sorry:
Но совпадение результатов, полученных разными способами - "великий признак", как говорил Наполеон. :good:

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2013, 15:56

Получить направление отраженного луча
Есть луч и отрезок. Луч падает на отрезок. Нам известна точка начала луча, точки концов отрезка и...

Вычислить проекцию одного вектора на направление другого
Не догоняю как решать..:(

Какое научное направление бы выбрали вы
Мучаюсь с выбором, не помешал бы совет. Какое направление в математике выбрали бы вы 1. Теория ...

Через случайное количество тактов движения изменять направление движения
Помогите пожалуйста. Движение вдоль периметра экрана. Через случайное количество тактов движения...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru