Вопрос Найти координату неизвестной вершины прямоугольного треугольника в ксго

Пользователь
Статус
Оффлайн
Регистрация
20 Мар 2020
Сообщения
166
Реакции[?]
41
Поинты[?]
0
Вопрос в шапке. Надеюсь что найдётся добрый дядя который разжуёт мне моё говно и покормит с ложки.
Гдз математика 5 кла$$ виленкин:
/*
* g_ctx.globals.eye_pos - точка B
* center - точка A
* Угол A  = 90 градусов
* Нужно найти координаты C
*/
float_t adjacent_leg = g_ctx.globals.eye_pos.DistTo2D(center); // катет 1
float_t opposite_leg = bbox->radius * scale; // катет 2
float_t tangent = opposite_leg / adjacent_leg; // тангенс угла B
float_t point_yaw = RAD2DEG(atan(tangent)); // угол B
float_t point_distance = sqrt((adjacent_leg * adjacent_leg) + (opposite_leg * opposite_leg)); //гипотенуза
Посмотреть вложение 230299
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
26 Янв 2020
Сообщения
378
Реакции[?]
157
Поинты[?]
9K
К сожалению геометрией за 5 класс тут не обойтись. Придется использовать стереометрию, а именно теорию о векторах. Рассмотри катет BC как вектор, у которого известна длина и координата одной из его точки ( а именно точки B), и воспользуйся формулой: 1670138601177.png, где модуль A1A2 это длина вектора; x, y, z - координаты точек соответственно
 
Пользователь
Статус
Оффлайн
Регистрация
20 Мар 2020
Сообщения
166
Реакции[?]
41
Поинты[?]
0
К сожалению геометрией за 5 класс тут не обойтись. Придется использовать стереометрию, а именно теорию о векторах. Рассмотри катет BC как вектор, у которого известна длина и координата одной из его точки ( а именно точки B), и воспользуйся формулой: Посмотреть вложение 230443, где модуль A1A2 это длина вектора; x, y, z - координаты точек соответственно
Спасибо, но уже разобрался сам. Пришлось дочертить ещё 1 прямоугольный треугольник снизу чтобы его катеты были равны разницам координат известных точек по X,Y и параллельны соответствующим осям. Зная их длину я нашёл при помощи арк синуса угол(помечен одной полосой) и отнял от 90 сумму известных углов чтобы синус и косинус полученного угла умножить на гипотенузу и получить координаты точки относительно eye_pos(B). Остаётся просто сложить и получить правильные координаты поинта.
 

Вложения

Сверху Снизу