2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 11:51 
Заслуженный участник
Аватара пользователя


16/03/06
406
Moscow
Как, имея некий вектор в 3Д, проще всего получить перпендикулярный ему (произвольный из множества)?

Векторное умножение на любой орт не всегда возможно (так как вектор может быть коллинеарен этому орту).

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 12:51 
Заслуженный участник
Аватара пользователя


07/01/10
2015
Из скалярного произведения можно выразить.
Dims в сообщении #365208 писал(а):
(так как вектор может быть коллинеарен этому орту).

В этом случае можно в качестве результата взять другой орт.

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 13:03 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Я один раз для своих надобностей делал так (это может быть удобно или неудобно, смотря в каком виде у вас тот вектор изначально):
"некий" вектор - $(\cos\theta\cos\varphi,\cos\theta\sin\varphi,\sin\theta)$;
перпендикулярный - $(\sin\theta\cos\varphi,\sin\theta\sin\varphi,-\cos\theta)$;
ещё один, совсем :lol: перпендикулярный - $(-\sin\varphi,\cos\varphi,0)$.

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 13:15 
Заслуженный участник


27/04/09
28128
Можно так: если решить уравнение $\mathbf{a x} \equiv (a_1,\;a_2,\;a_3)(x_1,\;x_2,\;x_3) = 0$, получим:
Если $a_1 \ne 0$, $x_1 = - \frac{a_2}{a_1}x_2 - \frac{a_3}{a_1}x_3$ и $x_2,\;x_3$ — любые.
Если $a_1 = 0$, но $a_2 \ne 0$, $x_2 = - \frac{a_3}{a_2}x_3$, $x_1,\;x_3$ — любые.
Если только $a_3 \ne 0$, $x_3 = 0$ и остальные координаты любые.

Если я правильно решил.

О, caxap как раз предложил вот этот способ, через скалярное произведение.

-- Сб окт 23, 2010 16:18:14 --

Реализация должна быть достаточно быстрой!

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 15:57 
Заблокирован


19/09/08

754
Берем вектор (e,e,pi)x(a,b,c). Он будет перпендикулярен вектору (а,b,с)

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 21:04 
Заслуженный участник
Аватара пользователя


16/03/06
406
Moscow
vvvv в сообщении #365295 писал(а):
Берем вектор (e,e,pi)x(a,b,c). Он будет перпендикулярен вектору (а,b,с)

А если (abc) как раз и равно (eepi)?

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 21:13 
Заслуженный участник


27/04/09
28128
Ну так можно взять ко всем координатам добавить, например, 1, и на полученный вектор умножать. :roll:

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 21:15 
Заслуженный участник


11/05/08
32166
Dims в сообщении #365416 писал(а):
vvvv в сообщении #365295 писал(а):
Берем вектор (e,e,pi)x(a,b,c). Он будет перпендикулярен вектору (а,b,с)

А если (abc) как раз и равно (eepi)?

А между прочим, это была достаточно разумная рекомендация. Для наугад заданного исходного вектора вероятность того, что векторное произведение окажется равным нулю -- нулю и равна. А если исходный вектор имел ещё и рациональные координаты -- так страшно даже подумать, что выйдет.

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 22:17 
Заслуженный участник
Аватара пользователя


11/04/08
2748
Физтех
Dims в сообщении #365208 писал(а):
Как, имея некий вектор в 3Д, проще всего получить перпендикулярный ему (произвольный из множества)?


Вот есть вектор: $\[a = \left( {{a_1},{a_2},{a_3}} \right)\]$. Ему, очевидно, перпендикулярен $\[b = \left( {0,{a_3}, - {a_2}} \right)\]
$. А еще $\[c = \left( {{a_2}, - {a_1},0} \right)\]$.

Никаких синусов, углов и случаев. По-моему -- проще некуда...

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 22:22 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Кроме того, что Ваши векторы могут оказаться целиком нулевыми, ога.
От проблемы исключительных случаев не уйти. Думаю, это имеет что-то делать с задачей о причесании ёжика.

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение23.10.2010, 22:23 
Заслуженный участник
Аватара пользователя


11/04/08
2748
Физтех
А, вон оно что. Ну ладно. Хотя, формально, на вопрос ответил :-)

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение24.10.2010, 12:56 


29/09/06
4552
Предыдущее обсуждение.

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение24.10.2010, 20:44 
Заблокирован


19/09/08

754
Dims в сообщении #365416 писал(а):
vvvv в сообщении #365295 писал(а):
Берем вектор (e,e,pi)x(a,b,c). Он будет перпендикулярен вектору (а,b,с)

А если (abc) как раз и равно (eepi)?

Имелось ввиду, что один вектор имеет трансцендентные координаты, а другой алгебраические -в этом случае ини не могут быть параллельны.

 Профиль  
                  
 
 Re: Построить перпендикуляр к произвольному вектору в 3D
Сообщение26.10.2010, 22:33 
Заслуженный участник
Аватара пользователя


16/03/06
406
Moscow
Спасибо!
Ну мне, конечно, пришлось рассмотреть случаи, одним ходом не вышло.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group