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

alt text

Отталкиваясь от этих координат, я нахожу точку, которую мне как показалось, нужно найти:

alt text

Далее нахожу вектора:

alt text

Следующим шагом, я в уме рисую мнимую окружность. На деле её нет, но нарисовал для большей усвояемости:

alt text

Дальше становится сложнее. Если представить на секунду, что $% \vec{ca} $% и $% \vec{ba}$% это отрезки, то получается, что точки $%A$% и $%B$% остаются на своих координатах, отрезок $%AB$% сохраняет свою длину, а отрезок $%CA$% начинает увеличивать свою длину и тем самым, смещает координаты точки $%A$%.

alt text

Конечной целью значится, описать окружность при помощи только векторов не используя косинусы и синусы.

alt text

alt text

Это могло быть не выполнимым, но к счастью, плоскость разделена на положительную и отрицательную ось. И так же значения на осях от 0 до 180 и от -180 до 0.

alt text

Так подробно я обьяснил для того, чтобы Вам было более понятна задача. Но по сути, мне нужно найти координаты вектора $%\vec{ba}$%, зная, что его длина осталась неизменной и точки $%A,B$% остались на своих координатах. А вот длина и $%\vec{ca}$% увеличилась на определённое значение. И так же важно, что сделать это нужно, без косинусов и синусов. Так же, в примере, я изменял координаты точки $%C$%, так как мне показалось это необходимым, но это не обязательно. Просто мне показалось, если прибавляя значение к длине вектора $%\vec{ca}$% нужно прибавлять это же значение ( или его коэффициент ) к самим координатам точки $%C$%.

abs я не люблю)

задан 21 Ноя '13 14:37

изменен 22 Ноя '13 23:15

10|600 символов нужно символов осталось
0

Косинусов и синусов тут на самом деле не надо: достаточно всего лишь уравнения окружности. Оно имеет вид $%(x-x_0)^2+(y-y_0)^2=r^2$%, где $%(x_0;y_0)$% -- координаты центра, $%r$% -- радиус. В Вашем случае это всё известно: центр находится в точке $%B$%, а радиус равен расстоянию между $%A$% и $%B$%. Оно находится по известной формуле, где даже корень извлекать не надо, так как нам нужно здесь $%r^2$%, не само $%r$%.

Дальше всё просто: зная $%x$%, выражаем через него $%y$%. При этом придётся извлекать квадратный корень, беря его со знаком "плюс" или "минус" в зависимости от того, какая дуга окружности нам нужна -- верхняя или нижняя.

ссылка

отвечен 21 Ноя '13 15:02

@falcao: Спасибо! Скажите, а $%x$% и $%y$% , это координаты точки $%C$%? Точнее $%y$% мы ищем, а $%x$%, это координата точки $%C$%?

(21 Ноя '13 17:09) shatal

Да, $%(x;y)$% -- координаты произвольной точки окружности. Они связаны уравнением. Если $%x$% -- расположенная на оси $%OX$% точка с пятого по счёту рисунка, из которой исходит вверх жёлтый отрезок, то её ординату $%y$% можно вычислить из уравнения.

(21 Ноя '13 17:21) falcao

А Вы не подскажете, возможно ли как то, сделать тоже самое, но с извлечением корня, так же один раз, но в начале? Просто получается, что значения радиуса, до извлечения квадратного корня, равняется 32500. Если использовать его в расчетах, то получается, жуткое расхождение, так как, после извлечения корня, получается 180.2775637731994647. Вот если извлечь сначала корень, потом округлить, то всё хорошо.

(22 Ноя '13 16:37) shatal

Я не вполне понимаю Ваш вопрос. Дело в том, что в формуле вообще нигде не фигурирует $%r$% -- есть только $%r^2$%. Я так понял, это $%32500$%. Тогда $%y=y_0\pm\sqrt{32500-(x-x_0)^2}$%. При разных значениях $%x$% будут получаться разные выражения, и из них в каждом отдельном случае требуется извлекать корень. Я тут как бы не вижу альтернативы.

(22 Ноя '13 19:16) falcao

@falcao: Вы меня не понимаете потому, что Вы правы. Целый день сегодня и вчера у меня не получалось формулу реализовать в коде. Сейчас, уже от отчаяния ( от отчаяния говорю по тому, что на листочке у меня всё сходится, а в коде нет ) я принялся иллюстрировать то, что у меня не получается.. И даже в редакторе GG у меня опять всё получилось. Мне кажется, что ошибка в моей невнимательности и всё что мне остаётся, это искать её. Спасибо Вам ещё раз.

(22 Ноя '13 20:55) shatal

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

(22 Ноя '13 22:48) shatal

Думаю, что можно в этих случаях использовать функцию abs, то есть модуль. Если мы знаем, что $%x$% не равно нулю, то после деления на модуль получится знак числа (1 или -1). Возможно также, что знак нужен не сам по себе, а для последующего умножения на него, и тогда всё ещё проще: берём модуль самого числа.

(22 Ноя '13 23:10) falcao
показано 5 из 7 показать еще 2
10|600 символов нужно символов осталось
Ваш ответ

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

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

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

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

отмечен:

×184

задан
21 Ноя '13 14:37

показан
449 раз

обновлен
22 Ноя '13 23:15

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

по почте:

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

по RSS:

Ответы

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

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