С названием темы, как всегда, промашка. Когда в первые задавал вопрос на этом чудесном ресурсе, я не знал не про вектора не косинусы, но точно знал, что выучу. Прошло время, да и не время, а неделя - вторая и я приступил к плотному изучению. Многое одолел, но самое главное не как не могу. У меня при многих вопросах, в голове отсутствует картинка. Вбить её туда можно, но хотелось бы вместе с параллельным обучением и вот на конкретном примере я и спрошу - на плоскости есть две точки $%O$% центр окружности, точки $%A, B$% и известный отрезок - радиус $%OA$%. В начале они обозначены серым цветом, но точка $%B$% меняет свои координаты на произвольные ( то есть нет привязки к радиусу и прочему ). И мне нужно на разницу угла между $%B$% и $%B'$% переместить точку $%A$%. Что делаю я, нахожу длину отрезка $%OB$% и нахожу косинус и синус, затем проделываю точно самое с $%OB'$%. Потом нахожу разность косинусов и синусов и прибавляю её к углу отрезка $%OA$%, тем самым получая координаты точки $%A'$%. И вопрос - можно это сделать проще? alt text

задан 30 Янв '14 22:09

Такое ощущение, что я на этот раз понял Ваш вопрос. Позволю себе переформулировать, а Вы скажете, это ли имелось в виду. Заданы координаты точки O. Известны координаты точек B и B', где вторая получается из первой при помощи поворота вокруг O на некоторый угол. Также известны координаты точки A. Как, не зная значения угла, и не используя тригонометрических функций, узнать координаты точки A', которая получается из A при повороте на тот же угол?

Формулы для этого случая имеются, и там все операции чисто алгебраические. Если это то, что Вам надо, я могу их привести.

(31 Янв '14 3:56) falcao

@falcao: мне кажется, что Вы правильно описали происходящее. Точка $%B$% перемещается по плоскости, как ей это заблагорассудится. У неё нет привязки к радиусу или ещё чему-то. Её разность угла должна прибавляться к углу $%OA$% ( точку $%A$% ), которая удаленна на постоянный радиус. Получается, если точка $%B$% перемещается по часовой стрелки, то и координаты точки $%A'$% должны изменяться по часовой и наоборот. С помощью косинусов я это реализовал, где каждую итерацию приходится пересчитывать только угол ( кос - син ) $%OA$%. И повторюсь, Вы наверное правильно поняли.

(31 Янв '14 13:54) shatal
10|600 символов нужно символов осталось
1

Я хочу в начале сделать несколько замечаний по поводу понятий и определений. Всё, что связано с косинусами и синусами, удобнее всего трактовать в терминах понятия поворота. Здесь имеется чёткое и всегда соблюдаемое соглашение насчёт направления поворота. Если дана координатная плоскость, то положительным направлением считается такое, при котором положительный луч $%Ox$% переходит в положительный луч $%Oy$%. Поэтому, если где-то говорится о повороте на 20 градусов, то это поворот против часовой стрелки, а на -20 градусов -- против часовой стрелки. Это стандартное и "жёсткое" соглашение. Оно как бы принимается раз и навсегда, и можно не делать оговорок на сей счёт.

Теперь определение косинуса и синуса (нам его в таком виде давали в школе). Рассмотрим точку (1;0) как "основную". Применим к ней поворот на угол $%\varphi$%, где значение угла совершенно произвольно (например, -1000 градусов). Получится какая-то точка на единичной окружности. Её координаты однозначно зависят от значения угла поворота, то есть являются функциями от $%\varphi$%. Так вот, абсцисса рассматриваемой точки называется косинусом угла $%\varphi$%, а ордината -- синусом угла $%\varphi$%. Это "ключ" ко всей тригонометрии. Все факты извлекаются из этого основного соображения. Например, откуда мы знаем, что косинус 90 градусов равен 0, а синус равен 1? Именно отсюда: берём точку (1;0) из определения, поворачиваем её на 90 градусов относительно начала координат. Получаем точку (0;1), и "считываем" её координаты. Ровно так же поступаем со всеми углами типа 180, 60, 30, 120, -90 и т.п. градусов. Отсюда же выводятся всевозможные формулы приведения и прочее.

Теперь укажем формулы для поворота на произвольный угол $%\varphi$%. Нам надо знать, куда перейдёт при нём произвольная точка (x;y). Мы уже знаем, что $%(1;0)\mapsto(\cos\varphi;\sin\varphi)$% -- это в точности определение косинуса и синуса. Теперь надо найти, куда переходит точка (0;1). Нетрудно проверить, что она перейдёт в точку $%(-\sin\varphi;\cos\varphi)$%. И тогда точка $%(x,y)$%, равная $%x(1;0)+y(0;1)$%, перейдёт в точку, которая получается так: умножаем на $%x$% первый вектор, умножаем на $%y$% второй вектор, и складываем (покоординатно). Возникает такая формула: $$(x;y)\mapsto(x\cos\varphi-y\sin\varphi;x\sin\varphi+y\cos\varphi).$$

Теперь применим это к Вашему случаю. Для начала я помещу точку $%O$% в начало координат, так как все расчёты удобно вести именно так. В самом конце это будет учтено, и мы вернёмся в исходную систему. А пока я буду считать, что нам даны точки $%B$%, $%B'$% и $%A$% в координатном виде. Не меняя буквенных обозначений, я вычитаю координаты точки $%O$%, то есть $%(7;5)$%, из координат всех точек. Получается $%B(6;2)$%, $%B'(4.95;3.93)$%, $%A(-3;3)$%. Задача стоит такая: зная, что точка $%B'$% получается из $%B$% посредством поворота на некий угол, найти координаты точки $%A'$%, в которую переходит точка $%A$% при повороте на тот же самый угол.

Мы не знаем значения угла, и не знаем, чему равны его косинус и синус. Но они чему-то равны, и их значения можно обозначить через $%a$% и $%b$%. Точка $%(x;y)$% при повороте на этот угол будет переходить в точку $%(xa-yb;xb+ya)$%, согласно указанным выше формулам. Теперь первый шаг: зная, что $%B\mapsto B'$%, то есть $%(6;2)\mapsto(4.95;3.93)$%, находим значения $%a$% и $%b$%. Эти числа удовлетворяют следующей системе из двух линейных уравнений: $%6a-2b=4.95$%, $%2a+6b=3.93$%. (Здесь я везде ставлю $%a$% впереди $%b$% для удобства.)

Эта система решается либо методом исключения неизвестных, либо по готовым формулам (правило Крамера). Вычисления я опускаю, и привожу только ответ: $%a=0.939$%, $%b=0.342$%. Теперь по тем же самым формулам находим, куда переходит точка $%A$% с координатами $%x=-3$% и $%y=3$%. Получаются числа $%xa-yb=-3a-3b=-3.843$% и $%xb+ya=-3b+3a=1.791$%. Это и есть координаты точки $%A'$% в системе, началом которой является $%O$%. На самом последнем шаге мы к первой координате прибавляем 7, а ко второй прибавляем 5, и получается точка $%A'(3.157;6.791)$%. Это и есть то, что после отбрасывания третьей десятичной цифры указано у Вас на рисунке.

ссылка

отвечен 31 Янв '14 16:12

изменен 31 Янв '14 16:15

@falcao: если вчера я говорил, что картинки в голове нет, то сегодня, до Вашего ответа, она начала складываться. Начала потому, что сегодня я открыл для себя базисы и на их примере понял, что такое косинусы и синусы. И в нахождении я разглядел матричную систему поворота. И для меня просто подарком стал Ваш ответ, который стал контрольным для понимания поворотов. Сейчас у меня в голове жуткий переизбыток информации, на которые ещё и эмоции накладываются. По этому - Огромное Вам Спасибо! И пойду немного отдохну и потом буду читать и читать. Спасибо!

(31 Янв '14 18:19) shatal

Всё ещё читаю и не могу не сказать, что Ваш ответ просто восхитительный!!!

(31 Янв '14 18:24) shatal

@shatal: я рад, что мой ответ Вам понравился. Думаю, Вы тоже испытали некое облегчение, поняв, откуда что берётся. Информация эта довольно быстро должна "утрястись". Если всегда, везде и во всём исходить из определений, и выражаться на чётком и ясном языке, то это можно уподобить использованию "лицензионного" программного продукта. Если же этого не делать, используя "пиратское" ПО, непонятно где найденное, то система, как правило, начинает "глючить" :)

(31 Янв '14 18:36) falcao

@falcao: у меня ещё вот какой вопрос - а этот способ работает, если только точки $%B$% и $%B'$% удалены от точки $%O$% на равное расстояние?

(31 Янв '14 21:27) shatal

@shatal: по условию, точка B' получается из B при помощи поворота, поэтому равенство расстояний здесь неизбежно. Кроме того, это равенство расстояний является также достаточным условием, чтобы такой поворот существовал.

(31 Янв '14 21:45) falcao
10|600 символов нужно символов осталось
0

1) По координатам точек B и B' находим угол $$\beta= BOB'$$ : $$\beta=arccos \frac{OB^2+OB'^2-BB'^2}{2OB\times OB'}$$ или по координатам векторов находим$$\beta=arccos\frac{(\vec {OB},\vec {OB'})}{|\vec {OB}||\vec {OB'}|}$$ 2)Вектор OA поворачиваем с помощью матрицы поворота $$A=\begin{bmatrix}cos \beta & -sin \beta \\sin \beta & cos\beta \end{bmatrix}$$

ссылка

отвечен 30 Янв '14 22:39

изменен 30 Янв '14 23:28

10|600 символов нужно символов осталось
Ваш ответ

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

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

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

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

отмечен:

×87

задан
30 Янв '14 22:09

показан
1756 раз

обновлен
31 Янв '14 21:45

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

по почте:

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

по RSS:

Ответы

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

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