PDA

Просмотр полной версии : [Вопрос] Тригонометрия:угол между двумя точками



Profyan
11.05.2015, 15:58
Здравствуйте. У меня возникла проблема с нахождением угла между двумя точками по оси Z.Т.к я учусь в 9 классе, то еще не проходил 3D пространство. И придумать ничего не смог.Попробовал с арктангенсом поиграться : ничего не получилось.Может быть у вас есть эта функция?Спасибо.

Daniel_Cortez
11.05.2015, 16:06
Не знаю, что вы имеете в виду под "углом по оси", но надеюсь, вам поможет этот пример:

http://pro-pawn.ru/showthread.php?12246

Profyan
11.05.2015, 16:20
Не знаю, что вы имеете в виду под "углом по оси", но надеюсь, вам поможет этот пример:

http://pro-pawn.ru/showthread.php?12246

Да, не так выразился.
Поясню:Допустим есть точка А(x,y,z) и есть B(x+5,y,z+5).Мне нужно найти угол между этими точками в пространстве.
Думаю рисунок поможет:
http://s7.hostingkartinok.com/uploads/thumbs/2015/05/8066273a94d25786618d264ff406b3e3.png (http://hostingkartinok.com/show-image.php?id=8066273a94d25786618d264ff406b3e3)
Только проблема еще в том, что у нас 3 оси, а не только х и z

Avertus
11.05.2015, 16:55
Угла между двумя точками не существует. Я так понимаю тебе нужен угол между прямой проходящей через две точки и плоскостью. Вот это и гугли. Думаю разберёшься. Большинство стереометрических(3D пространство...) сводятся к геометрическим (которые проходят в 9 классе)...

Profyan
11.05.2015, 17:07
Угла между двумя точками не существует. Я так понимаю тебе нужен угол между прямой проходящей через две точки и плоскостью. Вот это и гугли. Думаю разберёшься. Большинство стереометрических(3D пространство...) сводятся к геометрическим (которые проходят в 9 классе)...

Да, спасибо за определение, сейчас попробую поискать.

^_^
11.05.2015, 21:19
Даны точки A с координатами (x, y, z) и B с координатами (x', y', z').
Для того чтобы узнать указанный в рисунке угол (α) нужно сперва транспонировать одну точку на ту же координату Z, узнать расстояние между ними (получится картезианский план X-Y).
http://breedpmnr.ru/i/E8D6FF6
При помощи теоремы Пифагора узнаем расстояние между точками B' и B.
Оно равно: d = sqrt(sqr(x'-x) + sqr(y'-y)). На нашем рисунке длина сегмента [AB'], то есть |AB'| = d.
Также, можно легко узнать расстояние между точками B и B', |BB'| = z' - z;
Узнаем тангенсу, tan = |BB'|/d = (z' - z)/sqrt(sqr(x'-x) + sqr(y'-y)).
Угол α будет равен α = arctan(tan) = arctan((z' - z)/sqrt(sqr(x'-x) + sqr(y'-y))).
Согласно идентификаторам функций СА-МПа (чья документация как обычно отсутвует - а точнее документация функции atan), функция будет такова:

Float:alfa = atan((z1 - z)/sqrt(sqr(x1-x) + sqr(y1-y))); //где x, y, z - координаты первой точки, а x1, y1, z1 - координаты второй.

Profyan
12.05.2015, 05:07
Даны точки A с координатами (x, y, z) и B с координатами (x', y', z').
Для того чтобы узнать указанный в рисунке угол (α) нужно сперва транспонировать одну точку на ту же координату Z, узнать расстояние между ними (получится картезианский план X-Y).
http://breedpmnr.ru/i/E8D6FF6
При помощи теоремы Пифагора узнаем расстояние между точками B' и B.
Оно равно: d = sqrt(sqr(x'-x) + sqr(y'-y)). На нашем рисунке длина сегмента [AB'], то есть |AB'| = d.
Также, можно легко узнать расстояние между точками B и B', |BB'| = z' - z;
Узнаем тангенсу, tan = |BB'|/d = (z' - z)/sqrt(sqr(x'-x) + sqr(y'-y)).
Угол α будет равен α = arctan(tan) = arctan((z' - z)/sqrt(sqr(x'-x) + sqr(y'-y))).
Согласно идентификаторам функций СА-МПа (чья документация как обычно отсутвует - а точнее документация функции atan), функция будет такова:

Float:alfa = atan((z1 - z)/sqrt(sqr(x1-x) + sqr(y1-y))); //где x, y, z - координаты первой точки, а x1, y1, z1 - координаты второй.

Спасибо большое!!!:yahoo: