Здравствуйте! Прочитал в одной статье, что можно делать проекцию вектора на вектор без нормирования. Нормирование это хорошо и очень удобно, но отпугивает от него операция с извлечением квадратного корня для нахождения длины. И вот значит в этой статье приведена формула проекции $% \vec{a} $% на $% \vec{b} $% : $$\frac{\vec{a} \cdot \vec{b}}{\vec{b} \cdot \vec{b}}\vec{b}$$ Так как я трудный, но хочу по настоящему научится работе с векторами, то я начну с самого начала и буду надеяться на Ваше терпение и помощь. Для начала хочу учесть Ваши замечания по поводу "неправильности" предыдущих вычислений проекции вектора на вектор, по этому с неё и начну: Дано три точки $% A,B,C $% по которым я нахожу два вектора $$a(C_x-A_x,C_y-A_y)$$ $$b(B_x-A_x,B_y-A_y)$$ И теперь я хочу сделать проекцию $%\vec{a} $% на $%\vec{b} $% и для этого, как Вы сказали, я нормирую только вектор, на который собираюсь проецировать, у меня это вектор $%\vec{b} $% . $$norm=\vec{b}\left( 1/\sqrt{b_x^{2}+b_y^{2}}\right)$$ Теперь я ищу произведение скаляров $$ratio=a_{x}\cdot norm_{x}+a_{y}\cdot norm_{y}$$ И нахожу вектор проекцию $%\vec{projection} $% $$\vec{projection}=\vec{b}\cdot ratio $$ А теперь нахожу точку $% D $% $$D=\vec{projection}+ A$$ Исправил, ( жутко неправильно понял Ваши слова ). Если так правильно, тогда сейчас продолжу дальше..

alt text

Спасибо Вам огромно! Получилось! Но я все равно закончу тему, так как свои темы сохраняю, как памятку. Спасибо! Альтернативное нахождение: $$\frac{\vec{a} \cdot \vec{b}}{\vec{b} \cdot \vec{b}}\vec{b}$$ $$a(C_x-A_x,C_y-A_y)$$ $$b(B_x-A_x,B_y-A_y)$$ $$ratio=\frac{a_xb_x+a_yb_y}{b_x^2+b_y^2}$$ $$\vec{projection} =\vec{b}\cdot ratio$$ $$D=\vec{projection}+ A$$alt text

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

$$ ac(C_x-A_x,C_y-A_y),bc(C_x-B_x,C_y-B_y) $$ $$ norm_0=\vec{ac} \left( \frac{1}{\sqrt{ac_x^2+ac_y^2}} \right) $$ $$ norm_1=\vec{bc} \left( \frac{1}{\sqrt{bc_x^2+bc_y^2}} \right) $$ $$ bisector=\vec{norm_0} + \vec{norm_1} $$ $$ratio=\frac{radius}{bisector_x\cdot norm_0y-bisector_y\cdot norm_0x}$$ $$ \vec{bisector}\cdot ratio $$ $$ intsentr=A+ \vec{bisector} $$ И мне не понятно, можно сделать тоже самое, по примеру этой темы? То есть без нормирования и модулей? Я пытаюсь, но у меня чувство, что так либо вообще нельзя, либо от меня ускользает последовательность. Если можно, Вы просто ответьте, что да или нет. А я другую тему создам.

Добавил в комментариях.

задан 22 Сен '13 16:29

изменен 25 Сен '13 15:59

Я как следует не вчитывался, потому что формул и обозначений очень много. Но в конце видно, что на коэффициент $%n$% умножается не то, что нужно. Роль вектора $%b$% из основной формулы здесь играет вектор с координатами $%(ac_x,ac_y)$% из знаменателя; число $%n$% на его координаты должно умножаться.

(24 Сен '13 2:05) falcao

У Вас пока что число $%n$% умножается не на координаты, которые я назвал. Судя по всему, должно быть $%ac_x\cdot n$%, а потом уже сложение с $%A_x$%. Сравните с формулой из предыдущего способа. Я подозреваю, что $%ratio$% -- это то же, что и $%n$%.

(24 Сен '13 3:07) falcao

@shatal, Вы приводите два способа вычислений... но вычисляете разные вещи...

1) Как я уже писал в ответе, при нахождении проекции нормируется только вектор, на который проецируют...

2) выражение $%ratio$% в том виде, как написано - бессмысленно для этой задачи... там должно стоять скалярное произведение ненормированного вектора который проецируете (у Вас это $%\vec{ab}$%), и нормированного вектора на который проецируете (здесь это $%ac$%)...

(24 Сен '13 3:24) all_exist

@shatal: у меня есть одно мелкое замечание по части обозначений. Вот, допустим, у нас есть точка с какими-то координатами. Часто прибегают к записи типа $%P(3;-1)$%, давая этим понять, что $%P$% есть имя соответствующей точки координатной плоскости. То же делают с векторами -- например, можно написать $%b(b_x,b_y)$%, смысл чего подразумевает введение обозначений для абсциссы и ординаты вектора $%b$%. Однако, при умножении вектора $%b$% на скаляр $%n$% получится вектор $%nb$%, поэтому писать $%b(b_xn,b_yn)$%, как это у Вас сделано, уже нельзя.

(24 Сен '13 9:01) falcao

@shatal, Странное у Вас $%ratio$% получилось... Что-то Вы совсем не то написали, что продекларировали...

Должно быть $%ratio=a_{x}\cdot norm_{x}+a_{y}\cdot norm_{y}$%...

(24 Сен '13 14:51) all_exist

@shatal, когда Вы вносите дополнения в топик, то хоть комментарий информационный вставляйте (его потом можно будет удалить)... а то получается, что "Мороз-воевода дозором Обходит владенья свои."(с)

Что касается решения исходной задачи без нормировки, то про это я написал в ответе... а сделать так, чтобы не стояли модули в первой степени (то есть не вычислять корни) - скорее всего никак...

(24 Сен '13 22:39) all_exist

@all_exist: Спасибо Вам! Я Вашим словам следовал - добавлять в конце вопроса, а то как я помню, в комментариях, что то заканчивается :) Спасибо! Но теперь и это пожелание учту!

(25 Сен '13 1:12) shatal

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

(25 Сен '13 15:58) shatal

@shatal, а укоротить при таком подходе вектор можно? - Ну, я не понял какой вектор Вы имеете ввиду... и что значит при таком подходе?...

Укоротить - в моём понимании это уменьшить длину при сохранении направления... для этого есть операция умножение на число, где число берётся из интервала от 0 до 1...

(25 Сен '13 21:04) all_exist
показано 5 из 9 показать еще 4
10|600 символов нужно символов осталось
0

Формально нормирование в приведённой Вами формуле есть, поскольку $%\vec{b}\cdot\vec{b}=|\vec{b}|^2$%... то есть формулу проекции можно переписать как $$\vec{a}_b=\left(\vec{a}\cdot\vec{b_0}\right)\;\vec{b_0}, \quad\text{где}\quad \vec{b_0}=\frac{\vec{b_0}}{|\vec{b_0}|}$$

Что касается упрощения Вашей формулы, то можно переписать формулы в терминах ненормированных векторов... Например, в знаменателе стоит векторное произведение векторов $%bisector_x\cdot norm_{0x}−bisector_y\cdot norm_{0x}$%, которое равно $%norm_{1x}\cdot norm_{0x}−norm_{1y}\cdot norm_{0y}$% (всё забываю сказать, что у этого произведения в формуле должен стоять модуль)... затем вспоминаем, что векторы $%\vec{norm_k}$% получены нормировкой векторов $%\vec{CA}=\vec{m_A}$% и $%\vec{CB}=\vec{m_B}$%... итого, формула перепишется в виде $$bisertorRatio=\frac{r\cdot|\vec{m_A}|\cdot|\vec{m_B}|}{|m_{Ax}\cdot m_{Bx}−m_{A1y}\cdot m_{By}|}$$

Ну, как-то так... может можно придумать и другие упрощения...

ссылка

отвечен 22 Сен '13 17:26

изменен 22 Сен '13 17:29

@shatal: число, которое у Вас обозначено через $%n$%, умножается именно на сам вектор $%b$%, согласно формуле. Трактовка здесь однозначная: как бы сложно ни выглядела дробь, её значение есть число, и оно умножается на $%b$%, как там и написано. Если у Вас разными методами получаются разные результаты, и Вы сами не можете найти ошибку, то приведите оба способа здесь, и Вам подскажут, что именно неправильно.

(24 Сен '13 1:10) falcao
10|600 символов нужно символов осталось
Ваш ответ

Если вы не нашли ответ, задайте вопрос.

Здравствуйте

Математика - это совместно редактируемый форум вопросов и ответов для начинающих и опытных математиков, с особенным акцентом на компьютерные науки.

Присоединяйтесь!

отмечен:

×184
×48

задан
22 Сен '13 16:29

показан
1213 раз

обновлен
25 Сен '13 21:04

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru