5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
|
|
1 | |
направление движения16.04.2013, 14:45. Показов 3730. Ответов 24
Метки нет (Все метки)
Подскажите пожалуйста.
Есть дуга: начальная точка дуги предположим 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
|
16.04.2013, 14:45 | |
Ответы с готовыми решениями:
24
Как поворачивать направление движения? (Java) Длина и направление вектора. Найти направление вектора Определить направление обхода многоугольника |
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
|
|
16.04.2013, 15:23 | 2 |
Не по теме: "О терминах не спорят, о них договариваются!"
0
|
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
|
|
16.04.2013, 15:38 [ТС] | 3 |
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 минуты А если по такой картинке, получается определитель второго порядка, составленный из скорости и конечной точки (разумеется, 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 |
На сколько я понял, Вы про это?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 |
Еще вариант но как это записать математически - логически чего то уже все голову сломал
0
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
17.04.2013, 11:50 | 12 |
Именно что. А записать - с помощью определителя второго порядка, первый столбец которого - вектор начальной скорости, а второй - вектор перемещения, как я выше и написал.
Нет же. Как он может не учитывать направление движения, если это первый столбец? Показывайте, почему не получается. Это правильный способ.
0
|
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
|
|
17.04.2013, 15:09 [ТС] | 13 |
0
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
17.04.2013, 15:17 | 14 |
Вы для этого случая считаете? Скорость: (-1, 0). Перемещение: (20, 20). Определитель:
Против часовой. Само по себе конечное положение не нужно: нужен вектор перемещения.
0
|
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
|
|
17.04.2013, 15:40 | 15 |
Вот то, что мне не давалось - Преобразование координат поворотом координатных осей!
Доворачиваем систему координат до вектора (на угол ) После этого пересчитываем координату конца дуги в новой системе (абсцисса неинтересна) Если меньше 0, то по часовой, если больше - против.
1
|
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 58
|
|
17.04.2013, 15:42 [ТС] | 16 |
Я этот случай для примера привел, случаев может быть очень много.
а если будит такая дуга? Начало передвижения (0,0) конечная точка (40,0), единичный вектор направления перемещения (0,1)
0
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
17.04.2013, 15:48 | 17 |
Это из пушки по воробьям. У вас простейшая задача: начальное положение и вектор скорости делят плоскость на две полуплоскости, и вопрос, в которой из них конечное положение. Определитель второго порядка, и больше ничего не нужно. Вот он в общем виде:
Если D > 0, поворот от первого вектора ко второму в положительном направлении, что соответствует движению против часовой стрелки. Если D < 0, поворот от первого вектора ко второму в отрицательном направлении, что соответствует движению по часовой стрелке. Добавлено через 1 минуту по часовой.
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 |
Поверьте человеку, который знает аналитическую геометрию. Определитель зануляется в единственном случае: когда вектор перемещения сонаправлен с вектором скорости. При движении по окружности это невозможно.
0
|
barbudo59
|
17.04.2013, 15:56
направление движения
#20
|
Не по теме: helter, про матрицы ничего не скажу, в свое время недопонял, к чему они :sorry:
0
|
17.04.2013, 15:56 | |
Получить направление отраженного луча Вычислить проекцию одного вектора на направление другого Какое научное направление бы выбрали вы Через случайное количество тактов движения изменять направление движения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |